Как рассчитать точность и вызвать 2 списка в python - PullRequest
0 голосов
/ 02 мая 2019

Я пишу систему рекомендаций по фильмам.У меня есть список из 20 фильмов, которые я рекомендую пользователю, и список из 150 фильмов, которые пользователь наконец-то увидел.Как я могу вычислить в python с помощью sklearn точности и вспомнить в этих 2 списках?

Например, у меня есть 10 фильмов, которые я рекомендовал пользователю, которые пользователь действительно видел, расчет реакции все: 10/150,Расчет точности: 10/20

1 Ответ

0 голосов
/ 02 мая 2019

Из того, что я прочитал, самый простой способ - использовать intersection между двумя наборами.

Я полагаю, вы используете какой-то идентификатор для фильмов, поэтому в ваших списках не должно быть дубликатов (вы, вероятно,например, не рекомендую один и тот же фильм дважды), то есть вы можете использовать наборы и их встроенные intersection.

recommendations={"movie1", "movie2", "movie3"}
saw={"movie1", "movie2", "movie4", "movie5", "movie6"}

"recommended movies saw by the user"
recommendations.intersection(saw)
>>> {"movie1", "movie2"}

# To get the "number of recommended movie that the user saw":
movie_intersect = len(recommendations.intersection(saw))
movie_intersect
>>> 2

# Precision is just:
movie_intersect/len(recommendations)
>>> 0.666666666666666667

# Recall:
movie_intersect/len(saw)
>>> 0.4
...