Как рассчитать энтропию кластеризации? Рабочий пример или программный код

Я хотел бы рассчитать энтропию этой примерной схемы

http://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html

введите описание изображения здесь

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

Например, на данном изображении четко и хорошо объяснено, как рассчитать чистоту.

Вопрос очень ясен. Мне нужен пример, как рассчитать энтропию этой схемы кластеризации. Это может быть пошаговое объяснение. Это может быть код C# или код Phyton для расчета такой схемы

Здесь формула энтропии

Я буду кодировать это на С#

Большое спасибо за любую помощь

введите описание изображения здесь

Мне нужен ответ, как указано здесь: https://stats.stackexchange.com/questions/95731/how-to-calculate-purity


person MonsterMMORPG    schedule 29.02.2016    source источник
comment
stackoverflow.com/questions/35760706/   -  person Mitch Wheat    schedule 03.03.2016
comment
Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что это вопрос статистики.   -  person Shog9    schedule 13.03.2016


Ответы (2)


Я признаю, что этот раздел книги по НЛП немного сбивает с толку, потому что они не проводят полный расчет внешней меры энтропии кластера, вместо этого они сосредоточены на расчете расчета энтропии отдельного кластера. Вместо этого я попытаюсь использовать более интуитивный набор переменных и включу полный метод вычисления внешней меры полной энтропии.

Полная энтропия кластеризации равна:

формула

куда:

формула - это набор кластеров

H(w) – энтропия отдельного кластера.

N_w — количество точек в кластере w.

N — общее количество баллов.

Энтропия кластера w

формула

где: c — классификация в множестве C всех классификаций.

P(w_c) — это вероятность того, что точка данных будет классифицирована как c в кластере w.

Чтобы сделать это пригодным для использования, мы можем заменить вероятность на MLE (оценка максимального правдоподобия) этой вероятности для прибыть в:

формула

куда:

|w_c| — количество баллов, классифицированных как c в кластере w.

n_w – количество точек в кластере w.

Итак, в приведенном примере у вас есть 3 кластера (w_1,w_2,w_3), и мы будем вычислять энтропию для каждого кластера отдельно, для каждой из 3 классификаций (x, круг, ромб).

H(w_1) = (5/6)log_2(5/6) + (1/6)log_2(1/6) + (0/6)log_2(0/6) = -0,650

H(w_2) = (1/6)log_2(1/6) + (4/6)log_2(4/6) + (1/6)log_2(1/6) = -1,252

H(w_3) = (2/5)log_2(2/5) + (0/5)log_2(0/5) + (3/5)log_2(3/5) = -0,971

Итак, чтобы найти общую энтропию для набора кластеров, вы берете сумму энтропий, умноженных на относительный вес каждого кластера.

H(Омега) = (-,650 * 6/17) + (-1,252 * 6/17) + (-,971 * 5/17)

H(Омега) = -0,956

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

person Snives    schedule 03.03.2016
comment
большое спасибо за отличный и окончательный ответ. Я надеюсь, что другие любители узнают от вас, как отвечать :) - person MonsterMMORPG; 31.03.2016

Расчет прост.

Вероятность NumberOfMatches/NumberOfCandidates. Вы применяете логарифмы по основанию 2 и берете суммы. Обычно вы взвешиваете кластеры по их относительным размерам.

Единственное, на что следует обратить внимание, это когда p=0. Тогда логарифм не определен. Но мы можем безопасно использовать p log p = 0, если p = 0 из-за p вне логарифма.

Поскольку log 1 = 0 минимальная энтропия равна 0. Идеальные результаты должны иметь энтропию 0, иначе возникнет ошибка.

person Has QUIT--Anony-Mousse    schedule 01.03.2016
comment
хорошо, значит, для первого кластера P(wk) = 4/5, верно? N правильное количество кластеров? поэтому я рассчитываю для первого кластера, подобного этому - ((4/5 * log (4/5)) / (4/3 * log (4/3))) я прав? затем я вычисляю так для каждого кластера и суммирую все? - person MonsterMMORPG; 01.03.2016
comment
Вы должны смотреть на каждую метку в каждом кластере, а не только на метку большинства. У вас есть 4/5 и 1/5 в первом кластере. - person Has QUIT--Anony-Mousse; 01.03.2016
comment
можешь написать первый расчет кластера если можно ты очень много. и после каждого вычисления кластера я подвожу итог, все в порядке? - person MonsterMMORPG; 01.03.2016
comment
Вы можете обновить свой ответ, как здесь? stats.stackexchange.com/questions/95731/how-to- расчет чистоты - person MonsterMMORPG; 01.03.2016