#python #pandas #algorithm #data-science #prediction
#python #pandas #алгоритм #наука о данных #предсказание
Вопрос:
У меня есть следующий код, который работает :
for model in models:
model.fit(trainset)
predictions = model.test(testset)
top_n = get_top_n(predictions, n=5)
# Print the first one
user = list(top_n.keys())[0]
print(f'model: {model}, {user}: {top_n[user]}')
print('Top N computation successful!')
Но проблема заключается в следующем — я пытаюсь использовать модель для прогнозирования футбольных матчей. Представляют интерес два столбца: home_game
и away_game
.
И два интересующих элемента в этих столбцах: Chelsea
и West Ham
.
Каков наилучший способ условного выбора этих двух элементов с использованием модели, описанной выше?
Ответ №1:
Я предполагаю, что ваш фрейм данных выглядит примерно так:
df = pd.DataFrame({'home_game':['Man Utd', 'Chelsea', 'Arsenal'], 'away_game':['Liverpool','West Ham','Spurs']})
away_game home_game
0 Liverpool Man Utd
1 West Ham Chelsea
2 Spurs Arsenal
вы можете выбрать строку с Челси и Вест Хэмом таким образом:
test = df[(df['home_game'] == 'Chelsea') amp; (df['away_game'] == 'West Ham')]
и предсказать это, передав результирующий фрейм данных (в зависимости от функции прогнозирования вашей модели):
model.predict(test)
Комментарии:
1. Хорошо, позвольте мне попробовать.
2. Я только что сделал и получил это
TypeError: predict() missing 1 required positional argument: 'iid'
3. Не могли бы вы, пожалуйста, обновить свой пример с помощью существующего фрейма данных и обученной конкретной модели?
4.
df.head()
[ссылка] ( drive.google.com/file/d/14vRQj1A1wqxQkL3sMd9wlVdTJUi08S5K /… )5.
# list of models
models = [model_random, model_svd, model_svdpp, model_nmf,
model_slopeone, model_knnbasic,
model_knnwithmeans,model_knnbaseline,
model_coclustering, model_baselineonly, model_knnwithzscore, model_user,
model_item]