Semelhança cosseno

Eu estava lendo e me deparei com esta fórmula:

A fórmula é para a semelhança de cosseno. Eu pensei que isso parecia interessante e criei uma matriz numpy que tem user_id como linha e item_id como coluna. Por exemplo, deixeM seja esta matriz:

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

Aqui, as entradas dentro da matriz classificam as pessoasu deu ao itemi com base na linhau e colunai. Quero calcular essa semelhança de cosseno para essa matriz entre itens (linhas). Isso deve render uma matriz 5 x 5, acredito. Eu tentei fazer

df = pd.DataFrame(M)
item_mean_subtracted = df.sub(df.mean(axis=0), axis=1)
similarity_matrix = item_mean_subtracted.fillna(0).corr(method="pearson").values

No entanto, isso não parece certo.

questionAnswers(1)

yourAnswerToTheQuestion