【机器学习实战】使用sklearn中的决策树对红酒数据集进行分类(Jupyter)

本文通过使用sklearn库中的决策树算法对红酒数据集进行分类,介绍了从数据获取到模型训练的整体流程,并展示了如何评估模型性能及可视化决策树。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. sklearn中的决策树

在这里插入图片描述

2. sklearn基本建模流程

在这里插入图片描述

3.决策树的基本流程

在这里插入图片描述

4.代码实现
4.1 数据集 —— 红酒
  1. 特征值(前13列)
  2. 目标值(3类)
    在这里插入图片描述
    在这里插入图片描述
4.2 代码及结果
4.2.1 预测部分
# 获取数据集
wine = load_wine()
# 划分数据集
x_train, x_test, y_train, y_test = train_test_split(wine.data, wine.target, test_size=0.3)
# 建模
clf = tree.DecisionTreeClassifier(criterion='entropy',random_state=30)
clf = clf.fit(x_train, y_train)
score = clf.score(x_test, y_test) # 分类的精确度
print(score)

结果:
在这里插入图片描述

4.2.2 绘制分类树
# 绘制树
feature_name = ['酒精','苹果酸','灰','灰的碱性','镁','总酚','类黄酮','非黄烷类酚类','花青素','颜色强度','色调','od280/od315稀释葡萄酒','脯氨酸']
class_name = ["琴酒","雪莉","贝尔摩德"]
dot_data = tree.export_graphviz(clf
                               ,feature_names = feature_name
                               ,class_names = class_name
                               ,filled = True
                               ,rounded = True)
graph = graphviz.Source(dot_data)
graph

结果:
在这里插入图片描述

4.2.3 特征重要性
# 特征重要性
clf.feature_importances_
[*zip(feature_name, clf.feature_importances_)]

结果
在这里插入图片描述

5.参数选择
5.1 max_depth 选择
%matplotlib inline
import matplotlib.pyplot as plt

test = []

for i in range(10): 
    clf = tree.DecisionTreeClassifier(max_depth = i+1
                                     ,criterion='entropy'
                                     ,random_state=30)
    
    clf = clf.fit(x_train, y_train)
    score = clf.score(x_test, y_test)
    test.append(score)
    
plt.plot(range(1,11), test, color='red', label='max_depth')
plt.legend()
plt.show()

结果:
在这里插入图片描述


参考: sklearn菜菜的b站视频以及文档。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想做一只快乐的修狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值