1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 机器学习:决策树算法案例(西瓜数据集3.0)

机器学习:决策树算法案例(西瓜数据集3.0)

时间:2022-06-22 04:33:34

相关推荐

机器学习:决策树算法案例(西瓜数据集3.0)

python代码如下

from sklearn.feature_extraction import DictVectorizerfrom sklearn import treefrom sklearn import preprocessingimport csvimport graphvizDtree = open('西瓜数据集3.0.csv', 'r')reader = csv.reader(Dtree)"""色泽 1-3代表 浅白 青绿 乌黑 根蒂 1-3代表 稍蜷 蜷缩 硬挺 敲声 1-3代表 清脆 浊响 沉闷 纹理 1-3代表 清晰 稍糊 模糊 脐部 1-3代表 平坦 稍凹 凹陷 触感 1-2代表 硬滑 软粘好瓜 1代表 是 0 代表 不是"""# 获取第一行数据headers = reader.__next__()print(headers)# 特征和标签列表featureList = []labelList = []for row in reader:labelList.append(row[-1])rowDict = {}for i in range(1, len(row)-3):rowDict[headers[i]] = row[i]featureList.append(rowDict)print(featureList)# 将特征列表转换为01表示vec = DictVectorizer()x_data = vec.fit_transform(featureList).toarray()print("x_data: " + str(x_data))# 将标签列表转换为01表示lb = preprocessing.LabelBinarizer()y_data = lb.fit_transform(labelList)print("y_data: " + str(y_data))# 创建决策树模型model = tree.DecisionTreeClassifier(criterion='entropy')# 输入数据建立模型model.fit(x_data, y_data)# 测试x_test = x_data[0]predict = model.predict(x_test.reshape(1,-1))print("predict: " + str(predict))# 导出决策树dot_data = tree.export_graphviz(model,out_file=None,feature_names=vec.get_feature_names(),class_names=lb.classes_,filled=True,rounded=True,special_characters=True)graph = graphviz.Source(dot_data)graph.render('Tree')

西瓜数据集3.0数据如下

结果PDF如下:

随后可以进行预剪枝和后剪枝来使结构变得更加清晰简单。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。