随机森林回归对这类回归问题有好处吗



我正在进行车辆占用率预测,我对此非常陌生,我使用了随机森林回归来预测占用率值。

Jupyter笔记本_兰多姆森林

我有大约4800万行,我已经使用了所有的数据来预测入住率,因为人口和入住率由于更高的数字而标准化,我已经预测了。我确信这个模型不好,我该如何解释RMSE和MAE的结果。此外,该图显示预测不好,我是否以正确的方式预测了车辆的占用率。

,请帮我做以下事情

  1. 随机森林回归是解决这个问题的好方法吗
  2. 如何改进模型结果
  3. 如何从结果中解读结果
  1. 随机森林回归是解决这个问题的好方法吗?

    ->这个模型只是一个工具,当然可以使用。然而,没有人能回答它是否合适,因为我们没有研究数据的分布。建议您可以尝试逻辑回归、支持向量机回归等

  2. 如何改进模型结果?

    ->关于如何改进,我有几个建议:1.在没有确认y值列是否有极值的情况下,不要进行标准化。2.计算RMSE和Mae时,使用原始y值。3.深入理解业务逻辑,增加新功能。4.在博客上了解数据处理和特征工程。

  3. 如何解释结果

    ->糟糕的结果并不一定意味着没有价值。你需要比较这个模型是否比现有的方法更好,以及它是否产生了更多的经济价值。例如,误差就是损失,准确度就是增益。

希望这些能帮助你。

建议您使用基于XGBoost的回归器,因此您也可以尝试基于LightGBM的回归器:https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMRegressor.html

您得到的0.002175863553610834的RMSE非常接近零。所以,我们可以说你有一个很好的模型。我认为这个模型不需要进一步改进。如果你还想改进它,我认为你应该把算法改为XGBoost,并使用正则化和早期停止来避免过拟合。

from xgboost import XGBRegressor
model = XGBRegressor(n_estimators = 3000, learning_rate = 0.01, reg_alpha = 2, reg_lambda = 1, n_jobs = -1, random_state = 34, verbosity = 0)

evalset = [(X_train, y_train), (X_test, y_test)]
model.fit(X_train, y_train, eval_metric = 'rmse', eval_set = evalset, early_stopping_rounds = 5)

相关内容

  • 没有找到相关文章

最新更新