sklearn为游戏获胜者预测准备数据集

时间:2018-03-13 11:30:20

标签: python machine-learning scikit-learn dataset classification

我想根据之前比赛的结果预测比赛结果。对于每场比赛,我都有这样的数据:team1队员的id,team2队员的id,team1队员的武器id和team2队员的武器ID。例如:

{
  "team1_ids": [
    12321323,
    1421242,
    54325235
  ],
  "team2_ids": [
    55432453,
    242462,
    2234444
  ],
  "team1_weapon_ids": [
    1,
    3,
    5
  ],
  "team2_weapon_ids": [
    2,
    4,
    6
  ]
}

我对其他比赛的记录相同。总计我有大约30种不同的玩家ID,只有6种武器对于每个玩家来说都是独一无二的。

是否有任何简单的方法来准备数据集以进行进一步的sklearn分类?我正在研究不同的sklearn标签预处理,但没有找到anwser。

似乎某种sklearn OneHotEncoder是合适的,但它没有考虑到团队中玩家ID的切换位置对游戏结果无关紧要。对于y值,我使用二进制标签:如果team1获胜则为1,如果team2获胜则为-1。

1 个答案:

答案 0 :(得分:1)

据我所知 - 你只需要编码每个团队使用的每种武器类型的数量。

因此,我会将匹配记录描述为每个团队6个特征(每个武器的使用量)和1个标签列。

例如:

team1_weapon1 |...| team1_weapon6 | team2_weapon1 |...| team2_weapon6 | Result |
    1          ...         1             0         ...       1           -1
    0          ...         0             1         ...       1            1

每个team[i]_weapon[j]持有j种武器i - 团队和Result的武器数量(或每个游戏唯一的二进制旗帜)结果