Pentingnya Fitur
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 30 dari 58.
Fitur mana yang diandalkan oleh sebuah tree? feature_importances_ memberikan bagian kontribusi setiap fitur terhadap pemisahan yang dilakukan oleh pertanyaan-pertanyaannya, dan jumlah semua bagiannya adalah 1:
Setelah diurutkan ke dalam Series, data tersebut membentuk grafik berperingkat. ax.barh menggambar batang secara horizontal, sehingga nama yang panjang muat:
imp = pd.Series(tree.feature_importances_, index=iris.feature_names).sort_values()
ax.barh(imp.index, imp.values)Nilai 0 berarti pohon itu tidak pernah menanyakan fitur tersebut. Sepal masih bisa berpengaruh: kelopak sudah memberi tahu pohon itu apa yang akan mereka lakukan.
Tantangan
SedangSekolah selancar ingin mengetahui apa yang membuat pemula bisa berdiri di atas papan pada minggu pertama mereka. Program membaca kedalaman, starter melatih tree dengan kedalaman tersebut dan menyiapkan bagan.
- Masukkan nilai importance ke dalam Series yang diindeks berdasarkan feature, dari yang terkecil terlebih dahulu.
- Cetak feature teratas (3 angka desimal) dan feature yang tidak pernah ditanyakan, seperti di bawah ini.
- Gambarkan semuanya sebagai batang horizontal, lalu tampilkan.
Untuk sekolah renang:
Top feature: pool_hours (0.612)
Never asked: ['goggles']Selanjutnya, Coddy mendeskripsikan baganmu. Bagan mereka terlihat seperti ini:
Coba sendiri
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
depth = int(input())
# Satu baris untuk setiap pemula: 1 pada standing berarti mereka berhasil berdiri di atas papan dalam minggu pertama mereka
surf = pd.read_csv("surfschool.csv")
features = ["age", "fitness", "days_surfed", "skated_before", "lesson_hours", "wetsuit_fit"]
X_train, X_test, y_train, y_test = train_test_split(surf[features], surf["standing"], test_size=0.25, random_state=0)
tree = DecisionTreeClassifier(max_depth=depth, random_state=0)
tree.fit(X_train, y_train)
fig, ax = plt.subplots(layout="constrained") # menyisakan ruang untuk nama yang panjang
ax.set_title("What Gets Beginners Standing?")
ax.set_xlabel("Importance")
# 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