Rastgele Orman Modeli Nedir? Örnek Problem Çözümü
Rastgele Orman Modeli (Random Forest), makine öğrenmesinde birden fazla karar ağacının ürettiği tahminleri birleştirerek yüksek doğruluk sunan, topluluk (ensemble) öğrenmesi tabanlı güçlü bir algoritmadır. Günümüz yapay zeka ve veri bilimi uygulamalarında finansal risk analizinden tıbbi teşhislere, müşteri davranış tahmininden görüntü işlemeye kadar pek çok alanda karmaşık problemleri çözmek için yaygın olarak kullanılmaktadır.
- Rastgele Orman algoritmasının temel mantığını ve çalışma prensiplerini kavrayacaksınız.
- Tek bir karar ağacı ile Rastgele Orman modeli arasındaki farkları açıkça öğreneceksiniz.
- Bootstrapping ve Öznitelik Rastgeleliği (Feature Randomness) kavramlarını detaylarıyla anlayacaksınız.
- Adım adım hazırlanmış bir müşteri terk (churn) tahmini örneği üzerinden problem çözmeyi öğreneceksiniz.
- Modelin hiperparametrelerini ayarlayarak tahmin başarısını nasıl artıracağınızı keşfedeceksiniz.
- Rastgele Orman algoritması ‘Kitlelerin Bilgeliği’ (Wisdom of Crowds) ilkesine dayanır.
- Aşırı öğrenmeye (overfitting) karşı son derece dirençli bir yapıya sahiptir.
- Hem sınıflandırma (classification) hem de regresyon (regression) problemlerinde başarıyla kullanılır.
- Model, eksik verileri işleme ve özniteliklerin önem sırasını belirleme konusunda oldukça yeteneklidir.
Rastgele Orman Modeli (Random Forest) Nedir?
Rastgele Orman Modeli, verileri analiz etmek ve karmaşık sınıflandırma ya da regresyon problemlerini çözmek amacıyla tasarlanmış bir yapay zeka algoritmasıdır. Temelleri 2001 yılında Leo Breiman ve Adele Cutler tarafından atılan bu yaklaşım, tek bir karar ağacına güvenmek yerine, yüzlerce hatta binlerce karar ağacından oluşan sanal bir ‘orman’ kurarak hareket eder.
Gündelik hayattan bir örnekle açıklamak gerekirse; tek bir uzman doktorun teşhisine bel bağlamak yerine, farklı uzmanlıklara sahip 100 doktordan oluşan bir heyete danıştığınızı hayal edin. Her doktor hastanın farklı semptomlarını inceleyip bir teşhis koyar; nihai karar ise en çok konulan teşhis olur. Rastgele Orman algoritması da tam olarak bu çoğunluk oyu ilkesiyle çalışarak hata payını en aza indirir.
Makine öğrenmesi literatüründe bu yaklaşım topluluk öğrenmesi (ensemble learning) olarak adlandırılır. Zayıf öğreniciler biçiminde tanımlanan bireysel karar ağaçları bir araya getirildiğinde, ortaya son derece güçlü ve kararlı bir toplu tahmin modeli çıkar.
Karar Ağacından Rastgele Ormana Geçiş
Rastgele Orman modelini tam olarak kavrayabilmek için öncelikle onun yapı taşı olan karar ağaçlarını (Decision Trees) anlamak gerekir. Karar ağacı, verileri ‘Evet/Hayır’ veya ‘Büyük/Küçük’ gibi ikili sorularla dallara ayırarak sonuca ulaşan bir akış şemasıdır. Ancak tek bir karar ağacının ciddi bir zayıf noktası bulunur: Aşırı Öğrenme (Overfitting). Benzer bir mantık Karar Ağaçları Algoritması Konu Anlatımı me Örnek Problemler konu anlatımında da karşımıza çıkıyor.
Yalnızca tek bir karar ağacı eğitildiğinde, veri setindeki gürültüleri ve istisnai durumları dahi ezberleme eğilimi gösterir. Eğitim verisinde %100 başarı yakalayan bir karar ağacı, daha önce hiç görmediği yeni test verileriyle karşılaştığında çuvallayabilir. Bu durum, modelin varyansının (variance) yüksek olduğuna işaret eder.
Rastgele Orman algoritması, yüzlerce karar ağacının rastgele oluşturulmuş farklı veri kümeleri üzerinde eğitilmesini sağlayarak ezberleme problemini ortadan kaldırır. Her ağaç farklı bir hata yapsa bile, tüm ağaçların ortak kararı alındığında bireysel hatalar birbirini sönümler ve geriye oldukça güvenilir bir tahmin kalır.
Rastgele Ormanı Güçlü Kılan İki Temel Mekanizma
Rastgele Orman modelini diğer algoritmalardan ayıran ve ona ‘rastgele’ ismini kazandıran iki ana mekanizma bulunmaktadır: Bootstrapping (Torbada Örnekleme) ve Öznitelik Rastgeleliği (Feature Randomness).
1. Bootstrapping (Bagging – Bootstrap Aggregating)
Bootstrapping yöntemi, orijinal veri setinden rastgele ve yerine koyarak (with replacement) yeni veri alt kümeleri oluşturma işlemidir. Örneğin elinizde 1000 satırlık bir müşteri verisi varsa, her ağaç için bu 1000 satırdan rastgele 1000 veri seçilir. Seçilen bir satır tekrar seçilebileceği için bazı veriler tek bir ağacın eğitim setinde birkaç kez yer alabilir. Buna karşın verilerin yaklaşık %36.8’i o ağacın eğitim setine hiç girmeyebilir. Bu girmeyen verilere Torba Dışı (Out-of-Bag – OOB) veriler denir.
2. Öznitelik Rastgeleliği (Feature Randomness)
Geleneksel bir karar ağacı düğümlerini bölerken tüm öznitelikleri (sütunları) inceler ve en iyi ayrımı sağlayan özniteliği seçer. Rastgele Orman algoritmasında ise her düğüm ayrımında yalnızca rastgele seçilen kısıtlı sayıda öznitelik değerlendirmeye alınır. Genellikle toplam öznitelik sayısının karekökü (√p) kadar öznitelik seçilerek ilerlenir.
Öznitelik rastgeleliği sayesinde, veri setinde çok baskın bir öznitelik bulunsa dahi tüm ağaçların aynı yapıya bürünmesi engellenir. Böylece ağaçlar arasındaki korelasyon düşer, modelin çeşitliliği ve genel başarısı gözle görülür şekilde artar.
Sınıflandırma ve Regresyon Problemlerinde Rastgele Orman
Rastgele Orman modeli, makine öğrenmesindeki iki ana problem türünün her ikisinde de mükemmel sonuçlar verir. Ancak her iki problem türünde nihai karara ulaşma yöntemi farklılık gösterir. Konu ilerledikçe Makine Öğrenmesinde Model Değerlendirme Metrikleri Nelerdir? ile bağlantılı noktalar da karşımıza çıkar.
Sınıflandırma Problemleri (Classification)
Sınıflandırma, verileri belirli kategorilere ayırma işlemidir (Örn: Bir e-postanın ‘Spam’ mi yoksa ‘Spam Değil’ mi olduğunu belirlemek). Rastgele Orman sınıflandırma yaparken Çoğunluk Oylaması (Majority Voting) yöntemini kullanır. Ormandaki 100 ağaçtan 75’i e-posta için ‘Spam’, 25’i ‘Spam Değil’ diyorsa, modelin nihai tahmini ‘Spam’ olur.
Regresyon Problemleri (Regression)
Regresyon, sürekli sayısal bir değeri tahmin etme işlemidir (Örn: Bir evin fiyatını veya yarınki hava sıcaklığını tahmin etmek). Regresyon problemlerinde ormandaki her bir karar ağacı sayısal bir değer üretir. Rastgele Orman modeli, bu ağaçların ürettiği tüm sayısal tahminlerin aritmetik ortalamasını alarak nihai tahmini belirler.
Karar Ağacı ile Rastgele Orman Karşılaştırması
Rastgele Orman ile tek bir Karar Ağacı arasındaki temel farkları anlamak, hangi problemde hangi algoritmayı seçeceğinize karar vermenizi kolaylaştırır. Aşağıdaki tabloda bu iki modelin kritik özelliklerini karşılaştırabilirsiniz:
| Özellik | Karar Ağacı (Decision Tree) | Rastgele Orman (Random Forest) |
|---|---|---|
| Model Yapısı | Tek bir karar ağacından oluşur. | Yüzlerce karar ağacının birleşimidir. |
| Aşırı Öğrenme Riski | Yüksek (Veriyi ezberlemeye meyillidir). | Düşük (Ağaçların ortalaması riski azaltır). |
| Hesaplama Karmaşıklığı | Düşük, çok hızlı eğitilir ve çalışır. | Yüksek, daha fazla işlem gücü ve zaman gerektirir. |
| Yorumlanabilirlik | Çok kolay (Ağaç görselleştirilebilir). | Zor (Kara kutu – Black box olarak görülür). |
| Tahmin Doğruluğu | Orta veya Düşük. | Yüksek ve oldukça kararlı. |
Rastgele Orman Hiperparametreleri ve Model Ayarları
Bir Rastgele Orman modelinin performansını en üst seviyeye çıkarmak için modeli oluşturan hiperparametrelerin doğru ayarlanması gerekir. İnce ayar (hyperparameter tuning) sürecinde en çok kullanılan parametreler şunlardır:
- n_estimators: Ormanda oluşturulacak karar ağacı sayısıdır. Ağaç sayısı arttıkça modelin kararlılığı artar ancak eğitim süresi uzar. Genellikle 100 ile 500 arasında bir değer tercih edilir.
- max_depth: Her bir karar ağacının maksimum derinliğidir. Derinliğin sınırlandırılması ağaçların aşırı karmaşıklaşmasını önler.
- min_samples_split: Bir düğümün (node) ikiye bölünebilmesi için içermesi gereken minimum örnek sayısıdır.
- max_features: Her bir düğüm ayrımında rastgele değerlendirilecek maksimum öznitelik sayısıdır.
- random_state: Sonuçların tekrarlanabilirliğini (reproducibility) sağlamak için kullanılan rastgelelik tohum değeridir.
Adım Adım Örnek Problem Çözümü: Banka Müşteri Terk Tahmini
Teorik bilgileri somutlaştırmak adına, bir bankanın müşterilerinin bankayı terk edip etmeyeceğini (Churn) tahmin eden basitleştirilmiş bir Rastgele Orman modelini adım adım çözelim.
Elimizde bir müşteriye ait 3 temel bilgi (Öznitelik) bulunmaktadır:
- Yaş: 42
- Kredi Skoru: 620
- Hesap Bakiyesi: 150.000 TL
Hedefimiz bu müşterinin bankayı terk edip etmeyeceğini (Terk Et: Evet / Hayır) tahmin etmektir. Problemimizi çözmek için 3 farklı karar ağacından oluşan küçük bir Rastgele Orman modeli kullanalım.
1. Adım: Ağaçların Eğitilmesi ve Yapısı
Bootstrapping ve öznitelik rastgeleliği kullanılarak eğitilmiş 3 farklı ağacımızın karar kuralları şu şekildedir:
- Ağaç 1 (Öznitelikler: Yaş, Bakiye): Eğer Yaş > 40 VE Bakiye > 100.000 TL ise -> Terk Et (Evet)
- Ağaç 2 (Öznitelikler: Kredi Skoru, Yaş): Eğer Kredi Skoru > 600 VE Yaş Terk Etme (Hayır)
- Ağaç 3 (Öznitelikler: Kredi Skoru, Bakiye): Eğer Kredi Skoru 100.000 TL ise -> Terk Et (Evet)
2. Adım: Her Ağacın Bireysel Tahmin Üretmesi
Elimizdeki müşterinin değerlerini (Yaş: 42, Kredi Skoru: 620, Bakiye: 150.000 TL) ağaçlara sırasıyla uygulayalım:
- Ağaç 1 Değerlendirmesi: Yaş (42) > 40 VE Bakiye (150.000) > 100.000 şartı sağlanıyor. Tahmin: Evet.
- Ağaç 2 Değerlendirmesi: Kredi Skoru (620) > 600 VE Yaş (42) < 45 şartı sağlanıyor. Tahmin: Hayır.
- Ağaç 3 Değerlendirmesi: Kredi Skoru (620) 100.000 şartı sağlanıyor. Tahmin: Evet.
3. Adım: Çoğunluk Oylaması ve Nihai Karar
Ağaçlarımızdan gelen tahmin sonuçlarını toplayalım:
- Terk Et (Evet): 2 Oy (Ağaç 1 ve Ağaç 3)
- Terk Etme (Hayır): 1 Oy (Ağaç 2)
Rastgele Orman algoritması çoğunluk oylaması kuralını uygular. 2 oy ‘Evet’ yönünde olduğu için modelin bu müşteri için ürettiği nihai tahmin: Müşteri Bankayı Terk Edecektir (Evet).
Rastgele Orman Algoritmasının Avantajları ve Dezavantajları
Her algoritmanın olduğu gibi Rastgele Orman modelinin de güçlü ve zayıf yönleri bulunmaktadır. Bir projeye başlamadan önce bu dengeleri iyi tartmak gerekir. Kafası karışanlar için Genetik Algoritmalar Konu Anlatımı ve Problem Çözüm Adımları rehberi, konuyu farklı bir açıdan ele alır.
Avantajları
- Yüksek Doğruluk Oranı: Karmaşık ve doğrusal olmayan ilişkileri başarıyla yakalar.
- Overfitting Koruması: Çok sayıda ağacın birleşimi ezberleme riskini minimuma indirir.
- Eksik Veri Toleransı: Veri setinde boş değerler olsa dahi yüksek performansla çalışmaya devam eder.
- Öznitelik Önemi (Feature Importance): Hangi özniteliğin tahmin üzerinde ne kadar etkili olduğunu sıralayabilir.
Dezavantajları
- Yavaş Eğitim ve Tahmin Süresi: Yüzlerce ağaç içerdiği için büyük veri setlerinde bellek ve işlemciyi yoğun kullanır.
- Görselleştirme Zorluğu: Tek bir karar ağacı gibi ekrana çizdirilip kolayca takip edilemez (Kara Kutu özelliğindedir).
- Canlı Sistemlerde Gecikme (Latency): Gerçek zamanlı ve milisaniyeler içinde yanıt verilmesi gereken sistemlerde hantal kalabilir.
Rastgele Orman Modeli Öğrendiklerinizi Pekiştirin
Buraya kadar öğrendiğiniz teorik ve pratik bilgileri sınamak, konuyu zihninizde tam olarak oturtmanıza yardımcı olacaktır. Aşağıdaki alıştırma sorularını yanıtlayarak kendinizi test edin.
- Rastgele Orman modelinde ‘öznitelik rastgeleliği’ yapılmasının temel amacı nedir?
- Regresyon problemlerinde Rastgele Orman modeli nihai tahmine nasıl ulaşır?
- 100 ağaçtan oluşan bir sınıflandırma ormanında 60 ağaç ‘A’, 40 ağaç ‘B’ yanıtı verirse nihai sonuç ne olur?
- Rastgele Orman modelinin tek bir karar ağacına göre en büyük avantajı nedir?
- Rastgele Orman, birden fazla karar ağacının ortak kararıyla çalışan topluluk öğrenmesi tabanlı bir algoritmadır.
- Bootstrapping ile veri kümesinden, Öznitelik Rastgeleliği ile de özniteliklerden rastgele örnekler alınır.
- Sınıflandırma problemlerinde çoğunluk oylaması, regresyon problemlerinde ise ortalama alma yöntemi kullanılır.
- Aşırı öğrenmeyi (overfitting) engelleyerek yüksek doğruluk ve kararlılık sunar.
- İşlem yükü yüksek ve yorumlanması tek bir ağaca göre daha zordur.
Sıkça Sorulan Sorular
- TÜBİTAK BİLGEM — Yapay zeka ve makine öğrenmesi algoritmaları üzerine akademik araştırmalar ve veri bilimi kaynakları.
- YÖK Akademik Veri Tabanı — Topluluk öğrenmesi (Ensemble Learning) ve Random Forest algoritmalarının Türkiye'deki veri analitiği uygulamaları.


