CodeBlanks Logo Icon CodeBlanks

Özet - Random forest

Bu grupta random forest, ensemble ve bagging'i öğrendin.

Özet: random forest

Bu grupta:

  • Random forest birçok ağacı bootstrap ve rastgele özellik alt kümeleriyle eğitip birleştirir; varyansı azaltır.
  • Oylama, hataları bağımsız olduğunda güçlüdür; sınıflandırıcı olasılıkların ortalamasını alır.
  • n_estimators aşırı öğrenmeye yol açmaz; max_features ve min_samples_leaf karmaşıklığı belirler.
  • Bootstrap ~%63 örnek içerir; OOB skoru ücretsiz doğrulamadır.
  • Safsızlık önemi hızlı ama yanlı; permütasyon önemi daha güvenilir.

Uygulama Regresyon ormanı

Diyabet verisini test_size=0.2, random_state=0 ile böl. LinearRegression() ve RandomForestRegressor(n_estimators=300, min_samples_leaf=5, random_state=0) eğit; ikisinin test R² değerini round(..., 3) ile alt alta yazdır.

Başlangıç kodu

model.py
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor

X, y = load_diabetes(return_X_y=True)

# buraya yaz

Örnek çözüm

model.py
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor

X, y = load_diabetes(return_X_y=True)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
for m in [LinearRegression(), RandomForestRegressor(n_estimators=300, min_samples_leaf=5, random_state=0)]:
    print(round(m.fit(X_train, y_train).score(X_test, y_test), 3))

Beklenen çıktı

0.332
0.287

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Random forest için hangisi gereksizdir?

  • Test kümesi ayırmak
  • n_estimators seçmek
  • Özellikleri ölçeklemek Doğru cevap
  • random_state vermek

Açıklama: Ağaçlar eşik karşılaştırması yapar; ölçek kararı değiştirmez.

2 Regresyon ormanı oluştur.

Soru
rf = RandomForest____(n_estimators=200, random_state=0)
Cevap
rf = RandomForestRegressor(n_estimators=200, random_state=0)

Açıklama: RandomForestRegressor ağaç tahminlerinin ortalamasını verir.

3 Araçları eşleştir.

Kavram Anlamı
RandomForestClassifier Sınıflandırma ormanı
BaggingClassifier Genel bagging
oob_score_ Torba dışı doğruluk
permutation_importance Model bağımsız önem

Orta seviye bölümündeki tüm dersler