Вопрос энтропии питонаЗначения не совпадают с тем, что я должен получить - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть массив:

array([1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

, для которого я пытаюсь получить энтропию.

Код - это то, что я имею ниже. Этот массив взят из первых 20 строк столбца df. Ниже приведен код, который у меня есть. Вывод, который я ищу:

0.60984030471640038  

, но я получаю

0.4689955935892812.

Может кто-нибудь помочь?

import numpy as np
from math import log, e
from scipy.stats import entropy


def find_H(df,column, base=2):
  vc = df[column].value_counts(normalize=True, sort=False)
  base = e if base is None else base
  return -(vc * np.log(vc)/np.log(base)).sum()


find_H(cer.iloc[:20],'ratingID')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...