Как предсказать конкретную строку в столбце, используя модель прогнозирования python?

#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]