sklearn скорректировал разрывы оценки взаимной информации в большом наборе

#python #numpy #scikit-learn

#python #numpy #scikit-learn

Вопрос:

 from sklearn.metrics import adjusted_mutual_info_score
import numpy as np

a = np.random.randint(0,2,30000000)
b = np.random.randint(0,2,30000000)

print(a.shape)
print(b.shape)

c = adjusted_mutual_info_score(a,b)

print(c)
  

Если вы запустите следующий код, вы получите:

 RuntimeWarning: invalid value encountered in log
  log_outer = -np.log(outer)   log(pi.sum())   log(pj.sum())
nan
  

Я не понимаю, почему это так, но если вы создаете меньшие наборы из 1000 значений, все работает отлично. Кто-нибудь может объяснить мне, что происходит и как это исправить? Я был бы признателен за это.

Комментарии:

1. Работает для меня и возвращает значение. Я получаю только предупреждение «sklearn metrics cluster supervised.py: 732: FutureWarning: поведение AMI изменится в версии 0.22.».

2. @Trilarion Спасибо, могу я спросить, какая версия sklearn у вас есть?

3. 0.20.3 установлен через conda.

4. @Trilarion Спасибо