Деревья решений
В этом упражнении вам нужно построить простое дерево решений с помощью класса 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)