Bilgi Kazanımı yerine Gini Impurity'yi ne zaman kullanmalıyım?


66

Birisi, Gini katışıksızlığı ile Bilgi kazancının arkasındaki mantığı açıklayabilir mi (Entropi'ye dayanarak)?

Karar ağaçları kullanılırken farklı senaryolarda hangi metrik daha iyidir?


5
@ Anony-Mousse Sanırım yorumunuzdan önce belliydi. Sorun, her ikisinin de avantajları olup olmadığı değil, hangi senaryolarda birinin diğerinden daha iyi olduğu sorusudur.
Martin Thoma

“Entropi” yerine “Bilgi Kazancı” nı önerdim, çünkü ilgili bağlantılarda işaretlendiği gibi (IMHO) oldukça yakın. Daha sonra, Gini katışıklığı ne zaman ve bilgi kazancı ne zaman kullanılır?
Laurent Duval,

1
Burada , yararlı olabilecek Gini kirliliğinin basit bir yorumunu yayınladım .
Picaud Vincent

Yanıtlar:


47

Gini kirliliği ve Bilgi Kazanç Entropisi hemen hemen aynıdır. Ve insanlar değerleri birbiri yerine kullanırlar. Aşağıda her ikisinin de formülleri vardır:

  1. Gini:G,bennben(E)=1-Σj=1cpj2
  2. Entropi:'H(E)=-Σj=1cpjkütükpj

Bir seçim yapıldığında, Gini katışıklığını kullanırdım, çünkü hesaplama yoğunluğu olan logaritmik fonksiyonları hesaplamamı gerektirmiyordu. Çözümünün kapalı formu da bulunabilir.

Karar ağaçları kullanılırken farklı senaryolarda hangi metrik daha iyidir?

Gini kirliliği, yukarıda belirtilen nedenlerden dolayı.

Yani, CART analitiği söz konusu olduğunda hemen hemen aynılar.

İki yöntemin hesaplamalı karşılaştırması için faydalı referans


1
Entropi formülünü görmek çok yaygındır, karar ağacında gerçekte kullanılan şey koşullu entropiye benzemektedir. Bunun önemli bir ayrım olduğunu düşünüyorum ya da bir şeyleri özlüyorum?
user1700890

@ user1700890 ID3 algoritması Info kullanır. entropi kazanmak. Koşullu entropi okumalıyım. Muhtemelen
ID3'e göre

1
Sanırım gini sıkıntısı tanımınızın yanlış olabileceğini düşünüyorum: en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity
Martin Thoma

22

Genel olarak, performansınız Gini safsızlığı veya Entropi kullanıp kullanmadığınızı değiştirmez.

Laura Elena Raileanu ve Kilian Stoffel hem " gini endeksi ile bilgi kazanımı kriterleri arasındaki teorik karşılaştırma " 'yı karşılaştırdılar . En önemli açıklamalar şunlardı:

  • Sadece gini safsızlığı veya entropi kullanmanız durumların% 2'sinde önemlidir.
  • Entropi, hesaplanması biraz daha yavaş olabilir (çünkü logaritmayı kullanır).

Bir keresinde bana her iki metrinin de var olduğu söylendi çünkü farklı bilim dallarında ortaya çıktılar.


16

İki değerli bir değişken için, f ve (1-f) fraksiyonları ile ortaya çıkan
gini ve entropi şöyle verilir:
gini = 2 * f (1-f)
entropi = f * ln (1 / f) + (1-f) * ln (1 / (1-f))
Bu ölçüler 1.0'a ölçeklendiğinde çok benzerdir (2 * gini ve entropi / ln (2) çizimi):

Gini (y4, mor) ve Entropy (y3, yeşil) değerleri karşılaştırma için ölçeklendirildi


14

Gini sürekli özellikler için tasarlanmıştır ve Entropy sınıflarda ortaya çıkan özellikler içindir.

Gini yanlış sınıflandırmayı en aza indirecek.
Entropi , keşif analizi amaçlı.

Entropi hesaplamak için biraz daha yavaştır


7

0<u<1,kütük(1-u)=-u-u2/2-u3/3+0<p<1,kütük(p)=p-1-(1-p)2/2-(1-p)3/3+
0<p<1,-pkütük(p)=p(1-p)+p(1-p)2/2+p(1-p)3/3+
Normalize Gini ve Entropi kriterleri

@NIMISHAN tarafından açıklandığı gibi Gini, yanlış sınıflandırmayı en aza indirmek için 0,5'e kadar simetrik olduğundan daha uygundur, entropi ise küçük olasılıkları daha fazla cezalandırır.


3

Entropy, log hesaplaması nedeniyle Gini Endeksinden biraz daha fazla hesaplama süresi alıyor, belki de bu yüzden Gini Endeksinin birçok ML algoritması için varsayılan seçenek haline geldi. Ancak, Tan ve diğ. Veri madenciliğine giriş kitabı

"Kirlilik ölçüsü birbiriyle oldukça tutarlı ... Gerçekten de, ağacı budamak için kullanılan stratejinin, nihai ağaç üzerinde kirlilik ölçüsü seçiminden daha büyük bir etkisi var."

Dolayısıyla, safsızlık ölçüsünün seçiminin tek karar ağacı algoritmalarının performansı üzerinde çok az etkisi olduğu görülüyor.

Ayrıca. "Gini yöntemi yalnızca hedef değişken bir ikili değişken olduğunda çalışır." - Python ile Tahmini Analitik Öğrenme.


3

Geçtiğimiz hafta için ikili sınıflandırma konusunda optimizasyonlar yapıyorum + ve her durumda, entropi gini'den daha iyi performans gösteriyor. Bu, belirli bir veri kümesine özgü olabilir, ancak hiperparametreleri ayarlarken hem denemek, hem de model hakkında varsayımlar yapmak yerine, rasyonel bir seçimdir.

İstatistikleri yürütene kadar verilerin nasıl tepki vereceğini asla bilemezsiniz.


0

Parsimoni ilkesine göre Gini, hesap kolaylığı açısından entropiyi geride bırakıyor (log, işlemci / Makine düzeyinde düz çarpma yerine daha fazla hesaplama içeriyor.

Fakat entropinin kesinlikle yüksek dengesizlik içeren bazı veri vakalarında bir avantajı vardır.

Entropi olasılık kütüğü kullandığı ve olay olasılıkları ile çarptığı için, arka planda gerçekleşen, düşük olasılıkların değeri artar.

Eğer veri olasılık dağılımınız üstel ise ya da Laplace (keskin noktada olasılık dağılımına ihtiyaç duyduğumuz derin öğrenme durumlarında olduğu gibi) entropi Gini'den daha iyi performans gösteriyor.

2 olay varsa bir örnek vermek gerekirse, bir .01 olasılık ve diğer .99 olasılık.

Gini'de Prob sq .01 ^ 2 + .99 ^ 2, .0001 + .9801 olacaktır, düşük olasılık her şeyin çoğunluk olasılığına göre yönetildiği için hiçbir rol oynamaz demektir.

Şimdi entropi durumunda .01 * log (.01) +. 99 * log (.99) = .01 * (- 2) + .99 * (-. 00436) = -.02 -00432 şimdi bu durumda açıkça görülüyor düşük olasılıklar daha iyi ağırlık yaşı verilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.