RandomForest的分类类是RandomForestClassifier,而RandomForestRegressor属于回归类
参数
- n_estimators
也就是弱学习器的最大迭代次数,或者说最大的弱学习器的个数,默认是10。一般来说n_estimators太小,容易欠拟合,n_estimators太大,又容易过拟合,一般选择一个适中的数值
- n_jobs
默认值为None,``-1``表示使用所有处理器
- random_state
如果是int,则random_state是随机数生成器使用的种子
- 案例
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestRegressor
path = 'F:/python/泰坦尼克/input/'
train_df = pd.read_csv(path + 'train.csv')
age_df = train_df[['Age','Fare', 'Parch', 'SibSp', 'Pclass']]
# 乘客分成已知年龄和未知年龄两部分
known_age = age_df[age_df.Age.notnull()].values
unknown_age = age_df[age_df.Age.isnull()].values
# y即目标年龄
y = known_age[:, 0]
# X即特征属性值
X = known_age[:,1:]
rfr = RandomForestRegressor(random_state=0, n_estimators=2000, n_jobs=-1)
# fit到RandomForestRegressor之中
rfr.fit(X, y)
# 用得到的模型进行未知年龄结果预测
predictedAges = rfr.predict(unknown_age[:, 1:])
# 用得到的预测结果填补原缺失数据
train_df.loc[ (train_df.Age.isnull()), 'Age' ] = predictedAges