machine-learning - 如何为日常预测建立线性回归模型
问题描述
我需要创建一个预测模型来预测每天的物品数量......
这就是我的数据在 DB 上的样子...
item id |date | quantity
1000 |2020-02-03 | 5
我所做的是将日期转换为:
- 年号
- 一年中的第几周
- 工作日编号
我使用 RegressionFastForest、RegressionFastTree、LbfgsPoissonRegression、FastTreeTweedie 在 100,000 个项目的数据集上训练了这个模型
但结果不是很好(RMSE SCORE OF 3.5 - 4)
我做错了吗?
如果有问题,我正在使用 ML.NET
谢谢
解决方案
将线性回归直接应用于数据存在几个问题。
1)如果item id
是分类索引,不反映物品的物理特性,那么它是分类特征。使用OneHotEncoding将其替换为回归友好的标签。
2) 如果您假设您的数据可能周期性地依赖于一天/周/月的时间,请使用sin
这些cos
函数。它不适用于年份,因为它不是周期性的。这是一个很好的 Python 示例指南。
祝你好运!
PS我通常在具有分类特征(OneHotEncoding)的稀疏表示的任务中使用LogisticRegression作为基准。它不如最先进的 NN 解决方案好,但让我知道基准是什么样子的。
推荐阅读
- python - 使用 pyinstaller 创建 python windows 可执行文件时出现问题 - 创建、运行但立即退出
- reactjs - 在 React 中,有没有办法使用 React Context API 在两侧(双工)的两个组件之间进行通信?
- react-native - 停车支付逻辑
- vue.js - 自定义 v-data-table 中的列排序顺序
- python - 如何使用 pytest 中的 setUp 作为异步方法?
- ruby - 如何检查我的哈希是否有错误
- php - 如何修复“PHP 警告:PHP 启动:无法加载动态库 'mongodb'”
- apple-watch - 如何在 Apple Watch 上查看已安装的应用程序版本?
- javascript - Raspberry Pi 中 Google Chromium Print PDF Preview 的页脚部分出现空白 URL 框
- javascript - 为什么在输入更改后提交状态没有立即更新?