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
Övningsinstruktioner
- Importera:
train_test_splitfrånsklearn.model_selection.DecisionTreeClassifierfrånsklearn.tree.
- Skapa tränings- och testmängder så att 20 % av datan används för testning. Använd
random_state123. - Instansiera en
DecisionTreeClassifiermed namnetdt_clf_4ochmax_depthsatt till4. 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)