Python sklearn为游戏赢家预测准备数据集
我想根据之前的比赛结果预测比赛结果。对于每场比赛,我都有这些数据:第一队球员的ID、第二队球员的ID、第一队球员的武器ID和第二队球员的武器ID。例如:Python sklearn为游戏赢家预测准备数据集,python,machine-learning,scikit-learn,dataset,classification,Python,Machine Learning,Scikit Learn,Dataset,Classification,我想根据之前的比赛结果预测比赛结果。对于每场比赛,我都有这些数据:第一队球员的ID、第二队球员的ID、第一队球员的武器ID和第二队球员的武器ID。例如: { "team1_ids": [ 12321323, 1421242, 54325235 ], "team2_ids": [ 55432453, 242462, 2234444 ], "team1_weapon_ids": [ 1, 3, 5 ],
{
"team1_ids": [
12321323,
1421242,
54325235
],
"team2_ids": [
55432453,
242462,
2234444
],
"team1_weapon_ids": [
1,
3,
5
],
"team2_weapon_ids": [
2,
4,
6
]
}
team1_weapon1 |...| team1_weapon6 | team2_weapon1 |...| team2_weapon6 | Result |
1 ... 1 0 ... 1 -1
0 ... 0 1 ... 1 1
和其他比赛的记录一样。总的来说,我有大约30个不同的球员ID,只有6种武器,在比赛中每个球员都是独一无二的
是否有任何简单的方法来准备数据集,以便进行进一步的sklearn
分类?我正在研究不同的sklearn
标签预处理,但还没有找到anwser
看起来,某种类型的
sklearn
OneHotEncoder是合适的,但它没有考虑到球员ID在球队中的位置切换对比赛结果并不重要。对于y值,我使用二进制标签:如果团队1获胜,则为1;如果团队2获胜,则为-1。据我所知,您只需要编码每个团队使用的每种武器类型的数量
因此,我会将比赛记录描述为每队6个特征(每种武器的使用量)和1个标签栏
例如:
{
"team1_ids": [
12321323,
1421242,
54325235
],
"team2_ids": [
55432453,
242462,
2234444
],
"team1_weapon_ids": [
1,
3,
5
],
"team2_weapon_ids": [
2,
4,
6
]
}
team1_weapon1 |...| team1_weapon6 | team2_weapon1 |...| team2_weapon6 | Result |
1 ... 1 0 ... 1 -1
0 ... 0 1 ... 1 1
每个
团队[i]\u武器[j]
持有j
-类型i
-团队的武器数量(或二进制标志,如果其在每场比赛中是唯一的),Result
是游戏结果。我不确定,但玩家ID也会影响游戏结果。据我所知,像神经网络这样的分类器需要对输入进行二值化。我不建议按原样使用播放器id,因为它会导致过度拟合。您应该提取玩家的总结特征(如先前获胜次数、玩过的游戏次数、一起玩过的游戏次数、同一武器的使用率等),或者尝试使用所有玩家数据运行一些降维技术,如PCA
、LDA
、AutoEncoder
。