Ormanlar Neden İşe Yarar
Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 42 / 58.
Bir ormandaki ağaçlar bilerek birbirinden farklıdır. Her biri bir bootstrap örneği üzerinde eğitilir: yerine koyarak rastgele seçilen satırlar; böylece bazıları tekrarlanır, bazıları ise seçilmez.
Her soru ayrıca rastgele seçilen birkaç özellik arasından seçim yapar. Ağaçlar farklı hatalar yapar ve oylar bunları giderir. İki ateş böceği türü:
Orman, yalnızca ağaçların çoğunun uzlaştığı bir şeridi korur.
Ağaçlar forest.estimators_ içinde bulunur:
third = forest.estimators_[2]
print(round(third.score(X_test, y_test), 3))Bu, 0.737 değerini yazdırır. Ormanın tamamı 0.895 puan alır.
Görev
OrtaBir orman kendi ağaçlarını geçer mi? Başlangıç kodu, 160 km'lik sürüşü 6 saatin altında tamamlayan veya tamamlayamayan bisikletçileri içeren riders.csv dosyasındaki verilerle forest modelini eğitir ve grafiği hazırlar.
- Ormandaki her ağacın test satırlarındaki başarısını hesapla.
- Başarı puanlarını
bins=10ile histogramda göster veforest_accdeğerini kırmızı dikey bir çizgiyle işaretle. - Ormanın kaç ağacı geçtiğini yazdır.
Başka bir sürüşte The forest beats 88 of its 100 trees yazdırıldı ve şu grafik çizildi:
Coddy daha sonra grafiğini açıklar.
Kendin dene
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
# 160 km'lik bir yardım bisiklet sürüşüne katılanlar: 6 saatten kısa sürede bitirenler (1) ve bitiremeyenler (0)
riders = pd.read_csv("riders.csv")
features = ["weekly_km", "long_ride_km", "age", "years_riding", "rest_days", "sleep_hours"]
X = riders[features].to_numpy() # basit bir dizi, ormandaki ağaçların beklediği biçim
y = riders["under_6h"].to_numpy()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
forest = RandomForestClassifier(n_estimators=100, random_state=0)
forest.fit(X_train, y_train)
forest_acc = forest.score(X_test, y_test)
fig, ax = plt.subplots()
ax.set_title("The Forest and Its Trees")
ax.set_xlabel("Test accuracy")
ax.set_ylabel("Trees")
# Kodunuzu aşağıya yazın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Denetimli Öğrenme bölümündeki tüm dersler
1İlk Modeliniz
Örneklerden ÖğrenmeEğitim ve Test KümeleriUydurma ve Tahmin EtmeBir Modeli PuanlamaÖzet: Tohum Sınıflandırıcı4Lojistik Regresyon
Evet-Hayır TahminleriKarar EşiğiKanıt Olarak AğırlıklarBirden Fazla SınıfÖzet: Spam Filtresi2En Yakın Komşular
k-NN Nasıl Karar Verirk'yi SeçmekKarar SınırlarıKomşular İçin ÖlçeklemeÖzet: Şarap Komşuları5Sınıflandırıcıları Değerlendirme
Karmaşıklık MatrisiKesinlik ve DuyarlılıkF1 SkoruDengesiz SınıflarROC EğrileriÖzet: Tarama Testi8Çapraz Doğrulama
K-Katlı DoğrulamaModelleri Adil Bir Şekilde KarşılaştırmaIzgara AramasıÖzet: Kaykay Tamiri11Proje: Penguen Türleri
Penguenlerle TanışınVerileri HazırlayınBir Model SeçinEn İyisini AyarlayınModeli Yayına AlınKendi başına pratik yap: Online Python derleyicisi