Menu
CoddyTech

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:

Diagram batang horizontal untuk tree iris dengan kedalaman 3: lebar petal 0.58, panjang petal 0.42, lebar sepal 0.00, panjang sepal 0.00

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.

challenge icon

Tantangan

Sedang

Sekolah 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.

  1. Masukkan nilai importance ke dalam Series yang diindeks berdasarkan feature, dari yang terkecil terlebih dahulu.
  2. Cetak feature teratas (3 angka desimal) dan feature yang tidak pernah ditanyakan, seperti di bawah ini.
  3. 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:

Batang horizontal berjudul Apa yang Membantu Perenang Bertahan?, dengan batang terbesar di atas: pool_hours sekitar 0.61, can_float 0.21, age 0.10, lessons_per_week 0.08, goggles 0

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
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pembelajaran Terawasi

Latihan sendiri: Compiler Python online