Ошибка типа в расчете косинусного сходства: неподдерживаемые типы операндов для *: 'NoneType' и 'NoneType' - PullRequest
0 голосов
/ 22 сентября 2019

Я получаю следующую ошибку при расчете сходства косинусов с учетом разреженных данных матрицы. Не могли бы вы помочь мне исправить это?

Traceback (последний вызов был последним): Файл "C: \ Users \ visha\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ nose \ case.py ", строка 197, в файле runTest self.test (* self.arg), файл" C: \ Users \ visha \ introds \ test3.py", строка 70, в test_pairwise_item_sim S = pairwise_item_sim (R) Файл" C: \ Users \ visha \ introds \ problem3.py ", строка 60, в pairwise_item_simдля *: 'NoneType' и 'NoneType'

Ввод: R: матрица рейтинга, матрица с плавающей запятой формы m на n.Здесь m - количество фильмов (предметов), n - количество пользователей.R [i, j] представляет рейтинг j-го пользователя в i-ом фильме, и рейтинг может быть 1,2,3,4 или 5, если R [i, j] отсутствует (еще не оценено), тогда R [i, j] = Нет

Вывод: S: матрица попарного сходства между элементами, матрица с обтеканием формы m на m S [i, j] представляет косинусное сходство между элементом i и элементом j на основена их пользовательских рейтингах.

[код]

def pairwise_item_sim(R):
    similarity = R.dot(R.T)
    square_mag = np.diag(similarity)
    inv_square_mag = 1 / square_mag
    inv_square_mag[np.isinf(inv_square_mag)] = 0
    inv_mag = np.sqrt(inv_square_mag)
    cosine = similarity * inv_mag
    S = cosine.T * inv_mag
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...