我有一个矩阵 X,我正在尝试将 KNN 与 pearson 相关度量一起使用。是否可以使用 pearson 相关性作为 sklearn 指标?我尝试过这样的事情:
def pearson_calc(M):
P = (1 - np.array([[pearsonr(a,b)[0] for a in M] for b in M]))
return P
nbrs = NearestNeighbors(n_neighbors=4, metric=pearson_calc)
nbrs.fit(X)
knbrs = nbrs.kneighbors(X)
但是,这不起作用,因为我收到以下错误:
pearson_affinity() takes 1 positional argument but 2 were given
我假设 pearson_calc 函数是错误的。也许它需要 a,b 参数而不是矩阵。