Karar Ağaçları ve Özel Mühendisliği: Daha İyi Sonuçlar için Teknikler
Karar Ağaçları ve Özel Mühendisliğine Giriş
Karar ağaçları, her bir dal testinde kullanılan bir ağaç gibi bir yapı olarak karar verir ve her bir yaprak, tahmin edilebilir bir değer veya sınıf etiketini yerine getirir. Her bir ağaç gibi bir özellikte bile, her bir dal test eder ve her bir yaprak anlamlı desenleri yakalamaz.
Özel mühendislik, ham verileri modellemenin, temel özellik mühendisliği tekniklerini geliştirmek ve denetim altına almak gibi ileri yöntemleri tartışmak ve performansa önemli ölçüde yükseltebilecek stratejiler oluşturmak anlamına gelir.Bu makalede, sağlam karar ağaçlarının iç mekaniklerini keşfedeceğiz, temel özellik mühendisliği tekniklerini inceleyeceğiz ve pruning, hiperparametre optimizasyonu gibi ileri yöntemleri tartışacağız.
Karar Ağaçları Nasıl Çalışılır
Bir karar ağacı, Gini impurity (köfke için) veya varyan (toplama için) en iyi ayrımı sağlayan veya bölme noktası seçer, örneğin, en yüksek derinlikte minimum örnekler, veya daha fazla saflık sağlar.
Ağaçta Anahtar Kavramları
Herhangi bir karar ağacının çekirdeği bölme mantığında yatıyor. sınıflandırma ağaçları için, ortak dürtü önlemleri şunları içerir:
- [FONT:0)Gini dürtüsü[[Dönetici: 1 ) – rastgele seçilmiş bir elementin, node'daki etiketlerin dağılımına göre etiketlenmiş olsaydı nasıl sıklıkla yanlış etiketleneceğinin bir ölçüsü.
- [FONT=0)Entropy[Dönetici: 1) Bilgi teorisine dayanarak, node’daki belirsizlikleri ölçmektedir. Bilgi kazancı (entropide kesinti) en iyi bölünmeyi seçmek için kullanılır.
Regresyon ağaçları için, tipik kriter varyanstaki azalmadır veya meydan okuma anlamına gelir. Ağaç hedef değerlerin mümkün olduğunca homojen olduğu çocuk düğümleri yaratmaya çalışır.
Çünkü karar ağaçları parametrik ve esnek değildir, karmaşık, açık özellik ölçeklendirme gerektiren doğrusal olmayan ilişkiler modelleyebilirler. Ancak, bu esneklik aynı zamanda ağacın çok derin büyüdüğünde veya verilerin gürültülü özellikleri içerdiğinde onlara da yatkın hale getirir.
Karar Ağaçlarında Özel Mühendisliğin Rolü
Özel mühendislik, ham veriler ile karar ağacının etkili bir şekilde öğrenebileceği boşlukları doldurur. Ağaçlar dışlayıcılar için sağlam ve bölme için normalleştirme gerektirmez, anlamlı alan bilgisi olan özelliklerden çok faydalanırlar. Zavallı mühendisler bölünebilir, ağaç derinliğine yol açabilir ve genelleştirmeyi azaltırlar.
Well-mühendis özellikleri karar ağaçlarına yardımcı olur:
- Daha önce daha temiz bölünmeler bulun, ağaç derinliğini ve karmaşıklığını azaltın.
- Ağacın derin bir dal olmadan kaçırabileceği değişkenler arasındaki etkileşimleri yakalayın.
- Eksik veri, dağıtımını koruyan ayrı bir bilgilendirici kategori veya engelleyici olarak genişleterek mükemmel bir şekilde şarj etmeyi bırakın.
- Ayrılmalar için arama alanını azaltarak ilgili veya gürültülü girişlere sağlamlığı geliştirin.
Encoding Categorical Değişkenler
Karar ağaçları doğrudan kategorik metin veya etiketlerle çalışamaz. En yaygın kodlama stratejileri şunlardır:
- [FONT:0]Bir-hot encoding[[Dönetici] – her kategori için ikili sütunlar yaratır. Bu, kategori sayısı küçük olduğunda iyi çalışır (örneğin, <20) ve kategoriler sipariş edilmez.
- [FONT:0)Label encoding[[[Dönetici: 1) – kategoriye tam kodlar atamak için. basit olsa da, ağacı yanlış yönlendirebilecek bir ordinal ilişki anlamına gelebilir.
- [FONT:0]Target encoding[[Dönetici: 1 ) – Bu kategori için hedef değişkenin (sonsuzdan kaçınmak için) anlamına gelir.Bu yüksek kartel özellikleri için güçlü olabilir, ancak veri sızıntısını önlemek için dikkatli yapılmalıdır.
Yüksek kartelallik kategorical özellikleri ile uğraşırken (örneğin, ZIP kodlarını binlerce seviyede), bir-hot kodlaması pratik hale gelir. Bu tür durumlarda, hedef kodlama veya gruplama nadir kategorilerde patlama boyutu olmadan bilgi koruyabilir.
Eksik Data
Çoğu karar ağacı uygulamaları, örnekleri çoğunluk şubesine yönlendirerek eksik değerleri içebilir. Ancak, bu varsayılan davranış genellikle altoptimaldir. Daha iyi sonuçlar veri yapısıyla uyumlu olan açık bir kesintiden gelir. Teknikler şunları içerir:
- [FONT:0]Mean/median imputation[Döntgen: 1) Basit ve hızlı, ancak düz değişkenler ve önyargı bölünebilir.
- [FONT:0) Kedili özellikler için Mode engellenme[Dönetici:0) - en yaygın kategoriyi korur.
- [FONT:0) Bir “kabul” göstergesini ([Dönetici) ihlal etmek, değerin orijinal eksik olup olmadığını gösteren ayrı bir ikili özelliktir.
- [FONT:0]K-NN veya regresyon inkarı) - daha sofistike ama hesaplamalı yoğun olabilir. Eksikliğin mekanizması bilgilendirici olduğunda buna değer olabilir.
Karar ağaçları için, “hazırlama göstergesi” yaklaşımı özellikle güçlüdür, çünkü ağaç eksik veri şubelerinin gözlemlenen değerlerden farklı davrandığına karar verebilir.
Özellik ve Karar Ağaçları
Ortak bir yanlış anlama, karar ağaçlarının özellik ölçeklendirmesi gerekir, çünkü bölünmüşler, normalleşme veya IşıkGBM gibi yöntemleri kullanarak, Gini veya entropi kazancı etkilemez - yalnızca sipariş konuları içerir. Bu nedenle, normalleştirme veya standartlaştırma saf karar ağaçları için önemlidir. Ancak, XGBoost veya LightGBM gibi kombinasyonlar normalizasyon ile birlikte kullanıldığında ölçeklendirme yöntemlerine dayanmaktadır veya işlem öncesi algoritmaları içerir.
Karar Ağaçları için Gelişmiş Özel Mühendislik
Temel kodlama ve yetersizlik ötesinde, birkaç gelişmiş teknik karar ağacı performansını belirgin bir şekilde artırabilir.
Interaction Özellikler Oluşturma
Bir karar ağacı, farklı özellikler üzerinde başarısal bölünmeler yaratarak doğal olarak model etkileşimleri yapabilir. Örneğin, bir ağaç gelire ilk olarak bölünebilir, sonra her gelir grubundaki yaşlarda, sığ bölünmede değişebilir.Bu, derin bir dal gerektirirse, bağlantı özellikleri yaratarak bazı etkileşimleri kaçırabilir - örneğinFLT:0 veyaİLFLT:1).
Etkileşim özellikleri olarak yaratılabilir:
- Multiplicative kombinasyonlar (iki özelliklerin ürünü)
- Oran özellikleri (örneğin, borç- gelir oranı)
- Boolean bayrakları birleştirilmiş koşullar için (örneğin, “is young and high gelirli”)
Özel Binme ve Disiplin
Karar ağaçları sürekli olarak yerli olarak özelliklerini ele geçirebiliyorken, bazen aralıklara binmek gürültülü verileri yönetmeye veya lineer olmayan eşleri vurgulamaya yardımcı olabilir. Örneğin, ham yaş kullanmak yerine, “0-18”, “19-35”, “36-60”, “60+”, ilişkiyi kesinlikle monoton bir şekilde basitleştiremez.
Domain-Specific Özellikler
Hiçbir özellik mühendisliği tekniği, alan bilgilerini değiştirmiyor. Örneğin, “Son saatte işlemlerin sayısı” veya “ortalama işlem miktarı kullanıcı temeline göre daha fazla kazanç elde ediyor.Her zaman tasarım özellikleri yaparken iş veya bilimsel bağlamı düşünün.
Daha İyi Karar Ağacı Sonuçları için Teknikler
Mükemmel özelliklerle bile, bir karar ağacı uygun şekilde kısıtlanmamışsa hala aşırı veya düşük olabilir. Aşağıdaki teknikler hem model ayar hem de ensemble stratejilerine hitap eder.
Özel Seçim Seçici
Karar ağaçları, sadece yetersizliği azaltmak için özellikleri kullanarak doğal olarak özel bir seçim gerçekleştirmektedir. Ancak, birçok irrelevant özellik var olduğunda, ağaç hala onlara şans ve aşırılık ile bölünebilir.Eğitimden önce özel seçim yöntemleri kullanın:
- [FONT:0) Direktif yöntemleri[Dönem:0)[Dönetici: hedefle korelasyon, chi-square testi, karşılıklı bilgi.
- [FONT:0]Wrapper yöntemleri[[[Dönetici: 1), recursive özellik ortadan kaldırılması (RFE) en az önemli özellikleri ortadan kaldırır.
- [FONT:0]Embedded yöntemleri[[Dönemli: 1) ağaç temelli bir özellik ön bir Random Forest veya Ekstra Ağaç modelinden önemlidir.
Elited gürültülü özellikler arama alanını azaltır, daha küçük ağaçlara ve daha iyi genelleştirmeye yol açar.
Pruning
Pruning karar ağaçlarının aşırı yüklenmesine karşı birincil savunmadır. İki ana yaklaşım vardır:
- [FONT:0)Öylenceli bir şekilde durdurulur (Dönemli bir şekilde durdurulur)[BİLMİŞK:0)))[Üye Olmayanlar (Dönemli))))))[Üye Olmayanlar (örneğin, 5-10) genellikle önyargılı ticaret-dönüşümlü ticaret-dönüşümlülükler geliştirir.
- [0]Post-pruning (cost-complexity pruning)) – tam bir ağaç yetiştirmek ve sonra performansa katkıda bulunan dalları geri kesmek, karmaşık parametre (ccp alpha in scikit-learn) Bu yöntem manuel derinlik olmadan en uygun ağaç boyutları elde edebilir.
Posta-pruning genellikle daha fazla veriye dayalı ve uygun ve karmaşık arasındaki en iyi ticaret-off bulabilir.
Hiperparametre Tuning
Karar ağaçları, büyüme ve genelleştirmeyi kontrol eden birkaç hiperparametre ortaya çıkarır. Aşağıdaki parametreler üzerinde sistematik bir ağ arama veya rastgele arama önemli kazanımlar elde edebilir:
- [FONT=0)max derinlemesine[[[Dönemli: 1 ) - Üst kat derinliğini kontrol eder. Küçük değerler aşırı yüklemeyi önler.
- [FONT:0]min samples split – Bir iç düğümü bölmek için gerekli olan en az sayıda örnek.
- [FONT:0]min samples leaf[DÜT:1) – Bir yaprak node olması gereken minimum örnekler. çok az örnekle terk etmek için modeli çözün.
- [FONT:0]min impurity decrease[DÜT:1) – Sadece bir eşin üzerindeyse, karmaşık bir cezaya benzer.
- [FONT:0]criterion[[Dönetici ve entropi arasında sınıflandırma; MSE veya MAE regresyon için.
Set ayarlandığında, her zaman geçerlilik setine aşırı yüklemeden kaçınmak için çapraz değer kullanın.
Ensemble Yöntemleri
Tek karar ağaçları yüksek değişken modelleridir. Bir araya gelen birçok ağacı çarpıcı şekilde azaltın, düşük önyargıyı sürdürürken değişkenliği azaltır.En popüler ensemble yaklaşımları şunlardır:
- [FONT:0]Random Forests[[Dönetici: 1 ) - Tek bir ağaçtan daha fazla parça çıkarmak için birçok ağaç inşa etmek.Son tahmin çoğunluk oylaması ( sınıflama) veya ortalama (regresyon) Random Forests sağlam, yüksek boyutlu verileri iyi idare etmek ve tek bir ağaçtan daha az eğilimlidir.
- [FONT:0)Gradient Boosting Machines (GBM))[değiştir | kaynağı değiştir], ağaç derinliği ve altsamlı oranların her doğrulanması. Popüler uygulamalar XGBoost, LightGBM ve CatBoost. GBM'ler genellikle devlet-of-sanat performansı elde eder, ancak öğrenme oranı, ağaç derinliği ve altsample oranın her doğrulanması gerekir.
- [Düzen Ağaçları:0)Extra Ağaçlar (Extremely Randomized Trees)) - Random Forests'a benzer ama daha rastgelelik ile: ayrılık eşleri, yetersizleşme yerine rastgele seçilir.
Çoğu pratik problem için, bir Random Forest bazline ile başlayın ve sonra bir melodi GBM verimi mükemmel sonuçlar denemeye çalışın. Her iki çerçeve de scikit- learning, XGBoost ve LightGBM gibi popüler kütüphanelerde mevcuttur.
Karar Ağacı Projeler için Pratik İş Akışı
Yukarıdaki fikirleri pekiştirmek için, burada, özel mühendislik ile karar ağaçları uygulamak için pratik bir iş akışı:
- [FONT:0)Exploratory Data Analysis (EDA))[Veri türlerini, eksik kalıpları, dağıtımları ve korelasyonları anlayın.
- [FONT=0)Temel özellik mühendisliği[[Dönetici: 1)[Döneticiler, gösterge bayrakları ile eksik değerlerin, basit alan özellikleri yaratması.
- [0] Bir temel tek ağaç [Döntilmiş 1] – Evaluate performans ve potansiyel aşırılık (gösterme ağacı, mükemmel eğitim doğruluğu) tespit edin.
- [FONT:0) İleri özellikleri [[Döneticileri, binme, hedef, trans-validasyon kullanarak performans iyileştirmesini kullanarak genişletin.
- [FONT:0)Ana Sayfa seçimi[[Dönetici:0)) - Bir Rastgele Orman veya filtre yöntemlerin boyutsalliği azaltmak için önemini kullanın.
- [FONT:0]Hyperparameter ayar[[Döntgen: 1) Tek ağaç üzerinde (bir araya gelme) en iyi derinlik ve yaprak boyutları anlamak için ağ arama.
- [FONT:0)Ensemble binası[[[Dönetici: 1) – Bir Rastgele Orman veya gradient güçlendirme modeli. Tune ensemble-specific hiperparameters (bine, öğrenme oranı, subsample).
- [FONT=0]Evaluation and Interpret[[Dönlendirme ve yorumlama[Dönlendirme:0))) - Uygulamanın önemli arsaları, kısmi bağımlılık arsaları ve ağaç görselleştirmesini kullanarak, modelin alan bilgisi ile uyumlu olduğunu doğrulamayı kullanın.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Karar ağaçları makine öğreniminin temel taşı olarak kalır, çünkü yorumlarlanabilir, küçük veri işleme öncesi gerektirir ve karmaşık desenleri yakalayabilirsiniz. Ancak, performansları onlara beslenen özelliklerin kalitesi tarafından derinden etkilenir.Temel mühendislik teknikleri - kategorize edilebilir ve eksik veri işleme özellikleri oluşturmak için veri işlemesi gerekir - daha genelleştirilebilir bölümler bulmak için karar ağaçları güçlendirebilirsiniz.
Daha fazla kazanç, judicious pruning, hiperparametre ayarından gelir ve özellikle de Random Forests ve gradient güçlendirme gibi kombinasyonlar. İyi motorlu özelliklerin kombinasyonu ve ensemble çeşitliliği genellikle üretimde güvenilir bir şekilde performans gösteren bir farktır.
Bu teknikleri uygularken, hiçbir mühendislik miktarının domaini dikkate alınabileceğini unutmayın.Her zaman verilerin derin bir anlayışla başlayın ve problemin daha fazla okuması için resmi scikit-öfüt-öfke belgelemesi:0)Tezli özellik tasarım ve düşünce tarzı ile ilgili tasarım, kapsamlı bir şekilde tasarıma sahip olmak için, projelerinizi tam bir karar ağaçları açabilirsiniz.