随机森林和Extra-Trees
随机森林中,决策树在节点划分上,在随机的特征子集上寻找最优划分特征。
from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier(n_estimators=500, random_state=666, oob_score=True, n_jobs=-1)#有500个子决策树模型
rfc.fit(X, y)
rfc.oob_score_
rfc = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, random_state=666, oob_score=True, n_jobs=-1)#有500个子决策树模型
Extremely random trees: Extra-Trees - 极其随机森林
决策树在节点划分上,使用随机的特征和随机的阀值.
提供了额外的随机性, 抑制了过拟合,不会被一些特别的点带偏(因为每一棵树都是极其随机的),但是增加了bias(偏差),减少了方差。
from sklearn.ensemble import ExtraTreesClassifier
etc = ExtraTreesClassifier(n_estimators=500, random_state=666, oob_score=True, bootstrap=True)
etc.fit(X, y)
etc.oob_score_
同样也有对应的Regressor:
from sklearn.ensemble import BaggingRegressor
from sklearn.ensemble import RandomForesetRegressor
from sklearn.ensemble import ExtraTreesRegressor