一、随机森林之回归
RandomForestRegressor
class sklearn.ensemble.RandomForestRegressor (n_estimators=’warn’, criterion=’mse’, max_depth=None,min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’,max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False,n_jobs=None, random_state=None, verbose=0,warm_start=False)
所有的参数,属性与接口,全部和随机森林分类器一致。仅有的不同就是回归树与分类树的不同,不纯度的指标,参数Criterion不一致。
1.1 重要参数,属性与接口
criterion
关于这以参数在随机森林的回归里和决策树回归是一样的,可以参见决策树之回归树的博客。最重要的属性和接口,都与随机森林的分类器相一致,还是apply, fit, predict和score最
为核心。值得一提的是,随机森林回归并没有predict_proba这个接口
,因为对于回归来说,并不存在一个样本要被分到某个类别的概率问题,因此没有predict_proba这个接口。
随机森林回归用法和决策树完全一致,除了多了参数n_estimators。
from sklearn.datasets import load_boston
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestRegressor
boston = load_boston()
regressor = RandomForestRegressor(n_estimators=100,random_state=0)
cross_val_score(regressor, boston.data, boston.target, cv=10
,scoring = "neg_mean_squared_error")
sorted(sklearn.metrics.SCORERS.keys())#sklearn当中的模型评估指标(打分)列表
# scoring='neg_mean_squared_error'表示返回负的均方误差,如果不加上这个参数,返回的则是R**2
均方误差的负数:
array([-10.72900447, -5.36049859, -4.74614178, -20.84946337,
-12.23497347, -17.99274635, -6.8952756 , -93.78884428,
-29.80411