随机森林

来源:13-5 随机森林和 Extra-Trees

哈hhh哈

2018-10-06

老师 在上一小节中使用BaggingClassifier实现随机森林的模型中 有max-samples这个参数 就是每一个子模型从所有样本中取多少样本进行训练 但是RFClassifier中怎么没有这个参数呢 可不可以对这个参数进行调参

写回答

1回答

liuyubobobo

2018-10-06

不可以。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:)


加油!:)

2
1
哈hhh哈
感谢老师耐心回答
2018-10-06
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5964 学习 · 2456 问题

查看课程