Дерева рішень
Ваше завдання у цій вправі — побудувати просте дерево рішень за допомогою DecisionTreeClassifier зі scikit-learn на наборі даних breast cancer, що постачається разом із scikit-learn.
Цей набір містить числові вимірювання різних характеристик окремих пухлин (наприклад, периметр і текстура) з біопсій молочної залози та одне цільове значення (пухлина є або злоякісною, або доброякісною).
Ми заздалегідь завантажили набір даних із зразками (вимірюваннями) в X, а цільові значення для кожної пухлини — у y. Тепер вам потрібно розділити повний набір даних на тренувальну і тестову вибірки, а потім навчити DecisionTreeClassifier. Ви задамо параметр max_depth. У цій моделі можна змінювати й багато інших параметрів — переглянути їх можна тут.
Ця вправа є частиною курсу
Екстремальний градієнтний бустинг з XGBoost
Інструкції до вправи
- Імпортуйте:
train_test_splitізsklearn.model_selection.DecisionTreeClassifierізsklearn.tree.
- Створіть тренувальну та тестову вибірки так, щоб 20% даних використовувалося для тестування. Використайте
random_stateрівним123. - Створіть екземпляр
DecisionTreeClassifierз назвоюdt_clf_4іmax_depthрівним4. Цей параметр визначає максимальну кількість послідовних розщеплень, перш ніж буде досягнуто листкового вузла. - Навчіть класифікатор на тренувальній вибірці та передбачте мітки для тестової вибірки.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)