Aan de slagGa gratis aan de slag

Decision trees

In deze oefening maak je een eenvoudige decision tree met scikit-learns DecisionTreeClassifier op de breast cancer-gegevensset die standaard in scikit-learn zit.

Deze gegevensset bevat numerieke metingen van verschillende dimensies van individuele tumoren (zoals omtrek en textuur) uit borstbiopten en één uitkomstwaarde (de tumor is kwaadaardig of goedaardig).

We hebben de gegevensset met voorbeelden (metingen) alvast in X gezet en de doelwaarden per tumor in y. Nu ga je de volledige gegevensset opsplitsen in trainings- en testsets en daarna een DecisionTreeClassifier trainen. Je specificeert een parameter genaamd max_depth. Veel andere parameters van dit model kun je ook aanpassen; je vindt ze allemaal hier.

Deze oefening maakt deel uit van de cursus

Extreme Gradient Boosting met XGBoost

Cursus bekijken

Oefeninstructies

  • Importeer:
    • train_test_split uit sklearn.model_selection.
    • DecisionTreeClassifier uit sklearn.tree.
  • Maak trainings- en testsets waarbij 20% van de data wordt gebruikt voor testen. Gebruik een random_state van 123.
  • Instantieer een DecisionTreeClassifier met de naam dt_clf_4 met een max_depth van 4. Deze parameter geeft het maximale aantal opeenvolgende splits aan voordat je een bladknoop bereikt.
  • Fit de classifier op de trainingsset en voorspel de labels van de testset.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren