Кросс-валидация
Кросс-валидация — это метод оценки качества модели на отложенных данных. Он позволяет убедиться, что результаты на тестовой выборке не зависят от конкретного способа разбиения данных. В этом упражнении вы воспользуетесь инструментами из sklearn, чтобы выполнить K-блочную кросс-валидацию с помощью модуля KFold() и оценить точность и полноту модели на основе дерева решений.
В вашем рабочем пространстве доступны X_train, y_train, X_test, y_test, а также pandas как pd, numpy как np и sklearn. Кроме того, из sklearn.model_selection доступны KFold() и cross_val_score().
Это упражнение является частью курса
Прогнозирование CTR с помощью машинного обучения на Python
Инструкции к упражнению
- Создайте классификатор на основе дерева решений.
- Настройте K-блочную кросс-валидацию с четырьмя разбиениями и присвойте результат переменной
k-fold. - Используйте
k_foldдля запуска кросс-валидации с помощьюcross_val_score(), чтобы оценить точность и полноту вашей модели (не используйтеrecall_score()илиprecision_score()).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))