sklearn косинусное сходство:: AttributeError: у объекта 'module' нет атрибута 'metrics'

ur[5][8]=
[[0,3,4,0,0,0,5,0],
[4,5,0,0,0,0,3,0],
[0,4,0,3,0,0,1,4],
[2,0,5,0,0,0,3,0],
[0,0,0,5,0,0,0,4]]

0 означает, что фильм не оценен. Я хочу предсказать рейтинг фильма без рейтинга для каждого пользователя, используя косинусное сходство, и после вычисления сходства я выбираю k наиболее похожих пользователей и прогнозирую согласно этому.

но как вычислить косинусное сходство, используя встроенную функцию в библиотеке или любой другой

code:
similar=[[0] * 5 for i in range(5)]
print similar
for x in range(0,5):
    for y in range(0,5):
        similar[x][y] = sklearn.metrics.pairwise.cosine_similarity(ur[x],ur[y])

error :
runfile('C:/Users/Nitin/cf/first.py', wdir='C:/Users/Nitin/cf')
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
Traceback (most recent call last):

  File "<ipython-input-18-e55296403aad>", line 1, in <module>
    runfile('C:/Users/Nitin/cf/first.py', wdir='C:/Users/Nitin/cf')

  File "C:\Users\Nitin\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
    execfile(filename, namespace)

  File "C:\Users\Nitin\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 87, in execfile
    exec(compile(scripttext, filename, 'exec'), glob, loc)

  File "C:/Users/Nitin/cf/first.py", line 23, in <module>
    similar[x][y] = sklearn.metrics.pairwise.cosine_similarity(ur[x],ur[y])

AttributeError: 'module' object has no attribute 'metrics'

Что передать в cosine_s Similarity или как это сделать правильно

1 ответ

Вам нужно импортировать модуль, чтобы использовать его.

from sklearn.metrics.pairwise import cosine_similarity

ИЛИ ЖЕ

import sklearn
# to use it like 
sklearn.metrics.pairwise.cosine_similarity(ur[x],ur[y])

Тогда используйте это.

from sklearn.metrics.pairwise import cosine_similarity

ur = [[0,3,4,0,0,0,5,0],
[4,5,0,0,0,0,3,0],
[0,4,0,3,0,0,1,4],
[2,0,5,0,0,0,3,0],
[0,0,0,5,0,0,0,4]]

similar=[[0] * 5 for i in range(5)]
print(similar)
for x in range(0,5):
    for y in range(0,5):
        similar[x][y] = cosine_similarity(ur[x],ur[y])

similar

выход:

[[array([[ 1.]]),
  array([[ 0.6]]),
  array([[ 0.37097041]]),
  array([[ 0.80295507]]),
  array([[ 0.]])],
Другие вопросы по тегам