Проблема: корреляция всегда дает значения нан - PullRequest
1 голос
/ 30 апреля 2019

Я новичок в Python и пытаюсь выполнить следующий код:

from scipy.spatial.distance import correlation
u1=np.array([10])
u2=np.array([20])
correlation(u1,u2)

Но я получаю Нэн, почему?

RuntimeWarning: invalid value encountered in double_scalars
dist = 1.0 - np.dot(um, vm) / (norm(um) * norm(vm))
output : nan

Пожалуйста, помогите мне с этим.

1 Ответ

2 голосов
/ 30 апреля 2019

Я думаю, что вы неверно истолковали концепцию корреляции.

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

Вы передаете только одно значение, поэтому оно не сможет определить корреляцию. Вам нужно передать списки с несколькими значениями, чтобы найти корреляцию между ними.

from scipy.spatial.distance import correlation

u1=np.array([10,14,17])
u2=np.array([20,18,12])

print(correlation(u1,u2))

Выход:

1.934719542804484
...