数据集:西瓜数据集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))



