极简sklearn-决策树(三)
决策树 sklearn 极简
2023-09-11 14:16:57 时间
前言
上一篇中我们经过调参,把红酒数据集的准确率从88%调到94%,还算不错的成绩,但这个模型的准确率真有这么高么?
我们知道决策树有擅长和不擅长的数据集,它擅长的是对半分型数据,不擅长环形数据,而训练集是随机抽取的,有没有可能正好抽取到决策树擅长的数据导致分数虚高呢?如果更准确的评估模型的效果呢?这就是这次要讲的主角--交叉验证
交叉验证
既然随机抽取一次不可靠,那我们就把数据分成5份,第一次第一份作为测试集,剩下4份作为训练集,第二次第二份作为测试集,剩下的作为训练集,以此类推,这样就能准确评估模型效果了
交叉验证在sklearn中实现很简单,我们只需要把调完参的模型带进去就行了,需要注意的是数据不用切割,直接带入完整的,因为这个方法内部会切割数据
from sklearn import tree #导入决策树模型
from sklearn.datasets import load_wine #导入红酒数据集
from sklearn.model_selection import train_test_split #导入训练集测试集分隔器
from sklearn.model_selection import cross_val_score
wine = load_wine() #加载红酒数据集
clf = tree.DecisionTreeClassifier(criterion="gini", random_state=20
,max_depth=5 #z最大深度
,min_samples_leaf=10 #叶子节点最小样本数
,min_samples_split=10) #节点允许分枝样本数
#参数1: 模型, 参数2:数据, 参数3:标签, cv表示分成几份
cross_val_score(clf, wine.data, wine.target, cv=5)
看下结果
从结果中我们看出决策树在红酒数据集中表现并不稳定,有些数据集可以达到0.97,有些只有0.66,所以接下去我们可以用些更强大的模型来试试效果
相关文章
- 机器学习-决策树-ID3决策树
- 决策树模型组合之随机森林与GBDT(转)
- Google Earth Engine(GEE)——不同决策树数量分类精度对比分析(随机森林分类为例)
- 决策树算法之特征工程-特征提取
- 决策树算法之cart剪枝
- ID3决策树的仿真编程
- 《数据挖掘:理论与算法》学习笔记(五)—决策树
- 极简sklearn-决策树(一)
- 一句话总结决策树
- 机器学习实战之一---简单讲解决策树
- ID3决策树与C4.5决策树分类算法简述
- Python3机器学习之03创建个决策树
- 决策树
- 【BABY夜谈大数据】决策树
- C4.5(决策树)
- AI学习---分类算法[K-近邻 + 朴素贝叶斯 + 决策树 + 随机森林 ]
- 各种决策树选择最优节点方法总结
- 分类算法:决策树(C4.5)(转)
- 人工智能与信息社会——基于决策树和搜索的智能系统