-
Notifications
You must be signed in to change notification settings - Fork 0
/
data.py
81 lines (73 loc) · 4.03 KB
/
data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import numpy as np
class Dataset:
def __init__(self, data, target, feature_names, target_names) -> None:
self.data = data
self.target = target
self.feature_names = feature_names
self.target_names = target_names
def load_watermelon2(return_X_y=False):
'''
仿sklearn的数据加载接口,《机器学习》P76 表4.1的西瓜数据集2.0
Parameter
---------
return_X_y:如果为True,则只返回X和y,否则默认返回带有特征和标签信息的字典
'''
data = [
["青绿", "蜷缩", "浊响", "清晰", "凹陷", "硬滑"],
["乌黑", "蜷缩", "沉闷", "清晰", "凹陷", "硬滑"],
["乌黑", "蜷缩", "浊响", "清晰", "凹陷", "硬滑"],
["青绿", "蜷缩", "沉闷", "清晰", "凹陷", "硬滑"],
["浅白", "蜷缩", "浊响", "清晰", "凹陷", "硬滑"],
["青绿", "稍蜷", "浊响", "清晰", "稍凹", "软黏"],
["乌黑", "稍蜷", "浊响", "稍糊", "稍凹", "软黏"],
["乌黑", "稍蜷", "浊响", "清晰", "稍凹", "硬滑"],
["乌黑", "稍蜷", "沉闷", "稍糊", "稍凹", "硬滑"],
["青绿", "硬挺", "清脆", "清晰", "平坦", "软黏"],
["浅白", "硬挺", "清脆", "模糊", "平坦", "硬滑"],
["浅白", "蜷缩", "浊响", "模糊", "平坦", "软黏"],
["青绿", "稍蜷", "浊响", "稍糊", "凹陷", "硬滑"],
["浅白", "稍蜷", "沉闷", "稍糊", "凹陷", "硬滑"],
["乌黑", "稍蜷", "浊响", "清晰", "稍凹", "软黏"],
["浅白", "蜷缩", "浊响", "模糊", "平坦", "硬滑"],
["青绿", "蜷缩", "沉闷", "稍糊", "稍凹", "硬滑"],
]
target = np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0])
feature_names = ["色泽", "根蒂", "敲声", "纹理", "脐部", "触感"]
target_names = ["坏瓜", "好瓜"]
if return_X_y:
return data, target
else:
return Dataset(data, target, feature_names, target_names)
def load_watermelon3(return_X_y=False):
'''
仿sklearn的数据加载接口,《机器学习》P84 表4.1的西瓜数据集3.0
Parameter
---------
return_X_y:如果为True,则只返回X和y,否则默认返回带有特征和标签信息的字典
'''
data = [
["青绿", "蜷缩", "浊响", "清晰", "凹陷", "硬滑", 0.697, 0.460],
["乌黑", "蜷缩", "沉闷", "清晰", "凹陷", "硬滑", 0.774, 0.376],
["乌黑", "蜷缩", "浊响", "清晰", "凹陷", "硬滑", 0.634, 0.264],
["青绿", "蜷缩", "沉闷", "清晰", "凹陷", "硬滑", 0.608, 0.318],
["浅白", "蜷缩", "浊响", "清晰", "凹陷", "硬滑", 0.556, 0.215],
["青绿", "稍蜷", "浊响", "清晰", "稍凹", "软黏", 0.403, 0.237],
["乌黑", "稍蜷", "浊响", "稍糊", "稍凹", "软黏", 0.481, 0.149],
["乌黑", "稍蜷", "浊响", "清晰", "稍凹", "硬滑", 0.437, 0.211],
["乌黑", "稍蜷", "沉闷", "稍糊", "稍凹", "硬滑", 0.666, 0.091],
["青绿", "硬挺", "清脆", "清晰", "平坦", "软黏", 0.243, 0.267],
["浅白", "硬挺", "清脆", "模糊", "平坦", "硬滑", 0.245, 0.057],
["浅白", "蜷缩", "浊响", "模糊", "平坦", "软黏", 0.343, 0.099],
["青绿", "稍蜷", "浊响", "稍糊", "凹陷", "硬滑", 0.639, 0.161],
["浅白", "稍蜷", "沉闷", "稍糊", "凹陷", "硬滑", 0.657, 0.198],
["乌黑", "稍蜷", "浊响", "清晰", "稍凹", "软黏", 0.360, 0.370],
["浅白", "蜷缩", "浊响", "模糊", "平坦", "硬滑", 0.593, 0.042],
["青绿", "蜷缩", "沉闷", "稍糊", "稍凹", "硬滑", 0.719, 0.103],
]
target = np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0])
feature_names = ["色泽", "根蒂", "敲声", "纹理", "脐部", "触感", "密度", "含糖率"]
target_names = ["坏瓜", "好瓜"]
if return_X_y:
return data, target
else:
return Dataset(data, target, feature_names, target_names)