Python ile Random Forest: Basit ve Hızlı Anlatım




Elbette, "Rastgele Ormanlar" (Random Forests) konusunu açıklayabilirim ve size Python kodu ile örnek bir veri seti kullanarak nasıl çalıştığını gösterebilirim.


Rastgele Ormanlar (Random Forests) Nedir?

Rastgele Ormanlar, birçok karar ağacının bir araya gelmesiyle oluşturulan bir makine öğrenmesi modelidir. Bu model, hem sınıflandırma hem de regresyon görevleri için kullanılabilir. Temel fikir, her bir karar ağacının küçük hatalar yapabileceği ancak birlikte çalıştıklarında bu hataların birbirini dengeliyor olmasıdır. Böylece, genel olarak daha güvenilir ve doğru tahminler yapılabilir.


Anahtar Noktalar:

Karar Ağaçları: Rastgele ormanlar, birden fazla karar ağacından oluşur.

Çeşitlilik: Her ağaç, veri setinin farklı bir alt kümesi üzerinde eğitilir.

Toplu Karar: Son karar, tüm ağaçların çıktılarının birleştirilmesiyle (çoğunluk oyu veya ortalama) alınır.

Python ile Rastgele Orman Uygulaması

Python'da Rastgele Orman modelini uygulamak için scikit-learn kütüphanesini kullanacağız. Örnek olarak basit bir sınıflandırma problemi üzerinde çalışacağız.


Adımlar:

Veri Setini Yükleme ve Hazırlama

Rastgele Orman Modelini Oluşturma ve Eğitme

Modelin Performansını Değerlendirme

Öncelikle gerekli kütüphaneleri yükleyelim ve bir veri seti hazırlayalım. Ardından Rastgele Orman modelini uygulayacağız.

Tabii ki, size kullandığım Python kodunu ve veri setini paylaşabilirim. Bu örnekte, Scikit-Learn kütüphanesinin yerleşik Iris veri setini kullandık.


Python Kodu

from sklearn.datasets import load_iris

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import classification_report, accuracy_score


# Veri setini yükleme (Iris veri setini kullanacağız)

iris = load_iris()

X = iris.data

y = iris.target


# Veri setini eğitim ve test setlerine ayırma

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)


# Rastgele Orman modelini oluşturma ve eğitme

rf_model = RandomForestClassifier(n_estimators=100, random_state=42)

rf_model.fit(X_train, y_train)


# Modelin test seti üzerinde performansını değerlendirme

y_pred = rf_model.predict(X_test)

accuracy = accuracy_score(y_test, y_pred)

report = classification_report(y_test, y_pred)


print("Model Accuracy:", accuracy)

print("Classification Report:\n", report)



Veri Seti: Iris

Iris veri seti, üç farklı Iris çiçeği türünün (Setosa, Versicolor, Virginica) sepal (çanak yaprak) ve petal (taç yaprak) ölçümlerini içerir. Her bir örnek, dört özellik (sepal length, sepal width, petal length, petal width) ve bir hedef sınıf etiketi içerir.


Bu veri seti, makine öğrenmesi alanında çok popüler bir başlangıç noktasıdır ve Scikit-Learn kütüphanesi aracılığıyla kolayca erişilebilir.


Kodun Çalıştırılması

Bu kodu çalıştırmak için Python ortamınıza scikit-learn kütüphanesinin yüklü olması gerekmektedir. Eğer yüklü değilse, şu komutu kullanarak yükleyebilirsiniz:


pip install scikit-learn


Bu kodu, Python'un yüklü olduğu herhangi bir ortamda (örneğin, Jupyter Notebook, Python betiği, vb.) çalıştırabilirsiniz. Kod, Iris veri setini yükler, veriyi eğitim ve test setlerine ayırır, Rastgele Orman modelini eğitir ve modelin performansını değerlendirir.

Rastgele Orman modelimizi başarıyla uyguladık ve Iris veri seti üzerinde test ettik. İşte sonuçlar:


Modelin doğruluğu (accuracy): %100

Sınıflandırma raporu:

Her sınıf için precision, recall ve f1-score değerleri %100.

Genel doğruluk (accuracy) %100.

Sınıflandırma Raporu Açıklaması:

Precision: Modelin bir sınıfı doğru olarak ne kadar iyi tahmin ettiğini gösterir.

Recall: Gerçekte o sınıfa ait olan örneklerin ne kadarının doğru tahmin edildiğini gösterir.

F1-Score: Precision ve recall'un harmonik ortalamasıdır ve her ikisinin dengesini gösterir.

Accuracy: Doğru tahmin edilen örneklerin toplam örnek sayısına oranı.

Bu sonuçlar, modelin Iris veri setindeki tüm sınıfları mükemmel bir şekilde sınıflandırdığını göstermektedir. Ancak, gerçek dünya veri setleri genellikle daha karmaşık olduğundan, gerçek uygulamalarda bu kadar yüksek bir performans beklenmemelidir.


Rastgele Orman modelinin gücü, karar ağaçlarının birleşiminden gelen çeşitlilik ve dayanıklılıktır. Bu model, overfitting (aşırı öğrenme) riskini azaltır ve genellikle yüksek doğruluk sağlar. ​​


Rastgele Ormanlar (Random Forests) Örnek senaryolar ve veri setleri verir misin?


Elbette, Rastgele Ormanlar (Random Forests) algoritmasının kullanılabileceği bazı örnek senaryolar ve bu senaryolara uygun veri setlerini paylaşabilirim.


1. Kredi Riski Değerlendirme

Senaryo: Bir banka, müşterilerin kredi geri ödeme potansiyelini değerlendirmek istiyor. Müşterilerin gelir düzeyi, geçmiş kredi geçmişi, iş durumu gibi özelliklerine bakarak, kredi geri ödeme riskini tahmin etmek istiyor.


Veri Seti Örneği: German Credit Data, UCI Machine Learning Repository'de bulunabilir. Bu veri seti, kredi alacak kişilerin çeşitli özelliklerini ve iyi veya kötü kredi riskini içerir.


2. Tıbbi Teşhis

Senaryo: Hastalıkların erken teşhisi, özellikle kanser gibi ciddi durumlar için hayati öneme sahiptir. Rastgele ormanlar, hastaların klinik özelliklerine ve laboratuvar sonuçlarına dayanarak hastalıkları teşhis etmek için kullanılabilir.


Veri Seti Örneği: Wisconsin Breast Cancer Dataset (WBCD), yine UCI Machine Learning Repository'de mevcuttur. Bu veri seti, meme kanseri tümörlerinin iyi huylu mu yoksa kötü huylu mu olduğunu sınıflandırmak için kullanılabilir.


3. Müşteri Segmentasyonu ve Hedefleme

Senaryo: Bir perakende şirketi, müşteri davranışlarını ve demografik özelliklerini analiz ederek, pazarlama stratejilerini kişiselleştirmek ve müşteri segmentlerini tanımlamak istiyor.


Veri Seti Örneği: RFM (Recency, Frequency, Monetary) analizi verileri. Şirketler, müşteri alışveriş geçmişi verilerini kullanarak müşterilerini RFM skorlarına göre segmentlere ayırabilir.


4. Hisse Senedi Fiyat Tahmini

Senaryo: Finansal piyasalarda, yatırımcılar ve analistler, hisse senedi fiyat hareketlerini tahmin etmek için çeşitli makroekonomik göstergeler, şirketin finansal verileri ve geçmiş fiyat hareketlerini kullanabilir.


Veri Seti Örneği: Yahoo Finance veya Google Finance'dan elde edilen tarihsel hisse senedi fiyatları. Bu veriler, hisse senedi fiyatlarının gelecekteki hareketlerini tahmin etmek için kullanılabilir.


5. Görüntü Sınıflandırma

Senaryo: Bir şirket, ürünlerini otomat


ik olarak sınıflandırmak için bir görüntü tanıma sistemi kurmak istiyor. Bu, örneğin, sosyal medya platformlarında gönderilen içeriğin otomatik olarak etiketlenmesi veya bir e-ticaret sitesinde ürünlerin doğru kategorilere yerleştirilmesi için kullanılabilir.


Veri Seti Örneği: CIFAR-10 veya MNIST gibi standart görüntü veri setleri. CIFAR-10, 10 farklı kategoride 60.000 küçük renkli görüntü içerirken, MNIST el yazısı rakamlarını içerir.


6. Trafik Tahmini

Senaryo: Şehir planlamacıları ve ulaşım otoriteleri, trafik akışını daha iyi yönetmek ve tahmin etmek için veri analizinden yararlanabilir. Bu, yollardaki trafik yoğunluğunu, kazaların olasılığını ve seyahat sürelerini tahmin etmekte kullanılabilir.


Veri Seti Örneği: Şehirlerin trafik akış verileri, GPS verileri veya akıllı ulaşım sistemlerinden toplanan veriler. Bu tür veriler, trafik durumunu tahmin etmek için kullanılabilir.


Genel Notlar

Rastgele Ormanlar, yukarıda bahsedilen senaryoların çoğunda etkili olabilir çünkü çok yönlüdür ve hem sınıflandırma hem de regresyon problemlerinde kullanılabilir.

Özellikle yüksek boyutlu veri setleriyle çalışırken, modelin karmaşıklığı ve yorumlanabilirliği dikkate alınmalıdır.

Gerçek dünya veri setleri genellikle eksik veriler, dengesiz sınıflar ve gürültülü veriler gibi zorluklar içerir. Bu durumlar, modelin performansını etkileyebilir ve veri ön işleme adımlarını gerektirebilir.

Bu senaryolar, Rastgele Ormanların geniş uygulama alanlarını göstermektedir ve her biri, bu yöntemin farklı veri tipleri ve sorunlar üzerinde nasıl etkili olabileceğini örneklemektedir.

Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

نموذج الاتصال