📅  最后修改于: 2023-12-03 15:35:00.237000             🧑  作者: Mango
Sklearn是Python中的一个机器学习库,其中的随机森林回归器是一种经典的预测模型,被广泛用于回归任务。
随机森林回归器是一种由多个决策树组成的模型,它通过使用随机森林算法对数据进行拟合,并输出连续的实数预测结果。
这种模型通常比单个决策树模型更准确,更健壮,更易于泛化。由于随机森林本身具有随机性,因此该模型不容易过度拟合,而且对于缺失的数据也有很好的容错性。
使用Sklearn随机森林回归器需要先安装Sklearn库。在安装完成后,可以使用以下代码创建随机森林回归器并拟合数据集:
from sklearn.ensemble import RandomForestRegressor
# 创建随机森林回归器
rf = RandomForestRegressor(
n_estimators=100, # 决策树数量
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, # 是否进行有放回的bootstrap采样
oob_score=False, # 是否使用袋外样本估计泛化误差
n_jobs=1, # 训练使用的CPU数量
random_state=None, # 随机种子
verbose=0, # 控制训练期间日志输出的详细程度
warm_start=False # 是否使用上一次训练的结果进行训练
)
# 拟合数据集
rf.fit(X_train, y_train)
需要注意的是,创建随机森林回归器时有多个参数可以设置,这些参数会对拟合结果造成不同的影响。需要根据实际情况选择最佳的参数组合。
使用已拟合的随机森林回归器进行预测也很简单,只需要调用predict()方法即可:
# 进行预测
y_predict = rf.predict(X_test)
其中,X_test是测试数据集。预测结果y_predict是一个一维的numpy数组,其中每个元素表示对应的输入样本在模型中的预测输出。
评估Sklearn随机森林回归器的性能通常使用均方误差(Mean Squared Error)和决定系数(Coefficient of Determination)这两种指标:
from sklearn.metrics import mean_squared_error, r2_score
# 计算均方误差
mse = mean_squared_error(y_test, y_predict)
# 计算决定系数
r2 = r2_score(y_test, y_predict)
其中,y_test是测试数据集中的真实输出,y_predict是模型对测试集的预测输出。
Sklearn官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html
吴恩达: 机器学习基础(Python版):https://www.coursera.org/learn/python-ml/home/welcome