Kom igångKom igång gratis

Beslutsträd

I den här övningen ska du bygga ett enkelt beslutsträd med scikit-learns DecisionTreeClassifier på datamängden breast cancer, som är förinstallerad i scikit-learn.

Datamängden innehåller numeriska mätningar av olika dimensioner hos enskilda tumörer (till exempel omkrets och textur) från bröstvävnadsprover, samt ett målvärde per tumör – antingen malign (elakartad) eller benign (godartad).

Vi har förladdat datamängden med prover (mätningar) i X och målvärdena per tumör i y. Nu ska du dela upp hela datamängden i en tränings- och en testmängd och sedan träna en DecisionTreeClassifier. Du anger en parameter som heter max_depth. Det finns många fler parametrar att justera i den här modellen – du hittar en fullständig lista här.

Den här övningen är en del av kursen

Extreme Gradient Boosting med XGBoost

Visa kurs

Övningsinstruktioner

  • Importera:
    • train_test_split från sklearn.model_selection.
    • DecisionTreeClassifier från sklearn.tree.
  • Skapa tränings- och testmängder så att 20 % av datan används för testning. Använd random_state 123.
  • Instansiera en DecisionTreeClassifier med namnet dt_clf_4 och max_depth satt till 4. Den här parametern anger det maximala antalet successiva delningspunkter innan ett lövnod nås.
  • Anpassa klassificeraren till träningsdatan och förutsäg etiketterna för testmängden.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod