采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师 在上一小节中使用BaggingClassifier实现随机森林的模型中 有max-samples这个参数 就是每一个子模型从所有样本中取多少样本进行训练 但是RFClassifier中怎么没有这个参数呢 可不可以对这个参数进行调参
不可以。BaggingClassifier和RandomForestClassifier中创建弱分类器的机制是不同的。
BaggingClassifier创建弱分类器的方法,是让其中的每一个分类器,所见的样本,或者样本的特征,是原始数据的一个子集;
而对于RandomForest来说,是通过让每一个决策树通过max_depth,max_sample_splits,min_samples_leaf,max_features,max_leaf_nodes等等这些参数的调节,来让每个决策树是一个弱分类器的。
这里值得一提的是,对于RandomForest来说,让bootstrap为true,成为有放回取样,本质上每课决策树所看到的样本数就是原始样本总数的一个子集了。但是,有放回取样进行的次数依然是n次,RandomForestClassifier不提供对这个参数进行修改的接口:)
对于你的需求,可以创建BaggingClassifier,其中的子分类器用DecisionTree,创建DecisionTree的参数可以调节,同时对BaggingClassifier来说,可以调节其中的max_samples:)
加油!:)
感谢老师耐心回答
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
3.1k 19
4.2k 17
3.6k 15
2.0k 15
1.9k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号