我有以下代码可以工作:
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
。使用上述模型有条件地选择这两个项的最佳方法是什么?
最佳答案
我假设你的数据帧是这样的:
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') & (df['away_game'] == 'West Ham')]
并通过传递生成的数据帧(取决于您的模型预测功能)来预测这一点:
model.predict(test)