Список Python возвращает третье значение, связанное с первыми двумя значениями - PullRequest
0 голосов
/ 14 декабря 2018

Я пишу программу для рекомендательной системы с использованием Python.Я пытаюсь реализовать функцию, которая берет первые два элемента списка и возвращает третий, связанный с этими первыми двумя.Позвольте мне уточнить.

Данные, которые у меня есть как таковые:

train_data = [ [0, 0, 5],
               [0, 1, 4],
               [0, 2, 2],
             ...
               [900, 900, 2] ]

В основном это список списков, и каждый отдельный элемент состоит из [user_id, item_id, rating].

Есть ли способ, которым я предоставляю первые два элемента и возвращаю значение рейтинга?

Например: return_third(0, 0) = 5.


Любой отзывоценили.Спасибо.


РЕДАКТИРОВАТЬ

Я специально пытаюсь создать функцию, которая рассчитывает потери между нашими прогнозамидля пользователя i и элемента j.

Общее количество пользователей - 900, а общее количество элементов - 1000, поэтому созданная мной матрица данных составляет 900 x 1000 для каждого пользователя.и соответствующие им рейтинги.

Я хочу рассчитать потери на основе прогнозов и фактических рейтингов в train_data.

Для каждого user_id и * будет только один рейтинг.1037 * пара.Некоторые значения отсутствуют, но это отдельный вопрос, который я чувствую.

1 Ответ

0 голосов
/ 14 декабря 2018

Похоже, вы можете просто создать словарь, в котором ключи являются кортежем первых двух элементов подсписков, а значения - третьим элементом:

d = {(user_id, item_id): rating for user_id, item_id, rating in train_data}

print(d[0, 0])  # 5

Это будет возвращать только те значения, которыеВы определили в своем списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...