我应该采取什么方法来模拟机器学习中的预测问题?

人工智能 机器学习 楷模 预测
2021-11-13 06:59:12

我有一个包含 4000k 行和 6 列的数据集。目标是预测出租车的出行时间需求。我已经阅读了很多关于如何解决这个问题的文章。所以,每个作家都有自己的方式。我从所有阅读中得出的结论是,我必须使用多种算法并检查每种算法的准确性。然后我可以通过平均或任何其他方法来集成它们。

哪种算法最适合我的问题准确性?一些代码链接对我有帮助。

我目前只有训练数据集。在我完成它之后,它将在我的教授的任何测试集上进行评估。那么,我现在该怎么办?要么将我拥有的数据拆分到我自己的测试和训练集中,要么单独生成虚拟数据作为测试集?

1个回答

一般来说,这类问题称为回归问题,因为目标变量(即旅行时间)可以取连续域中的任何值。理论上,您可以使用任何回归算法(一种子集监督学习技术)来解决这个问题。一些最流行的是线性回归K-最近邻(回归)和神经网络

正如您已经观察到的,不同的算法会导致(有时显着)不同的结果。此外,参数配置(例如,神经网络中隐藏层的数量)可能会产生很大的不同。有时,集成不同的模型可能会有所帮助,但总的来说,您应该尽量避免过度拟合(当您的模型比您的数据更复杂时,它会记住训练集而不是学习它!)。这可能会导致您在训练集上的表现非常好,但在教授的测试集上表现却很差。

我会做的是:

  • 探索数据集以查看影响旅行时间的因素(列之间的任何相关性)。
  • 清理和预处理我的数据集(重复、空值、异常值)
  • 如果需要,重塑我的数据集(规范化某些列,合并或拆分列)
  • 将我的数据集划分为训练和评估子集(所以我在一个部分进行训练并在另一部分进行测试以避免过度拟合)
  • 选择一个简单的基线,应用和测量准确度指标。
  • 尝试微调我的基线参数或尝试其他更高级的技术。
  • 比较结果并在必要时改进管道的任何部分(更多/更少清洁、参数调整、集成)。