Kiedy powinienem używać Gini Impurity zamiast Gain Information?

66

Czy ktoś może praktycznie wyjaśnić uzasadnienie nieczystości Giniego w stosunku do zdobywania informacji (na podstawie Entropii)?

Której metryki lepiej użyć w różnych scenariuszach podczas korzystania z drzew decyzyjnych?

Krish Mahajan
źródło
5
@ Anony-Mousse Myślę, że było to oczywiste przed twoim komentarzem. Nie chodzi o to, czy oba mają swoje zalety, ale w których scenariuszach jedno jest lepsze od drugiego.
Martin Thoma
Zaproponowałem „Zysk informacji” zamiast „Entropii”, ponieważ jest on bliżej (IMHO), jak zaznaczono w powiązanych linkach. Następnie pytanie zostało zadane w innej formie w temacie Kiedy używać zanieczyszczenia Gini i kiedy korzystać z pozyskiwania informacji?
Laurent Duval
1
Zamieściłem tutaj prostą interpretację nieczystości Gini, która może być pomocna.
Picaud Vincent

Odpowiedzi:

47

Zanieczyszczenie Gini i Entropia zdobywania informacji są prawie takie same. Ludzie używają tych wartości zamiennie. Poniżej znajdują się formuły obu:

  1. Gini:Gini(E)=1j=1cpj2
  2. Entropy:H(E)=j=1cpjlogpj

Gdybym miał wybór, użyłbym nieczystości Giniego, ponieważ nie wymaga to ode mnie obliczania funkcji logarytmicznych, które są intensywne obliczeniowo. Można również znaleźć zamkniętą formę jego rozwiązania.

Której metryki lepiej użyć w różnych scenariuszach podczas korzystania z drzew decyzyjnych?

Zanieczyszczenie Giniego z wyżej wymienionych powodów.

Tak, są one prawie takie same, jeśli chodzi o analityce koszyka.

Pomocne odniesienie do obliczeniowego porównania dwóch metod

Dawny33
źródło
1
Formuła entropii jest tak powszechna, że ​​to, co jest naprawdę używane w drzewie decyzyjnym, wygląda jak entropia warunkowa. Myślę, że to ważne rozróżnienie, czy czegoś brakuje?
user1700890,
@ user1700890 Algorytm ID3 wykorzystuje Info. uzyskać entropię. Muszę przeczytać o entropii warunkowej. Prawdopodobnie poprawa w stosunku do ID3 :)
Dawny33
1
Myślę, że twoja definicja impiniji gini może być niepoprawna: en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity
Martin Thoma
22

Zasadniczo wydajność nie ulegnie zmianie, niezależnie od tego, czy użyjesz zanieczyszczenia Gini, czy Entropy.

Laura Elena Raileanu i Kilian Stoffel porównali oba w „ Teoretycznym porównaniu indeksu Gini z kryteriami pozyskiwania informacji ”. Najważniejsze uwagi to:

  • Ma to znaczenie tylko w 2% przypadków, gdy używasz zanieczyszczenia gini lub entropii.
  • Entropia może być nieco wolniejsza do obliczenia (ponieważ wykorzystuje logarytm).

Powiedziano mi kiedyś, że oba wskaźniki istnieją, ponieważ pojawiły się w różnych dyscyplinach nauki.

Archie
źródło
16

W przypadku zmiennej o dwóch wartościach, pojawiającej się z ułamkami f i (1-f),
gini i entropia są podane przez:
gini = 2 * f (1-f)
entropia = f * ln (1 / f) + (1-f) * ln (1 / (1-f))
Miary te są bardzo podobne, jeśli są skalowane do 1,0 (wykreślanie 2 * gini i entropii / ln (2)):

Skalowane dla porównania wartości Gini (y4, fioletowy) i Entropii (y3, zielony)

DanLvii Dewey
źródło
14

Gini jest przeznaczony dla atrybutów ciągłych, a Entropy dla atrybutów występujących w klasach

Gini ma zminimalizować błędną klasyfikację
Entropia służy do analizy eksploracyjnej

Obliczanie Entropii jest nieco wolniejsze

NIMISHAN
źródło
7

0<u<1,log(1u)=uu2/2u3/3+0<p<1,log(p)=p1(1p)2/2(1p)3/3+
0<p<1,plog(p)=p(1p)+p(1p)2/2+p(1p)3/3+
Znormalizowane kryteria Gini i Entropii

Ostatecznie, jak wyjaśniono @NIMISHAN, Gini jest bardziej odpowiedni, aby zminimalizować błędne klasyfikowanie, ponieważ jest symetryczny do 0,5, podczas gdy entropia będzie bardziej karana za małe prawdopodobieństwo.

ClementWalter
źródło
3

Entropia zajmuje nieco więcej czasu obliczeniowego niż Indeks Gini ze względu na obliczanie dziennika, może dlatego Indeks Gini stał się domyślną opcją dla wielu algorytmów ML. Ale od Tan i in. al book Wprowadzenie do Data Mining

„Miara zanieczyszczeń jest ze sobą dość spójna ... Rzeczywiście strategia zastosowana do przycinania drzewa ma większy wpływ na końcowe drzewo niż wybór miary zanieczyszczenia”.

Wygląda więc na to, że wybór miary zanieczyszczenia ma niewielki wpływ na wydajność algorytmów pojedynczego drzewa decyzyjnego.

Również. „Metoda Gini działa tylko wtedy, gdy zmienna docelowa jest zmienną binarną.” - Nauka analizy predykcyjnej za pomocą języka Python.

Rakend Dubba
źródło
3

Przez ostatni tydzień robiłem optymalizacje klasyfikacji binarnej i w każdym przypadku entropia znacznie przewyższa gini. Może to być specyficzne dla zestawu danych, ale mogłoby się wydawać, że wypróbowanie obu podczas strojenia hiperparametrów jest racjonalnym wyborem, zamiast wcześniejszego zakładania modelu.

Nigdy nie wiesz, jak zareagują dane, dopóki nie uruchomisz statystyk.

H Froedge
źródło
0

Zgodnie z zasadą parsimony Gini przewyższa entropię pod względem łatwości obliczeń (log jest oczywiste, że wymaga więcej obliczeń niż zwykłego mnożenia na poziomie procesora / maszyny).

Ale entropia zdecydowanie ma przewagę w niektórych przypadkach danych, w których występuje duża nierównowaga.

Ponieważ entropia wykorzystuje dziennik prawdopodobieństw i pomnożenie przez prawdopodobieństwa zdarzenia, to co dzieje się w tle, zwiększa się wartość niższych prawdopodobieństw.

Jeśli rozkład prawdopodobieństwa danych jest wykładniczy lub Laplace'a (jak w przypadku głębokiego uczenia się, gdzie potrzebujemy rozkładu prawdopodobieństwa w ostrym punkcie), entropia przewyższa Gini.

Dla przykładu, jeśli masz 2 zdarzenia, jedno prawdopodobieństwo .01 i drugie prawdopodobieństwo .99.

W Gini Prob sq będzie wynosić 0,01 ^ 2 + .99 ^ 2, .0001 + .9801 oznacza, że ​​niższe prawdopodobieństwo nie odgrywa żadnej roli, ponieważ wszystko rządzi się prawdopodobieństwem większości.

Teraz w przypadku entropii .01 * log (.01) +. 99 * log (.99) = .01 * (- 2) + .99 * (-. 00436) = -.02-.00432 teraz w tym przypadku wyraźnie widoczne niższe prawdopodobieństwa mają lepszy wiek.

Gaurav Dogra
źródło