我想使用多项式逻辑回归来获得参加任何给定比赛的5匹马中的每匹马的获胜概率,使用每匹马以前的平均速度。
RACE_ID H1_SPEED H2_SPEED H3_SPEED H4_SPEED H5_SPEED WINNING_HORSE
1 40.482081 44.199627 42.034929 39.004813 43.830139 5
2 39.482081 42.199627 41.034929 41.004813 40.830139 4
我被困在如何处理每匹马的自变量,因为5匹马的平均速度中的任何一匹都可以放在H1_SPEED
到H5_SPEED
的任何一个。
对于每一场比赛,我可以把5匹马中的任何一匹放在H1_SPEED
下,这意味着除了我选择的任意位置之外,RACE_ID 1
中的H1_SPEED
和RACE_ID 2
中的H1_SPEED
之间没有真正的关系。
如果数据集看起来像这样,会有什么不同吗-
- 对于
RACE_ID 1
,我交换了H3_SPEED
和H5_SPEED
,并将WINNING_HORSE
从5
更改为3
- 对于
RACE_ID 2
,我交换了H4_SPEED
和H1_SPEED
,并将WINNING_HORSE
从4
更改为1
RACE_ID H1_SPEED H2_SPEED H3_SPEED H4_SPEED H5_SPEED WINNING_HORSE
1 40.482081 44.199627 43.830139 39.004813 42.034929 3
2 41.004813 42.199627 41.034929 39.482081 40.830139 1
这是一个问题吗?如果是,应该如何处理?如果我想为每匹马添加更多独立的功能呢?
您不能以这种方式更改数据集,因为每个特征(列)都有一个含义,并且可能取决于其他特征的值。你可以把它想象成一个六维的超平面,如果你改变一个特征的值这个超平面上的点的位置就会改变,它不会保持静止。
如果你认为一个特征对解决你的问题是无用的(即它独立于目标),你可以在模型的训练阶段放弃它或避免使用它。
编辑
要解决您的特定问题,您可以为每个速度列添加一个参数,以照顾以该速度运行的特定马。这是一种数据增强,目的是在模型中添加更多与问题相关的特征。
RACE_ID H1_SPEED H1_HORSE H2_SPEED H2_HORSE ... WINNING_HORSE
1 40.482081 1 44.199627 2 ... 5
2 39.482081 3 42.199627 5 ... 4
我已经发明了与每匹马相关的数字,但似乎这些信息存在于您的数据集中。