📜  sklearn 随机森林回归器 - Python (1)

📅  最后修改于: 2023-12-03 15:35:00.237000             🧑  作者: Mango

Sklearn随机森林回归器介绍

Sklearn是Python中的一个机器学习库,其中的随机森林回归器是一种经典的预测模型,被广泛用于回归任务。

什么是随机森林回归器

随机森林回归器是一种由多个决策树组成的模型,它通过使用随机森林算法对数据进行拟合,并输出连续的实数预测结果。

这种模型通常比单个决策树模型更准确,更健壮,更易于泛化。由于随机森林本身具有随机性,因此该模型不容易过度拟合,而且对于缺失的数据也有很好的容错性。

如何使用Sklearn随机森林回归器

使用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