目标
我希望使用Scikit-learn训练一个模型,预测马赛的结果。我有一个CSV文件,包含多个特征,如位置、年龄、重量、马名、比赛ID等。
问题
在原始的CSV文件中,每匹马都表示为一行数据。每场比赛由8行数据组成,其中位置从1到8。然而,当我训练我的模型时,模型将每一行数据视为单独的事件(比赛),因此效果不佳。
方法
我尝试解决这个问题,并创建了一个新的CSV文件,其中每行数据表示一场比赛,特征由position1、age1、weight1、horse_name1、race_id1到position8、age8、weight8、horse_name8、race_id8完成(见下方)。但是,在这种情况下使用Multioutput时,我的模型根本无法训练,但注意到age1、weight1是获胜者的列,并且获得了100%的准确性。
想法
我想知道是否有解决这个问题的方法。也许可以使用原始文件,但以某种方式告诉模型具有相同race_id值的行应被视为一个事件。我可以考虑使用groupby(race_id),但无法将新组馈入模型中。此外,你可以像对文本数据进行预测时一样,为每场比赛使用一个包。
我现在卡住了,所以任何建议都会受到高度赞赏 :)
ORIGINAL DF
position horse age weight race_id
1 name1 3y 900 1
2 name2 4y 800 1
3 name3 5y 760 1
... ... ... ... ...
8 name8 7y 980 1
1 name9 4y 880 2
... ... ... ... ...
8 name16 5y 770 2
NEW DF
position1 horse1 weight1 race_id1 ... position8 horse8 weight8 race_id8
1 name1 900 1 8 name8 980 1
1 name9 880 2 8 name16 770 2
ORIGINAL DF
中的horse
列是否唯一。你能分享一小部分数据集让我们帮助你吗? - Henrique Branco