Sz
Sıfır Gecikme
veri bilimi · türkçe
Hakkımda🗺️ Haritam
Tümü
İnteraktif📖Rehber🛠Araç📊Vaka💼Kariyer🐍PY Playground🗄️SQL Playground🔍Regex📚Öğren🚀Proje
Ana sayfainteraktif

Random Forest: yüz ağaç bir orman yapar

2026 · makine öğrenmesi · ensemble · 14 dakika

Tek bir karar ağacı gürültüye takılır, eğitim verisini ezberler. Random Forest çözümü basit: yüzlerce farklı ağaç kur, hepsini oy kullandır, çoğunluğa bak. Aşağıda ağaç eklendikçe karar sınırının nasıl yumuşadığını ve doğruluğun nasıl arttığını canlı görüyorsun.

Ensemble öğrenimi nedir?

Tek uzman yerine çok sayıda uzmanın oyuna katıldığı yaklaşım. Her ağaç biraz farklı — çünkü farklı veri görür ve farklı bölmeler yapar. Ama hataları korelasyonsuz olduğundan, birlikte ortalamak hataları yok eder.

Random Forest iki kaynak rastgelelik kullanır:

⚡ Random Forest — Karar Sınırı
Doğruluk: 93%● Premium   ✕ Standart
Ağaç sayısı1
2030405060Yaş0481216Harcama (₺k)
TEST NOKTASI — YAŞ 40 · HARCAMA ₺8.0k — (sürükle ▲)
Oylama
0
Premium
1
Standart
%0 PremiumStandart
Her ağacın oyu
1
Yeşil = Premium oyu · Kırmızı = Standart oyu
AKTİF AĞAÇLAR — HER BİRİ FARKLI VERİ GÖRDÜ
Ağaç 1
Harcama ≤ 8.3
acc %93✕ Std

Neden tek ağaçtan daha iyi?

Tek bir ağaç eğitim verisine aşırı uyar — her gürültüyü ezberler. Farklı bootstrap örnekleri gören ağaçlar farklı hataları öğrenir. Ama hatalar birbirinden bağımsız olduğundan, ortalamaları iptal olur. İstatistiksel olarak: N bağımsız ağacın varyansı, tek ağacın varyansının 1/N katıdır.

Var(ortalama) = Var(tek ağaç) / N   (ağaçlar bağımsızsa)
Gerçekte ağaçlar tamamen bağımsız değil (aynı veriyle eğitiliyor),
feature randomness bu korelasyonu kırıp etkiyi artırıyor.

OOB (Out-of-Bag) hatası

Bootstrap sampling sırasında her ağaç, eğitim verisinin ortalama %37'sini hiç görmez (OOB örnekleri). Bu noktalar, o ağaç için doğal bir test seti oluşturur — ayrı validation setine gerek kalmaz.

Tüm ağaçların OOB tahminleri birleştirilince, cross-validation'a yakın ve hesaplaması çok daha ucuz bir hata tahmini elde edilir.

Feature importance

Random Forest her özelliğin ne kadar Gini düşürdüğünü takip eder. Çok sayıda bölmede kullanılan, Gini'yi çok düşüren özellikler önemli kabul edilir. Ücretsiz bir özellik seçimi aracı gibi davranır.

Python'da

from sklearn.ensemble import RandomForestClassifier
import pandas as pd

# Veri
df = pd.read_csv('musteriler.csv')
X = df[['yas', 'harcama']]
y = df['premium']

# Model
rf = RandomForestClassifier(
    n_estimators=100,   # ağaç sayısı
    max_depth=5,        # ağaç derinliği
    max_features='sqrt',# bölmede denenen özellik sayısı
    oob_score=True,     # OOB hatası hesapla
    random_state=42,
)
rf.fit(X, y)

print(f"OOB Doğruluk: {rf.oob_score_:.2%}")        # ~%93
print(f"Özellik Önemi: {rf.feature_importances_}")  # [0.38, 0.62]

# Tahmin
rf.predict([[35, 8.5]])           # [1] → Premium
rf.predict_proba([[35, 8.5]])     # [[0.07, 0.93]]

Ne zaman kullanılır?

Özet

Önceki: Decision tree: ağacı sen büyüt →

Bunları da beğenebilirsin

interaktif

Linear regression: çizgiyi sen çiz

8 dakika

interaktif

Gradient descent: top yuvarlama oyunu

10 dakika

interaktif

K-Means: müşterilerini kümele

10 dakika

Faydalı bulduysan paylaş

X'te paylaşLinkedIn'de paylaş

💬 Yorumlar