我使用RandomForestClassifier
进行概率预测任务。我有一个大约50个特征的特征集和两个可能的标签——first team wins
和second team wins
。
特性集包含两支球队的特点,我建的,因为我知道哪个队赢了,就有50%的组标记为1日团队获胜,和标记为2 50%的团队获胜——各自的功能放置在正确的位置在每个匹配的特性集,训练数据,最初有赢得团队第一个,每个团队和我交换特性改变标签second team wins
,使用一个计数器模2 .
我看到的问题是,如果我将计数器从1或0开始,它会在最终预测中产生巨大变化,这意味着数据集是不对称的。为了解决这个问题,我试图以正常顺序添加每个匹配两次,其中标签为first team wins
,并与标签为second team wins
相反。问题是,这对模型的行为有什么影响?在做出这个改变后,我看到了一些负面影响,尽管在统计上还不够显著。然而,它确实明显增加了构建特征集和拟合模型的运行时间。
将标签和团队顺序随机化是一个更可靠的方法吗?我有什么选择?
由于您正在比较相应的团队功能,因此可以选择减少:
TeamA: featureA1, featureA2, featureA3 ... featureAN
TeamB: featureB1, featureB2, featureB3 ... featureBN
Output: which team wins
:
Input: featureA1-featureB1, featureA2-featureB2, featureA3-featureB3, ..., featureAN - featureBN
Output: positive if team A wins, negative if team B wins
并训练你的分类器。这种方法的好处是您现在有一半的特性可以比较,并且不再需要担心团队的顺序。