Drzewa decyzyjne
Twoim zadaniem w tym ćwiczeniu jest zbudowanie prostego drzewa decyzyjnego przy użyciu klasy DecisionTreeClassifier z biblioteki scikit-learn na zbiorze danych breast cancer, który jest dostarczany razem z scikit-learn.
Zbiór ten zawiera numeryczne pomiary różnych cech poszczególnych guzów (takich jak obwód i tekstura) uzyskanych z biopsji piersi oraz jedną wartość docelową (guz jest złośliwy lub łagodny).
Zbiór próbek (pomiarów) został wczytany do X, a wartości docelowe dla każdego guza – do y. Teraz musisz podzielić cały zbiór danych na zbiory treningowy i testowy, a następnie wytrenować DecisionTreeClassifier. Określisz parametr o nazwie max_depth. W tym modelu można modyfikować wiele innych parametrów – wszystkie znajdziesz tutaj.
To ćwiczenie jest częścią kursu
Extreme Gradient Boosting with XGBoost
Instrukcje do ćwiczenia
- Zaimportuj:
train_test_splitzsklearn.model_selection.DecisionTreeClassifierzsklearn.tree.
- Utwórz zbiory treningowy i testowy tak, aby 20% danych zostało użyte do testowania. Ustaw
random_statena123. - Utwórz instancję
DecisionTreeClassifiero nazwiedt_clf_4zmax_depthrównym4. Ten parametr określa maksymalną liczbę kolejnych punktów podziału, jaką można mieć przed dotarciem do węzła liścia. - Dopasuj klasyfikator do zbioru treningowego i przewidź etykiety zbioru testowego.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)