随机森林是由Leo Breiman和 Adele Cutler发展的分类和回归算法,使用了大量的决策树模型,从而通过降低估计的偏差和方差来提高精确的预测。
作为开箱即用的算法,随机森林算法的执行步骤主要如下:
- 创建大量决策树,每棵树之间都不一样,基于观察点和变量的不同子集。
- 为每棵树用自助法(bootstrap)来采样观察数据集(用置换法从原始数据采样)。相同的观察点可以在相同的数据集出现多次
- 为每棵树随机选择并仅适用一部分变量。
- 适用由采样所排除的管擦点来估计每棵树的性能。
- 在全部数据被拟合和预测后,获取最终预测,即为回归估计的平均值或用于预测的最频繁类。
一、使用随机森林分类器
#使用bagging 模仿随机森林
#载入手写数字数据集
from sklearn.datasets import load_digits
digit = load_digits()
X, y = digit.data, digit.target
from sklearn.ensemble import RandomForestClassifier
from sklearn.cross_validation import cross_val_score
from sklearn.cross_validation import KFold
crossvalidation = KFold(n=X.shape[0], n_folds=5, shuffle=True, random_state=1)
RF_cls = RandomForestClassifier(n_estimators=300)
score = np.