Pohon Mengajukan Pertanyaan
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 27 dari 58.
Bab ini diakhiri dengan pohon yang menjelaskan pinjaman pertanian. Pohon keputusan memainkan permainan dua puluh pertanyaan: satu pertanyaan ya-atau-tidak tentang fitur setiap kali, hingga mencapai jawaban:
Pelatihan memilih setiap pertanyaan agar jawabannya memisahkan class sebersih mungkin:
from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier(max_depth=2, random_state=0)
tree.fit(X_train, y_train) # panjang dan lebar mahkota bunga, cm
print(tree.predict([[4.5, 1.4]]))Ini mencetak [1], versicolor. max_depth=2 memungkinkan dua pertanyaan per jalur. Tidak perlu penskalaan: setiap pertanyaan membaca satu fitur.
Tantangan
SedangSebuah toko penyewaan kamera mengirim pesan pengingat saat peralatan mungkin terlambat dikembalikan. Kode awal membagi data penyewaan sebelumnya dan membaca data penyewaan baru ke dalam tabel satu baris new_rental.
- Latih pohon keputusan dengan maksimal 2 pertanyaan di setiap jalur (
random_state=0). - Cetak akurasi pengujiannya (3 desimal) dan jawabannya untuk penyewaan baru:
likely lateuntuk 1,likely on timeuntuk 0.
Untuk toko lain:
Test accuracy: 0.792
This rental: likely on timeCoba sendiri
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
# Penyewaan sebelumnya: 1 pada late berarti perlengkapan dikembalikan terlambat
rentals = pd.read_csv("rentals.csv")
features = ["rental_weeks", "gear_value_usd", "customer_age", "late_before"]
X_train, X_test, y_train, y_test = train_test_split(rentals[features], rentals["late"], test_size=0.25, random_state=0)
# Penyewaan baru: jumlah minggu pemesanan, nilai perlengkapan, usia pelanggan, dan jumlah pengembalian terlambat sejauh ini
weeks = int(input())
value = int(input())
age = int(input())
late_before = int(input())
new_rental = pd.DataFrame([[weeks, value, age, late_before]], columns=features)
# 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 Skrining6Pohon Keputusan
Pohon Mengajukan PertanyaanMembaca PohonKedalaman PohonPentingnya FiturRingkasan: Keputusan PinjamanLatihan sendiri: Compiler Python online