数据集:西瓜数据集3.0
遇到问题:
色泽、根蒂等属性不是continuous values,在训练决策树模型时无法直接使用。
解决办法:
参考sklearn官方文档
1.导入数据
import pandas as pd
data = pd.read_csv(data_path, index_col=0)
data = pd.DataFrame(data)
1.OrdinalEncoder()对色泽到触感的属性进行处理
from sklearn import preprocessing
X1 = data.iloc[:,0:6].values # 取出前6个catagorical类型的属性
le = preprocessing.OrdinalEncoder()
le.fit(X1) #给出具体的属性取值,训练标签
X1 = le.transform(X1)# 用训练好的标签对所有属性值重新标注
X = np.hstack((X1,data.iloc[:,6:-1])) #与7、8两列的连续属性值重新合并,完成特征的处理过程
2.LabelEncoder()对“是”“否”的标签进行处理
Y = data.iloc[:,-1].values # 标签
le = preprocessing.LabelEncoder()
le.fit(Y)
Y = le.transform(Y)
print(Y)
3.查看处理后的数据集
Y = np.reshape(Y,(17,1))
print(np.hstack((X,Y))