请稍等 ...
×

采纳答案成功!

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

softvoting 和bagging中的问题

62d7c634000125aa11610634.jpg62d7c6360001fc1513940713.jpg老师为什么在新版的notebook中用老师的数据hard和soft两种方式score值一样,并且bagging中模型变5000个反而score值降低了呢

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2022-07-20 18:07:20

我测试了一下,在最新的 sklearn 的版本中,确实是这个结果。


这里关键是 Decision Tree 的具体实现中有太多随机的元素,这么长时间 sklearn 的稳定版也已经更新了七八个版本了,并且有一次巨大的更新。(我出这个课程的时候,sklearn 是 0.xx 版,现在已经是 1.x 版本了),所以很难追溯到底是哪里的变化导致了这个区别。


我简单比较了一下,和旧版相比,新版的 Decision Tree 的具体实现添加很多新的机制,有了很多新的参数。更重要的是,一个简单的计算精度的变换,都有可能导致这个误差。具体在课程的数据的例子中,这个误差基本就是 1 个样本的分类的差别。


原理上,课程中介绍的基本概念全部适用。在这里另外要把握的几点在于:


1)对于机器学习来说,要想看到相应的实验结果,数据量越大“越好”。


2)一个非常重要的 mindset 是:这里说的“越好”,不一定是准确率越高,而是越可信。


在这个课程中,自从介绍了 overfitting,大家就应该建立起来的一个非常重要的概念是:只要你愿意,做一个模型,让这个模型在指定数据上达到 100% 的准确度,是 100% 可行的。但是,这个模型“不可信”。在机器学习界,更多说成是:无法 generalize,但我喜欢用可信不可信的说法。这就好比一个人作弊可以拿到满分,但是这个满分不可信;如果他不作弊,得到 30 分,这个分数虽然低,但是他反映了这个人的真实水平,所以是更可信的。我们后续的所有决策,应该基于这个 30 分来做,而不是基于 100 分来做。


3)一两个样本点的差距,不能太说明问题。91.2 和 91.24 差距不大,很难说 91.24 的算法就真的优于 91.2 的算法。基本他们就在一个水平上。一定要明白,机器学习的背后是统计学。统计学是以大样本,样本随机分布作为前提的,一两个样本的抖动产生偏差是很正常的。


继续加油!:)


2 回复 有任何疑惑可以回复我~
  • 提问者 rabbit999 #1
    bobo老师用心了,一不注意又把score和可信度混淆了,现在清楚很多了,十分感谢老师的解答
    回复 有任何疑惑可以回复我~ 2022-07-20 18:30:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信