Как определить членство команды в столбцах - PullRequest
0 голосов
/ 05 ноября 2018

Я импортировал набор данных из CSV, который содержит статистику матчей игр League of Legends (https://www.kaggle.com/datasnaek/league-of-legends).
Я хочу применить алгоритмы машинного обучения к идентификаторам чемпионов и результатам матча. Поскольку каждый идентификатор чемпиона указан в столбце, я создал 2 списка (t1, t2), которые содержат идентификаторы чемпионов каждого члена команды.

Но при вызове knn.fit я получаю сообщение об ошибке «ValueError: установка элемента массива с последовательностью».
Если я правильно понял, KNN нужны отдельные значения, а не списки. Но я не знаю, как смоделировать мой информационный фрейм другим способом, чтобы у меня было членство в команде.

data = pd.read_csv('resources/LoL/games.csv', delimiter=',')

data['t1'] = data[['t1_champ1id', 't1_champ2id', 't1_champ3id', 't1_champ4id', 't1_champ5id']].values.tolist()
data['t2'] = data[['t2_champ1id', 't2_champ2id', 't2_champ3id', 't2_champ4id', 't2_champ5id']].values.tolist()

reduceddata = pd.DataFrame(data[['t1', 't2']])
outcomes = data[['winner']]

X_train, X_test, Y_train, Y_test= train_test_split(reduceddata,outcomes['winner'], random_state=0)
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, Y_train)

1 Ответ

0 голосов
/ 05 ноября 2018

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

reduceddata = data[['t1_champ1id', 't1_champ2id', 't1_champ3id', 't1_champ4id', 't1_champ5id', 't2_champ1id', 't2_champ2id', 't2_champ3id', 't2_champ4id', 't2_champ5id']]
outcomes = data['winner']

X_train, X_test, Y_train, Y_test= train_test_split(reduceddata, outcomes, random_state=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...