Karar ağaçları algoritmalarında öznitelik önem dereceleri (feature importan...

Karar ağaçları algoritmalarında öznitelik önem dereceleri (feature importance)

Bu yazımızda, makine öğrenmesi algoritmalarından biri olan karar ağaçları algoritmasının öznitelik önem dereceleri (feature importance) konusuna değiniyoruz.
Halil Yeşil20 Haz 2023

Öznitelik önem dereceleri, makine öğrenmesi modellerinin başarısını artırmak için kullanılan bir tekniktir. Bu yazıda, karar ağaçları algoritmasının nasıl çalıştığı ve öznitelik önem derecelerinin nasıl hesaplandığı hakkında bilgi edineceksiniz. Ayrıca, XGBoost algoritması ile öznitelik önem derecelerinin nasıl hesaplandığına dair bir örnek çalışma da yer alacaktır.

 

Veri Biliminde Makine Öğrenimi Konsepti

Veri bilimi süreçlerinden biri de makine öğrenimi uygulamasıdır. Günümüz şartlarında scikit-learn kütüphanesi kullanılarak bir makine öğrenimi modeli çalıştırmak aslında oldukça basittir. Fakat burada asıl tartışılması gereken faktör, oluşturulan modelin başarısı ve güvenilirliğidir. Tam bu noktada öznitelik mühendisliği devreye girer. Birçok farklı teknikle öznitelik mühendisliği yapılarak modelde belirgin iyileştirmeler yapılabilir. Bu içeriğin amacı da öznitelik önem dereceleri ile model iyileştirme üzerine olacaktır.

 

Makine Öğreniminde Karar Ağaçları Algoritmaları

Karar ağaçları algoritmaları, sınıflandırma ve regresyon analizlerinde kullanılabilen makine öğrenimi algoritmalarıdır. Karar ağaçlarının en önemli özelliği iç yapısının saydam oluşudur. Özellikle günümüz çağında açıklanabilir yapay zekâ uygulamalarına ihtiyaç duyulduğu için makine öğrenimi konusunda da önemli bir rol almaktadırlar. Karar ağaçları algoritmaları sonucunda oluşan model görselleştirilebilir ve modelin öznitelikler üzerindeki karar parametreleri bu şekilde gözlemlenebilir. Karar ağaçlarının bu yönü aracılığıyla hangi özniteliğin model için daha önemli olduğu ortaya çıkmaktadır. XGBoost algoritması da bir karar ağacı algoritmasıdır. Bu yazı sonunda pratik olarak xgboost algoritması kullanılacaktır.

 

Fazla Olsun Eksik Olmasın

Bir veriyi tanımlayan özniteliklerin fazla olması, makine öğrenimindeki başarıyı artırır. Peki bu durum her zaman için doğru mudur? Elbette doğru değildir. Özniteliklerin fazla olması makine öğrenimi modelleri için bir yere kadar çok verimli olacaktır. Özellikle yapılan analizler sonucunda bağımlı değişkeni etkilediği düşünülen öznitelikler için bu geçerlidir. Fakat boyutluluk laneti (curse of dimensionality) kavramı ile bilinen şudur ki: öznitelik sayısı arttıkça, modelin özniteliklerden anlamlı sonuçlar elde edebilmesi için öznitelik sayısı ile doğru orantılı sayıda gözleme ihtiyaç duymaktadır. Bu durum da beraberinde kaynak ve performans gibi konularda problemler getirmektedir. Bu bölümden anlaşıldığı üzere makine öğrenmesi modelleri oluştururken öznitelik seçiminin amacı, model için en önemli öznitelikleri seçerek kaynak ve performans gibi problemler oluşturmadan en başarılı modeli oluşturmaktır.

 

Özniteliklerin Önem Dereceleri (Feature Importance)

Özniteliklerin önem derecelerinin analiz edilmesi sonucunda çok yararlı bilgiler elde edilir. Öncelikli hedef değişken (bağımlı değişken) ile diğer özniteliklerin arasındaki ilişki daha anlamlı hale gelir. Alınacak aksiyonlar hakkında önemli fikirler elde edilmiş olur.

Model için düşük öneme sahip öznitelikler veri setinden çıkarılıp, yüksek öneme sahip özniteliklerle tekrar model eğitilebilir. Bunun sonucunda model daha basit bir hale gelecek ve performans anlamında da iyileşmeler olacaktır.

Unutulmamalıdır ki yapılan çalışmalar sonucunda bir müşteriye aktarım gerçekleşecektir. Müşteri elde edilen sonucun anlamsallığını merak edecek ve müşterinin aklında soru işaretleri oluşacaktır. Bu durumda modelin sonucunu en çok etkileyen özniteliklerin açıklanması müşteri bakış açısından çok yararlı olacaktır.


 

XGBoost Algoritması ile Öznitelik Önem Dereceleri


XGBoost algoritması, bir gradient boosting karar ağacı algoritmasıdır. Algoritma üzerinde “feature_importances_” komutu çalıştırılarak, model eğitilirken kullanılan özniteliklerin önem dereceleri gözlemlenebilir. Bu önem dereceleri, hedef değişken tahminindeki özniteliklerin etkisini göstermektedir. Kaggle üzerinde çok bilinen bir veri seti olan diyabet veri seti üzerine gerçekleştirmiş olduğum xgboost algoritması ile öznitelik önem dereceleri çalışmasına buradan ulaşabilirsiniz.

İlginizi Çekebilir
Miuul topluluğunun bir parçası ol!

Abone ol butonuna tıklayarak Miuul'dan pazarlama ve haber içerikleri almayı onaylıyorum.