【问题标题】: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/…

标签: python machine-learning scikit-learn neural-network linear-regression


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多