对运动员表现进行机器学习以预测未来比赛的时间

数据挖掘 机器学习 r 预测建模
2021-10-06 08:52:11

示例数据

我有一个运动员比赛结果的数据集(在Ras adata frame中)。

athlete racedistance time    location tracktype       date    coach
A          100       10.0       UK     typeA       2014-01-01  carlos
A          200       20.0       US     typeB       2014-02-01  carla
A          100        9.5      AUS     typeC       2014-03-01  chris
B          100       11.0       UK     typeA       2014-01-01  carla
B          200       21.0       US     typeB       2014-02-01  carlos
B          400       61.0      AUS     typeC       2014-03-01  carla
B          100       10.5      GER     typeA       2014-04-01  clive
C          100        9.5       UK     typeA       2014-01-01  clive
C          200       21.5       US     typeB       2014-02-01  chris

问题

time在尝试预测未来比赛中的运动员时,是否有适当的机器学习算法或方法可以使用每个运动员以前的结果作为特征?

例如,athlete A有三场比赛,他们之间有一个月的休息时间。在第三场比赛中,他在相同距离上的表现略好于第一场比赛。

算法能否得知第二场比赛对运动员产生了影响,这意味着他在第三场比赛中表现更好?

从我读过的关于这个主题的内容和我完成的训练示例来看,似乎每一“行”数据都应该是独立的,所有 ML 算法都是这种情况吗?我应该考虑另一种预测技术来解决这类问题吗?

3个回答

我认为这里的关键是您认为是因变量。例如,您提到了三个月的休息时间。在比赛之间对其余部分进行编码可能比简单地对其余部分的日期进行编码更好,因为很多日期对于实际所说的内容是多余的。与任何机器学习算法一样,数据的表示是关键,在许多方面,实际应用的算法不太重要。

通过使用您的功能,您可以使 ML 算法(可能是回归或 SVR 或其他)来了解这一事实(连续比赛正在提高运动员的表现)。为此,您可能需要删除日期列并引入一些新列,可能是“比赛编号”,第一场比赛为 0,第二场比赛为 1,第三场比赛为 2,等等。

在这种情况下,回归模型将能够了解您所说的“第二场比赛对运动员有影响,这意味着他在第三场比赛中表现更好”。这都是关于特征选择的。

好的,在这种情况下,时间是你的因变量,其他所有的都是你的特征。

你应该使用线性回归(因为更复杂的东西需要更多的专业知识),任何机器学习库都已经实现了。

不要使用日期作为特征,这些通常是糟糕的估计器。