【问题标题】:How to improve Random forest regression prediction result [closed]如何改进随机森林回归预测结果
【发布时间】:2021-10-10 06:56:37
【问题描述】:

我正在使用机器学习随机森林回归进行停车占用率预测。我有 6 个特征,我尝试实现随机森林模型但结果并不好,因为我对此很陌生,我不知道什么样的模型适合这种问题。我的数据集很大,有 4700 万行。我也使用了随机搜索 cv,但我无法改进模型。请查看下面的代码并帮助改进或建议其他模型。

Random forest regression

使用的特征是在带有缓冲区的停车场位置数据的帮助下提取的。请帮助我改进。

【问题讨论】:

    标签: regression geospatial random-forest prediction


    【解决方案1】:

    所以,您使用的变量是: ['restaurants_pts','population','res_percent','com_percent','supermarkt_pts','bank_pts']

    我看到的是,对于同一个停车场,这些变量不会改变,因此回归只会预测停车场的“平均”占用率。您问题的关键部分之一似乎是下午 5 点和凌晨 4 点的入住率不一样...

    我建议您处理时间变量(例如:到达),以便它可用。 模型本身无法理解变量,但您可以使用它来创建类别。例如,您进行预处理,仅选择变量的 HOUR,然后使用它进行分类(每小时作为一个类别,或者更大的类别,如 ['noon - 6am', '6am - 10am', '10am - 2pm '、'下午 2 点 - 下午 6 点'、'下午 6 点 - 中午'])

    【讨论】:

    • 感谢您的解释。因此,建议是通过对时间进行分类来使用时间变量。我的疑问是它是否会像其他变量一样在一个列中?对于我对此很陌生的基本问题,请向我道歉。
    • 即使不是单列,也没什么大不了的。尽量避免有很多列,这样变量就不会为自己占据一切。正如我所说,您可以使用小时进行手动分类,然后使用 One Hot Encoder 创建二进制变量。 5 个类别 = 5 个变量,没关系。有关 One Hot Encoder 的更多信息:datascience.stackexchange.com/a/98174/101580
    • 谢谢。我会试试这个,让你知道改进。
    • 如果我分类是否也需要对入住率进行分类?像 06 -10 一样将所有占用添加为单行??
    • 是的,只需将“到达”值替换为您需要对其进行分类的列。当然,每个样本保留 1 行,不要触摸“占用”。例如,您知道您有 1 个样本给出 x 占用率,您只想以模型可以理解的方式总结样本中的信息,因此您可以给它“从样本中提取的此信息给出 x 占用率,从它”。
    猜你喜欢
    • 2020-10-15
    • 2014-08-07
    • 2021-11-20
    • 2019-12-06
    • 2023-01-02
    • 2021-03-21
    • 2019-05-04
    • 2020-07-06
    相关资源
    最近更新 更多