Арифметическая и геометрическая нормализованная взаимная информация

В чем разница между арифметической и нормализованной геометрической взаимной информацией, у меня есть:

    In [4]: real
    Out[4]:
    array([0., 0., 0., 0., 0., 0., 0., 0., 1., 1., 0., 0., 0., 0., 1., 1., 0., 0., 1., 0., 1., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

    In [6]: test
    Out[6]:
    array([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., 0.])

Теперь я хочу рассчитать нормализованную взаимную информацию: но она действует странно

    In [13]: normalized_mutual_info_score(real.astype(int),test.astype(int),average_method='arithmetic')
    Out[13]: 6.422893887289432e-16

    In [14]: normalized_mutual_info_score(real.astype(int),test.astype(int),average_method='geometric')
    Out[14]: 1.0

главный вопрос в ПОЧЕМУ?

1 ответ

Решение

Речь идет о том, как рассчитать знаменатель формулировки. Для нормализованной взаимной информации и скорректированной взаимной информации нормализующее значение обычно является некоторым обобщенным средним значением энтропий каждой кластеризации. Существуют различные обобщенные средства, и не существует твердых правил для предпочтения одного над другими. Решение в значительной степени основано на поле; например, при обнаружении сообщества среднее арифметическое является наиболее распространенным. Каждый метод нормализации обеспечивает "качественно сходное поведение". В нашей реализации это контролируется параметром average_method. это научная информация

Другие вопросы по тегам