请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

决策树的应用场景

在使用决策树进行回归问题时,我发现X_test准确率并不高,后面我使用了交叉验证也得出同样的结论,准确率不高(平均0.7),在进行了归一化,网格搜索【‘max_depth’ ‘min_samples_split’‘min_samples_leaf’】找到最好的参数之后,准确率还是不高(0.77)。

所以我就绘制一下学习曲线

图片描述

我得出以下几点结论
(这图片我省略了前20个准确率数据(train_score)因为波动很大)
(网格搜索时从5个数据开始的)

  • 从前几个波动很大,可以看出来决策树对于数据的变动也很敏感。
  • 决策树似乎不适合用于这个数据集合
  • 提高数据总量m确实能缓慢增长准确率
  • 在train曲线升高之后test曲线缓慢的下降,发生了过拟合,这一点不知道是不是因为决策树本身容易发生过拟合

我的问题是:我以后遇到什么情况,或者那种类型的数据,应该考虑使用决策树方法来解决,(我总觉得决策树横平竖直,算的又慢,有点笨)

正在回答

1回答

整体,对于“复杂的机器学习问题”(基本就意味着大多数我们现代的机器学习问题),决策树是没什么用的。原因很简单,决策树太“简单了”。


决策树的意义是:


1)

首先,非常重要的,决策树模型是“可解释的”。通过决策树,可以看到一个样本分到某个类别的过程(因为这个特征大于多少,那个特征小于多少,等等等等)。这对于统计分析,是非常重要的。


2) 

和第一点相关的,使用 decision tree 可以计算出一个特征的“重要程度”,因此 decision tree 可以作为一个“特征选择”的工具。注意,特征选择和 PCA 降维不同。虽然特征选择也降低了维度,但非常重要的,也保持了语义信息。


sklearn 的 feature_importances_ 可以返回这个特征重要程度的信息:https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier.feature_importances_


这个算法我在课程中没有介绍,如果对其实现细节感兴趣,可以看类似这样教程:https://sefiks.com/2020/04/06/feature-importance-in-decision-trees/


3)

对于“复杂的机器学习问题”,决策树最重要的意义是:构成类似随机森林这样的集成学习方法。


继续加油!:)

1 回复 有任何疑惑可以回复我~
  • 提问者 黄义舜 #1
    我昨天学习到第13章的时候,我拍大腿叫好啊,这个集成学习和随机森林简直是太妙了,集成学习集百家之长,随机森林让我见识了随机的威力,bobo老师我顺便问一个关于随机森林的小问题,>>将模型分为500个子模型,每个模型51%的准确率,最后进行投票,最后模型准确率能得到提升,是不是因为那1%?(按我的理解的话,假如模型只有49%的准确率,应该是越投票准确率越低把)
    回复 有任何疑惑可以回复我~ 2022-09-06 10:17:37
  • liuyubobobo 回复 提问者 黄义舜 #2
    对的,弱分类器,还是要保证“每个”(实际应该是大部分)分类器的分类方向是正确的,不能所有的分类器分的结果都是错的。只不过是不需要所有的分类器都有那么高的准确率,但是把他们合在一起,在集成学习的模型下,也能得到最终很好的准确率。(甚至 51% 就够了。)
    
    而实际上,我上面的叙述中,说"每个分类器的分类方向是正确的",这个条件都太强了。我随便做一个例子,比如一个集成模型,集成了 3 课决策树。三棵决策树的分类准确率分别是:0.7, 0.49, 0.49(两棵小于 0.5),那么这个决策树的正确率是多少?这是一个很“常规”的概率问题,你可以算算看?
    
    答案:0.7 * 0.49 * 0.51 + 0.7 * 0.49 * 0.51 + 0.49 * 0.49 * 0.3 + 0.7 * 0.49 * 0.49 = 0.59 左右。(大部分都是错的,有一个分类器比较强,也 ok,只不过此时,还不如直接去使用那个比较强的分类器)
    回复 有任何疑惑可以回复我~ 2022-09-09 02:38:44
  • 提问者 黄义舜 回复 liuyubobobo #3
    噢,这刚好也是我遇到的一个问题,我在玩泰坦尼克号竞赛的时候,集成学习整合了很多模型,似乎效果还没有单个的网格搜索之后的KNN算法好,原来是这个原因啊!
    回复 有任何疑惑可以回复我~ 2022-09-09 10:25:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信