Регуляризація
Регуляризація — це процес додавання інформації до моделі, щоб запобігти перенавчанню. Це важливо, щоб підвищити метрики оцінювання, які ви бачили раніше в цьому розділі. У цій вправі ви змінюватимете параметр максимальної глибини дерева рішень, щоб побачити, як це впливає на результати класифікації.
У вашому середовищі доступні X_train, y_train, X_test, y_test. Також доступні pandas як pd, numpy як np і sklearn. Крім того, у вашому середовищі доступні confusion_matrix(), precision_score() і recall_score() з sklearn.metrics.
Ця вправа є частиною курсу
Прогнозування CTR за допомогою машинного навчання в Python
Інструкції до вправи
- Створіть кілька дерев рішень, змінюючи максимальну глибину кожного дерева.
- Для кожного дерева виконайте навчання та згенеруйте передбачення на тестових даних.
- Оцініть для кожного дерева матрицю неточностей (confusion matrix), точність (precision) і повноту (recall).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))