Alberi decisionali
Il tuo compito in questo esercizio è creare un semplice albero decisionale usando il DecisionTreeClassifier di scikit-learn sul dataset breast cancer, già incluso in scikit-learn.
Questo insieme di dati contiene misurazioni numeriche di varie dimensioni di singoli tumori (come perimetro e tessitura) provenienti da biopsie mammarie e un singolo valore di esito (il tumore è maligno oppure benigno).
Abbiamo precaricato l’insieme di dati dei campioni (misurazioni) in X e i valori target per tumore in y. Ora devi suddividere l’intero insieme di dati in set di training e di test, quindi addestrare un DecisionTreeClassifier. Specificherai un parametro chiamato max_depth. Molti altri parametri possono essere modificati in questo modello; puoi consultarli tutti qui.
Questo esercizio fa parte del corso
Extreme Gradient Boosting con XGBoost
Istruzioni dell'esercizio
- Importa:
train_test_splitdasklearn.model_selection.DecisionTreeClassifierdasklearn.tree.
- Crea i set di training e di test in modo che il 20% dei dati sia usato per il test. Usa un
random_statepari a123. - Istanzia un
DecisionTreeClassifierchiamatodt_clf_4conmax_depthpari a4. Questo parametro specifica il numero massimo di punti di suddivisione successivi consentiti prima di raggiungere una foglia. - Adestra il classificatore sul set di training e predici le etichette del set di test.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)