需要输入:路线难度的线性回归预测相当糟糕

Posted

技术标签:

【中文标题】需要输入:路线难度的线性回归预测相当糟糕【英文标题】:Need input: Linear Regression prediction of difficulty of routes quite bad 【发布时间】:2020-04-04 13:37:23 【问题描述】:

数据:https://1drv.ms/u/s!ArLDiUd-U5dtg1H6y1_0f_m5f2by?e=OmKeWp)

我正在尝试预测路线的难度。一条路线由一系列点组成,每个点相距 10 米。每个点都有以下信息:

路径宽度 森林密度 下落速度(下落时你的身体会达到什么速度) 坡度

对于每条路线也有给定的难度。 但是这些困难是由不同的人给出的,并且差异很大。所以一个人给了一条路线 4。但另一个人可能给了这条路线 2。所以数据包含人为错误。

到目前为止我做了什么: 我计算了每条路线的平均值和标准差。所以我取了一条路线的所有点并用它来计算这些统计值。我还添加了路线的长度(点数 * 10)。 (diff = 路线难度。取值范围为 1-12)

然后我将这些值放入线性回归模型中。结果证明这是一个好的开始:

Mean Absolute Error: 1.239902061226418
Mean Squared Error: 2.3566221702532917
Root Mean Squared Error: 1.53512936596669

问题

但现在我不知道该怎么做才能改进它,因为我缺乏机器学习方面的知识。

我想到了使用神经网络并输入所有点。最长的路线是 5300 点长,所以我只想说,每条路线有 5300 个输入,并且这些路线的填充点为 0,这还不够长。 任何类似的信息或输入?

但我也希望通过使用如上所示的预测值(平均值、标准差等)来获得良好的结果。那么我可以做些什么来改进预测呢?

【问题讨论】:

非常一般的建议:您可能想要检查您的任何输入数据是否超出正态曲线,并在必要时对其进行重新归一化。或者,线性方法可能还不够,您可能需要更强大的预测器。 你的意思是重新评估难度?会非常困难,甚至是不可能的,因为我没有任何专业知识来判断路线的难度:/除了线性之外,您还会建议哪些方法?以及如何获得更强大的预测器? 不是特别困难...我的意思是,检查每个输入列的行为,而不仅仅是困难;为了使它们在线性算法上运行良好,您需要对它们进行变换,使其尽可能线性或尽可能,或者至少遵循正态分布。至于替代方案,请参阅:machinelearningmastery.com/… 【参考方案1】:

以下是开发最佳模型所需遵循的一些步骤:

    检查数据中的异常值并对数据进行规范化 检查独立和依赖之间的相关强度 变量。 插补缺失值或创建单独的段 处理数据列中的缺失值。 寻找变化膨胀因子和公差 这将提高数据质量并提高模型的准确性。

【讨论】:

以上是关于需要输入:路线难度的线性回归预测相当糟糕的主要内容,如果未能解决你的问题,请参考以下文章

线性回归有解析解为啥还要用梯度下降

线性回归预测因输入类型而异

线性回归完全关闭

使用 .set_params() 函数进行线性回归

spss:得到一个多元线性回归模型之后,如何比较预测值和真实值?如何判断模型是不是有预测能力?

十大经典预测算法----线性回归