Ważność cech
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 30 z 58.
Na jakich cechach polega drzewo? feature_importances_ podaje udział każdej cechy w sortowaniu wykonywanym przez jego pytania, a udziały sumują się do 1:
Posortowane i umieszczone w obiekcie Series tworzą rankingowy wykres. ax.barh rysuje słupki poziomo, dzięki czemu mieszczą się długie nazwy:
imp = pd.Series(tree.feature_importances_, index=iris.feature_names).sort_values()
ax.barh(imp.index, imp.values)0 oznacza, że drzewo nigdy nie pytało o tę cechę. Działki kielicha nadal mogą mieć znaczenie: płatki już powiedziały drzewu, czego może się po nich spodziewać.
Wyzwanie
ŚredniSzkoła surfingu chce wiedzieć, co sprawia, że początkujący stają na desce w pierwszym tygodniu. Program odczytuje głębokość; kod startowy trenuje drzewo o takiej głębokości i przygotowuje wykres.
- Umieść ważności w Series, indeksując je nazwami cech, od najmniejszej do największej.
- Wypisz najważniejszą cechę (3 miejsca po przecinku) oraz cechy, o które nigdy nie pytano, jak poniżej.
- Narysuj je jako poziome słupki i wyświetl wykres.
Dla szkoły pływania:
Top feature: pool_hours (0.612)
Never asked: ['goggles']Następnie Coddy opisze Twój wykres. Ich wykres wygląda tak:
Spróbuj swoich sił
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())
# Jeden wiersz na początkującego: 1 w standing oznacza, że udało mu się stanąć na desce w pierwszym tygodniu
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") # pozostawia miejsce na długie nazwy
ax.set_title("What Gets Beginners Standing?")
ax.set_xlabel("Importance")
# Napisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Uczenie nadzorowane
1Twój pierwszy model
Uczenie się na przykładachZbiory treningowe i testoweDopasowywanie i przewidywanieOcena modeluPodsumowanie: Sortownik nasion4Regresja logistyczna
Przewidywanie „tak” lub „nie”Próg decyzyjnyWagi jako dowodyWiele klasPodsumowanie: filtr spamu2Najbliżsi sąsiedzi
Jak działa k-NNWybór kGranice decyzyjneSkalowanie dla sąsiadówPodsumowanie: sąsiedzi w zbiorze Wine5Ocena klasyfikatorów
Macierz pomyłekPrecyzja i czułośćWynik F1Niezrównoważone klasyKrzywe ROCPodsumowanie: test przesiewowy8Walidacja krzyżowa
Walidacja k-krotnaUczciwe porównywanie modeliPrzeszukiwanie siatkiPodsumowanie: naprawa deskorolki11Projekt: Gatunki pingwinów
Poznaj pingwinyPrzygotuj daneWybierz modelDopracuj zwycięski modelWdróż modelPoćwicz samodzielnie: Kompilator Python online