Začněte nyníZačněte zdarma

Rozhodovací stromy

V tomto cvičení sestavíš jednoduchý rozhodovací strom pomocí DecisionTreeClassifier ze scikit-learn na datasetu breast cancer, který je přímo součástí scikit-learn.

Dataset obsahuje numerická měření různých charakteristik jednotlivých nádorů (například obvod a texturu) z biopsií prsu a jednu cílovou hodnotu (nádor je buď maligní, nebo benigní).

Dataset se vzorky (měřeními) jsme pro tebe předem načetli do X a cílové hodnoty pro každý nádor do y. Tvým úkolem je rozdělit celý dataset na trénovací a testovací sadu a následně natrénovat DecisionTreeClassifier. Nastavíš přitom parametr max_depth. V tomto modelu lze upravit i řadu dalších parametrů – všechny si můžeš prohlédnout zde.

Toto cvičení je součástí kurzu

Extreme Gradient Boosting with XGBoost

Zobrazit kurz

Pokyny k cvičení

  • Importuj:
    • train_test_split z sklearn.model_selection.
    • DecisionTreeClassifier z sklearn.tree.
  • Vytvoř trénovací a testovací sady tak, aby 20 % dat bylo použito pro testování. Nastav random_state na 123.
  • Vytvoř instanci DecisionTreeClassifier s názvem dt_clf_4 a hodnotou max_depth rovnou 4. Tento parametr určuje maximální počet po sobě jdoucích dělicích bodů před dosažením listového uzlu.
  • Napasuj klasifikátor na trénovací sadu a predikuj štítky testovací sady.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Import the necessary modules
____
____

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, test_size=____, random_state=____)

# Instantiate the classifier: dt_clf_4
dt_clf_4 = ____

# Fit the classifier to the training set
____

# Predict the labels of the test set: y_pred_4
y_pred_4 = ____

# Compute the accuracy of the predictions: accuracy
accuracy = float(np.sum(y_pred_4==y_test))/y_test.shape[0]
print("accuracy:", accuracy)
Upravit a spustit kód