2012-11-22 13 views
5

Makine öğrenmeye yeni başlıyorum ve karar ağaçları ile deney yapıyorum. Bir karar ağacının bu görselleştirmesine http://scikit-learn.org/dev/_images/iris.svg bakıyorum ve hata değerinin ne anlama geldiğini merak ediyorum. Gini Endeksi mi yoksa Bilgi kazancı mı? Sezgisel olarak ne anlama geldiğini de takdir ediyorum.Scikit Decistion Ağacı Görselleştirme: hata değerinin anlamı

+0

Sezgisel anlam basittir: bu düğüme kadar ağaca geçiş yaparsanız gerçek sınıflandırma hatası için bir proxy, daha sonra önerdiği öneriyi yapın (görünüşte resimde gösterilmiyor ...). –

cevap

2

Bu somut örnekte, bir düğümün "hatası", bu düğüme ulaşan tüm örneklerin Gini Dizini'dir. Genel olarak, bir düğümün "hatası", beton katışkı kriterine (örneğin, sınıflandırma için gini veya entropisi ve regresyon için ortalama karesel hataya) bağlıdır.

Sezgisel olarak, çoklu ayarın ne kadar homojen olduğunu ölçmek için hem safsızlık kriterlerini (gini ve entropi) düşünebilirsiniz. Çoğunlukla tek tipte elemanlar içeriyorsa (bu "saf" olarak da adlandırılırsa, "safsızlık kriteri" olarak adlandırılır), bir çok set homojendir. Bizim örneğimizde, çoklu kümenin öğeleri, karşılık gelen düğüme ulaşan sınıf etiketleridir. Bir düğümü ikiye böldüğümüzde, ortaya çıkan bölümlerin saf olmasını isteriz - yani sınıfların iyi bir şekilde ayrıldığı anlamına gelir (bir bölüm çoğunlukla bir sınıfın örneklerini içerir).

criterion="entropy" ve ikili sınıflandırmada 1.0 hatası, düğümde eşit sayıda pozitif ve negatif örnek bulunduğunu gösterir (en homojen çoklu set).

Sen uzantı türü sklearn.tree._tree.Tree ait nesne üzerinde bir tutar onun tree_ niteliği yoluyla DecisionTreeClassifier veya DecisionTreeRegressor temelini ağaç veri yapısını erişebilir. Bu nesne, bir dizi paralel numol dizisi olarak ağacı temsil eder. init_error dizisi, her düğümün başlangıç ​​hatasını tutar; Düğüm bir düğüm düğümüyse, best_error iki bölümün hatalarının toplamını tutar. Daha fazla ayrıntı için https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L45 sınıf belgelerine bakın.