Gradient Boosting
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 43 dari 58.
Hutan menumbuhkan pohon-pohonnya berdampingan. Gradient boosting menumbuhkannya satu per satu: setiap pohon baru mempelajari hal-hal yang masih salah diprediksi oleh pohon-pohon sebelumnya.
Di sini, model ini cocok untuk penjualan kedai smoothie, pohon demi pohon:
Untuk class, modelnya adalah GradientBoostingClassifier:
from sklearn.ensemble import GradientBoostingClassifier
boost = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=0)
boost.fit(X_train, y_train)learning_rate menentukan seberapa banyak dari setiap perbaikan yang dipertahankan. Langkah kecil lebih cermat, jadi membutuhkan lebih banyak pohon.
Tantangan
SedangSeorang penanam anggrek ingin mengetahui tanaman mana yang akan berbunga. Kode awal membagi data dari orchids.csv, menghitung skor random forest, lalu membaca jumlah pohon.
- Untuk setiap tingkat dalam
rates, latih model boosting dengan jumlah pohon tersebut (random_state=0) dan cetak akurasi pengujiannya. - Cetak tingkat terbaik. Jika hasilnya seri, pertahankan tingkat yang lebih awal.
Untuk penanam lain dan 20:
Forest: 0.860
Boosting at rate 0.01: 0.600
Boosting at rate 0.1: 0.860
Boosting at rate 1.0: 0.900
Best rate for 20 trees: 1.0Lalu coba beberapa jumlah pohon: kapan boosting mengungguli random forest?
Coba sendiri
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
# Anggrek di rak penanam: berbunga tahun ini (1) atau tidak (0)
orchids = pd.read_csv("orchids.csv")
X = orchids.drop(columns="bloomed")
y = orchids["bloomed"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
trees = int(input())
rates = [0.01, 0.1, 1.0]
# Jangan ubah baris di bawah ini: forest sebagai pembanding
forest = RandomForestClassifier(n_estimators=100, random_state=0)
forest.fit(X_train, y_train)
print(f"Forest: {forest.score(X_test, y_test):.3f}")
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pembelajaran Terawasi
1Model Pertamamu
Belajar dari ContohData Latih dan Data UjiMelatih dan MemprediksiMenilai ModelRangkuman: Penyortir Benih4Regresi Logistik
Prediksi Ya atau TidakAmbang KeputusanBobot sebagai BuktiBeberapa KelasRangkuman: Filter Spam2Tetangga Terdekat
Cara k-NN MenentukanMemilih kBatas KeputusanPenskalaan untuk TetanggaRingkasan: Tetangga Wine5Mengukur Model Klasifikasi
Matriks KonfusiPresisi dan RecallSkor F1Kelas Tidak SeimbangKurva ROCRangkuman: Tes SkriningLatihan sendiri: Compiler Python online