2017-02-06 3 views
0

У меня есть данные о видеоигре.Как представляются пары входов для двоичного классификатора?

данных:

матч до имеет matchId. Каждый матч включает в себя две команды, и каждый размер команды варьируется. Например, 3v3, 4v4, 5v5, ... Данные упрощена следующим образом:

matchId playerId teamId victory 
100  200  14  1 
100  201  14  1 
100  212  14  1 
100  220  14  1 
100  202  15  0 
100  206  15  0 
100  214  15  0 
100  217  15  0 

Задача:

Мне нравится использовать бинарный классификатор в Scikit предсказать значение победы (0/1) на основе особенностей игроков.

Вопросы:

  1. Я ищу способ представить особенность, что классификатор определить, какие две команды играли друг против друга, так как результат матча, зависит от соперника.
  2. Позже, я хотел бы видеть, какие игроки оказали большее влияние на результат матча, и какие навыки более эффективны в победе. Могу ли я использовать ставки значения в Gradient Boosting Classifier?

ответ

0

Один из подходов с использованием разреженных-вектора всех player_ids multiplied with 2 (2 команды), где избранными указаны с ненулевым значением, как 1.

If есть N players 0, ..., N-1 и team A consists of 1, 3, 5, team B consists of 0, 2, 4, вход выглядит следующим образом:

x_sample_0 = [0, 1, 0, 1, 0, 1, 0, ...N-1, 1, 0, 1, 0, 1, ...] 
       ...team A...     ... team B... 

Это должно быть довольно мощный представляют ция (в отношении информации, представленной) задач с двумя очевидными недостатками:

  • вектора размером получит большие (линейную по размеру игроков)
    • это не имеет значения если классификатор способен работать с редкими структурами данных (scipy.sparse), как есть, в основном нули
  • существует проблема симметрии, так как каждый спаривание а против B также может быть закодирована как B vS. A
    • за счет удвоения входного размера выборки, я бы настоятельно рекомендовал добавить симметричное спаривание, как дополнительный образец (размер выборки удваивается)
      • запомнить слишком переворачивать вывод (что означает: закодировать у в качестве выигрыш/проигрыш от перспективы первых команд)!
    • возможно исполнение лексикографического-упорядочивание, который будет всегда выводится четко определенный порядок между двумя спариваниями (если игроки не могут играть сам себе) может быть использован в качестве альтернативы (я хотел бы попробовать выше первый)

Edit:

еще одна альтернатива:

  • ввести одну переменную для каждой возможной команды (например, f_0 = team of 0, 2, 4) и использовать это представление, которое имеет другой вектор-размер в зависимости от статистики
  • этот вид теряет некоторую информацию и должны были бы намного больше данных
Смежные вопросы