sklearn里的RandomForestClassifier和ExtraTreesClassifier有什么区别吗?
1个回答
参考黄前志在Extra Tree算法是什么?的回答。
复制一下:
ExtRa Trees是Extremely Randomized Trees的缩写,意思就是极度随机树。这是一种组合方法,与其说像决策树,实际上它更像随机森林。
与随机森林的相同点:1. bootstrap了样本。2. 随机选取了部分特征,来构造一个棵树。 我们知道随机森林是由很多个随机的决策树组成的,extra trees比随机森林更随机。
与随机森林的不同点:每棵决策树选择划分点的方式不同。对于普通决策树,每个特征都是根据某个标准(信息增益或者gini不纯)去进行划分,比如说一个数值特征的取值范围是0到100,当我们把这个特征划分为0-45,45-100的时候,效果最佳(从信息增益或者gini不纯的角度),决策树就会将45作为划分点;然后再按照某个标准来选择特征。而对于extra trees中的决策树,划分点的选择更为随机,比如一个数值特征的取值范围是0到100,我们随机选择一个0到100的数值作为划分点;然后再按照评判标准选择一个特征。
SofaSofa数据科学社区DS面试题库 DS面经 相关讨论
sklearn模块里的DecisionTreeClassifier为什么每次结果不同(数据相同的情况下)
怎么得到sklearn里的RandomForestClassifier训练好之后每棵树的叶节点的个数?
sklearn里的RandomForestClassifier怎么选样本的数量
lightgbm.LGBMModel和lightgbm.LGBMClassifier该用哪个?
随便看看
怎么在matplotlib.pyplot的plot上加上文字?
pandas报错ValueError: Cannot convert non-finite values (NA or inf) to integer