我使用RandomForestClassifier
进行概率预测任务。我有一个约50个功能和两个可能标签的功能集 - first team wins
和second team wins
。
该功能集包含两个团队的功能,以及我构建它的方式,因为我知道哪支球队获胜,是否有50%的成绩标记为第一队获胜,50%被标记为第二队获胜 - 具有各自的功能放置在功能集中的正确位置 - 对于训练数据中的每个匹配(最初将获胜团队作为第一个),我交换每个团队的功能并使用计数器模2将标签更改为second team wins
我看到的问题是,如果我将计数器从1或0开始更改,它会对最终预测产生巨大变化,这意味着数据集是不对称的。为了解决这个问题,我尝试按照标准为first team wins
的正常顺序添加两次匹配,并将标签反转为second team wins
。问题是 - 这如何影响模型的行为?我做了这个改变后看到了一些负面影响,虽然不足以具有统计意义。但它确实增加了构建特征集的运行时间并显然适合模型。
将标签和团队订单随机化是一种更加可靠的方法吗?我有什么选择?
答案 0 :(得分:2)
由于您要将相应的团队功能相互比较,因此可以选择减少:
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
并训练你的分类器。这种方法的好处是,您现在可以比较一半的功能,不再需要担心团队的顺序。