Крос‑валідація
Крос‑валідація — це метод, який перевіряє узагальнювальну здатність моделі на відкладених даних. Її виконують, щоб упевнитися, що тестові результати не зумовлені випадковістю під час поділу даних. У цій вправі ви використаєте реалізації зі sklearn, щоб запустити K‑fold крос‑валідацію за допомогою модуля KFold() і оцінити точність (precision) та повноту (recall) для дерева рішень.
X_train, y_train, X_test, y_test доступні у вашому робочому середовищі. pandas як pd, numpy як np та sklearn також доступні. KFold() і cross_val_score() з sklearn.model_selection теж доступні.
Ця вправа є частиною курсу
Прогнозування CTR за допомогою машинного навчання в Python
Інструкції до вправи
- Створіть класифікатор дерева рішень.
- Налаштуйте K‑Fold крос‑валідацію з чотирма розбиттями та присвойте її змінній
k-fold. - Використайте
k_fold, щоб запустити крос‑валідацію черезcross_val_score()і оцінити точність (precision) та повноту (recall) вашої моделі (і не використовуйте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))