1. Algoritmaya giriş
Karar ağacı, klasik bir makine öğrenimi sınıflandırma algoritmasıdır. Ana temsili algoritmalar ID3, C4.5 ve CARD'dır. Prensip, verileri özetleyerek ve özetleyerek elde edilen bir dizi sınıflandırma kuralı olarak anlaşılabilir. Basit bir örnek:
Bir karar ağacında, bir yaprak düğüm bir karar kuralını temsil eder (genellikle yaprak düğümün kategorisi, düğümün en çok örneğini içeren kategoriye eşittir) Karar ağacı algoritmasının amacı, yüksek doğrulukta bir kural elde etmektir ve karar kuralının doğruluğu kullanılabilir. Yaprak düğümünün karmaşıklığı ölçülür.
2. Karmaşıklık hesaplaması
Karmaşıklık için yaygın olarak kullanılan iki hesaplama yöntemi şunlardır: Örnek bir X kümesi olduğu varsayılırsa, toplam n kategori vardır ve pi, i-inci kategorisinin oranını temsil eder.
(1) Bilgi entropisi:
Yukarıdaki formülde, bilgi entropisinin değeri ne kadar yüksekse, örneklemin karmaşıklığı o kadar yüksek ve belirsizliği o kadar büyüktür.
(2) Gini endeksi:
Yukarıdaki formülde, Gini indeksi ne kadar büyükse, örneğin karmaşıklığı o kadar yüksek ve belirsizliği o kadar büyüktür.
3. Bölünmüş indeks
Karar ağacını oluşturma sürecinde, her bir düğümün bölünmesi, sistemin karmaşıklığını daha fazla azaltmak için hangi öznitelik bölünmesinin seçileceğini dikkate almalıdır. Farklı algoritmalar farklı bölme yöntemlerini seçer.
(1) ID3: Bilgi kazancı
H (x), bölünmeden önce sistemin karmaşıklığını temsil ettiğinde,
Ayrıldıktan sonra sistemin karmaşıklığını gösterir. Değer ne kadar büyükse, bölme modu sistemi daha düzenli hale getirir.
(2) C4.5: Bilgi kazanma oranı
A özelliğinin i-inci değerinin oranını gösterir; burada
Bunun anlamı, A özniteliğinin karmaşıklığıdır. Sistem saflığındaki artışı dikkate almanın yanı sıra, bu formül ayrıca A özniteliğinin karmaşıklığını da dikkate alır. Değer ne kadar büyükse, bölme modu sistemi daha düzenli hale getirir. (ID3 algoritmasında, bilgi kazancı sistemin saflık artışını hesaplamak için seçildiğinden, bölme için genellikle yüksek karmaşıklığa sahip öznitelikler seçilir. Bölme işleminden sonra bazı düğümlerle sonuçlanan, yüksek karmaşıklığa sahip özniteliklerin birçok bölümlenmesi olacaktır. Sadece az sayıda örnek tahmin için istatistiksel anlamlılığa sahip değildir, C4.5 iyileştirmek için bu probleme göre).
(3) KART: Gini katsayısı
CARD algoritması tarafından oluşturulan karar ağacı bir ikili ağaçtır. Her bölüm yalnızca iki düğümü böler. Gini (X | A), bölünmeden sonraki karmaşıklığı temsil eder. Değer ne kadar yüksekse, örneklemin bozukluğu o kadar büyük olur. X1, X2 X'in bölünmesinden sonra iki örnek seti (bölme yöntemi, tüm bölme olasılıklarını geçmek ve en küçük Gini (X | A) noktasını bulmaktır). Değer ne kadar küçükse, bölme yöntemi sistemi daha düzenli hale getirir.
4. Karar ağacı oluşturma
giriş:
Bölünmüş dizin: Bölünmüş bir dizin seçin (bilgi kazancı, bilgi kazanım oranı, Gini katsayısı).
Düğüm bölünmüş sonlandırma koşulları: minimum örnek sayısını ve düğümün maksimum derinliğini seçin.
5. İş uygulamaları
İş senaryosu: Örnek olarak bir uygulama mağazasındaki kişiselleştirilmiş öneri uygulamasını ele alalım.
Adım 1: Kullanıcı portreleri oluşturun, kullanıcı geçmişini indiren uygulama kayıtlarını, yüklü uygulama kayıtlarını ve kullanıcı sosyal özelliklerini (yaş, cinsiyet, eğitim ve şehir) toplayın.
Adım 2: Uygulama kimliği, uygulama türü, uygulama etiketi, uygulama yükleme hacmi sıralaması, uygulama TO'su vb. İçeren bir uygulama portresi oluşturun.
Adım 3: Örnek toplama, kullanıcı geçmişi teşhiri toplama ve uygulama kayıtlarını indirme (alanlar: kullanıcı kimliği, uygulama kimliği, indirilip indirilmeyeceği) ve gümrükten çekme kullanıcı kimliğini, uygulama kimliğini ve kullanıcı portresini, örnek verileri elde etmek için uygulama portre ilişkisini, örnek verileri (kullanıcı kimliği , Uygulama kimliği, kullanıcı portresi, uygulama portresi, indirilip indirilmeyeceği).
Adım 4: Model eğitim örnekleri oluşturun, model özellikleri oluşturmak için kullanıcı portrelerinin farklı tür özellikleri için çapraz kurallar ve uygulama portreleri tanımlayın, tüm örnekler için model özellikleri oluşturmak için tanımlanmış çapraz kuralları kullanın ve model eğitim örnekleri (model özellikleri, indirilip indirilmeyeceği) elde edin.
Adım 5: Model eğitimi, CARD algoritması, tahmin modelini elde etmek için model eğitim örnekleri üzerinde eğitilir.
Adım 6: Bir kullanıcı ve uygulama verilen model kullanımı, yukarıdaki yönteme göre kullanıcının kullanıcı portresini ve uygulamanın uygulama portresini oluşturur ve daha sonra model özelliklerini oluşturmak için tanımlanan çapraz özellik kurallarını kullanır ve tahmin edilen değeri elde etmek için model özelliklerini modele ikame eder.