请稍等 ...
×

采纳答案成功!

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

特征随机采样问题

老师,在

random_subspaces_clf = BaggingClassifier(DecisionTreeClassifier(),

                               n_estimators=500, max_samples=500,

                               bootstrap=True, oob_score=True,

                               n_jobs=-1,

                               max_features=1, bootstrap_features=True)

random_subspaces_clf.fit(X, y)

random_subspaces_clf.oob_score_

这段代码中,既然样本没有随机取样,只有特征被随机取样了,为什么还可以使用oob_score_来评分呢?

oob_score_不是只能针对样本放回取样吗?

正在回答

1回答

赞问题!在这里,可能我的课程解释的不够清楚。


关键在于max_samples这个参数。当bootstrap这个参数设置为True的时候,其实max_samples这个参数表示的是取样次数。即对每个子分类器取500次样。但由于是放回取样,所以每次虽然取500次样,但是有的样本会取重,真正用于训练子分类器的样本总数其实是小于500的。换句话说,只要bootstrap这个参数设置为了True,我们的样本就被随机取样了,相应的,就可以使用oob_score_进行评分:)


0 回复 有任何疑惑可以回复我~
  • 提问者 丨越丨 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-05-28 00:09:57
  • 老师,这样从本质上应该还是属于既对样本抽样也对特征抽样的方法,能这样理解吗?
    回复 有任何疑惑可以回复我~ 2018-07-26 22:59:25
  • 对。BaggingClassifier给我们提供了接口,既可以对样本抽样,又可以对特征抽样,还可以二者皆抽样:)
    回复 有任何疑惑可以回复我~ 2018-07-26 23:01:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信