我有以下代码可以工作:

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_gameaway_game
在这些列中,感兴趣的两项是:ChelseaWest 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)

10-06 16:19
查看更多