Rastgele Ormanlar
Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 41 / 58.
Tek bir karar ağacı kararsızdır: birkaç eğitim satırını değiştirince soruları da değişir. Bu bölüm, birçok karar ağacına sorular sorarak ağaçları daha istikrarlı hâle getirir.
rastgele orman birçok ağaç eğitir ve bunların oy vermesini sağlar. İşte bir gayzer için yanıt veren yedi ağaç:
Kodda, eğitilecek bir model daha var:
from sklearn.ensemble import RandomForestClassifier
forest = RandomForestClassifier(n_estimators=100, random_state=0)
forest.fit(X_train, y_train)
print(forest.score(X_test, y_test))300 gayzer günü üzerinde bu kod, bir ağacın 0.813 puan aldığı yerde 0.893 yazdırır. n_estimators, ağaç sayısıdır.
Çok sayıda seçmen, daha az hata.
Görev
OrtaBir rehber köpek okulu, hangi yavru köpeklerin yeterliliği kazanacağını erkenden öğrenmek istiyor. Başlangıç kodu puppies.csv dosyasını böler, tek bir ağacın puanını hesaplar ve ağaç sayısını okur.
- Bu sayıda ağaçtan oluşan bir orman eğit (
random_state=0) ve test doğruluğunu yazdır. - Hangi modelin ne kadar farkla kazandığını ya da
A tieyazdır.
Başka bir okul ve 50 için:
Single tree: 0.740
Forest: 0.860
The forest wins by 0.120Sonra 1 değerini dene: tek ağaçtan oluşan bir orman şaşırtıcı derecede kötü sonuç verir. Sonraki ders bunun nedenini gösteriyor.
Kendin dene
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
# Rehber köpek okulundaki yavru köpekler: sakinlik, odaklanma ve yüksek seslerden irkilme (1 ile 10 arası),
# ağırlık, onları yetiştiren aileyle geçirilen ay sayısı ve rehber köpek olmaya uygunluk (1) veya uygunsuzluk (0)
puppies = pd.read_csv("puppies.csv")
X = puppies[["calmness", "focus", "noise_startle", "weight_kg", "months_with_family"]]
y = puppies["qualified"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
trees = int(input())
# Aşağıdaki satırları değiştirmeyin: geçmeniz gereken tek bir ağaç
tree = DecisionTreeClassifier(random_state=0)
tree.fit(X_train, y_train)
tree_acc = tree.score(X_test, y_test)
print(f"Single tree: {tree_acc:.3f}")
# 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