所以基本上我有一个包含2列的数据集:
| Time (millis) | Speed (m/s) |
--------------------------------
| 0 | 0.5 |
| 20 | 1.5 |
| 40 | 4.5 |
| 60 | 8.5 |
| 80 | 8.9 |
| 100 | 7.5 |
| 120 | 4.3 |
| 140 | 1.5 |
| 160 | 0.5 |
| 180 | 0.5 |
| 200 | 0.5 |
| 220 | 0.5 |
这是一个以20毫秒的速度运行的人的简短样本。
所以我试图检测冲刺(当人在短距离内全速奔跑时)。
由于我的要求的性质,我在c
编写了一个程序来计算。我可以轻松地以肮脏的方式进行,定义一些最小值,最大值,寻找峰值以及那里的冲刺。但我认为必须有更好的方法来做,也许是我不知道的一些机器学习算法。
如果我可以通过展示一些示例来教授程序什么是sprint,然后在不再需要我干预的情况下检测它们,那将会很棒。我只是不确定如何开始这个。
有没有人遇到类似的东西,可以指出我正确的方向?
答案 0 :(得分:1)
这就像使用火箭筒杀死苍蝇一样;我认为你的"脏"方法是唯一的出路。术语" sprint"没有任何实际意义...你可以用sprint的例子喂你的任何机器,这意味着你已经使用了自己的,任意的分类方法来确定你是否认为它是冲刺。
您如何定义问题?有些人可能跑出10米/秒,其他人跑3米/秒并考虑冲刺。你怎么能从你有限的数据集中知道这个人当时是否正在推动自己达到冲刺的极限?也许他们可以走得更快。一个人的结果如何影响另一个人的数据集,以确定他们的" sprint"阈?很多问题,但我认为是有效的。实际上,您只能根据您的数据做出推断;例如,与平均值相关的最大速度是多少。我不会过度复杂化。
但是,如果您以受控格式收集结果,要求许多人冲刺,则记录影响其能力的因素:BMI,体重,年龄,医疗条件,头风速度等。那么你可能会从机器学习中获益。
答案 1 :(得分:0)
冲刺是一种加速。所以你只需要计算它(速度的衍生物)。在它取决于你所谓的冲刺。使用均值和最大值应该足够了。