Membaca Pohon
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 28 dari 58.
Pertanyaan pada pohon mudah dibaca, jadi kamu bisa memeriksa apa yang telah dipelajarinya. Ikuti bunga yang panjangnya 5.1 cm dan lebarnya 1.6 cm pada pohon iris:
export_text mencetak pertanyaan yang sama sebagai teks, dengan satu indentasi untuk setiap tingkat:
from sklearn.tree import export_text
print(export_text(tree, feature_names=["petal_length", "petal_width"]))Ini mencetak:
|--- petal_width <= 0.80
| |--- class: 0
|--- petal_width > 0.80
| |--- petal_length <= 4.95
| | |--- class: 1
| |--- petal_length > 4.95
| | |--- class: 2Setiap baris hanya menjawab pertanyaan pada jalurnya sendiri. Class 2 adalah virginica, jawaban yang masuk akal untuk kelopak yang panjang dan lebar.
Tantangan
SedangPohon di toko keju menentukan apakah keju termasuk fresh, soft, atau hard berdasarkan kandungan air dan lama pemeramannya dalam minggu. Kode awal melatih pohon tersebut dan membaca data keju baru.
- Cetak pertanyaan pohon beserta nama fiturnya.
- Jalankan pohon, baca pertanyaannya, lalu lengkapi
by_handagar menanyakan hal yang sama dengan if/else dan mengembalikan jawaban yang sama.
Setelah hasil cetak, untuk keju yang disebut soft oleh pohon:
By hand: soft
The tree: softCoba sendiri
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text
# Satu baris untuk setiap keju: kadar air (%), lama pematangan dalam minggu, dan jenisnya
cheeses = pd.read_csv("cheeses.csv")
features = ["moisture_pct", "aged_weeks"]
X_train, X_test, y_train, y_test = train_test_split(cheeses[features], cheeses["cheese"], test_size=0.25, random_state=0)
tree = DecisionTreeClassifier(max_depth=2, random_state=0)
tree.fit(X_train, y_train)
# Keju baru yang perlu diberi nama
moisture = int(input())
aged = int(input())
new_cheese = pd.DataFrame([[moisture, aged]], columns=features)
# Tulis kodemu di bawah: tampilkan pohonnya, lalu buat by_hand memberikan jawaban seperti pohon tersebut
def by_hand(moisture, aged):
return "fresh"
# Jangan ubah baris-baris di bawah
print("By hand:", by_hand(moisture, aged))
print("The tree:", tree.predict(new_cheese)[0])
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