ПочатиПочніть безкоштовно

Логістична регресія з регуляризацією

У розділі 1 ви застосовували логістичну регресію до набору рукописних цифр. Тут ми дослідимо вплив L2‑регуляризації.

Набір рукописних цифр уже завантажено, розділено та збережено у змінних X_train, y_train, X_valid і y_valid. Змінні train_errs та valid_errs вже ініціалізовано як порожні списки.

Ця вправа є частиною курсу

Лінійні класифікатори в Python

Переглянути курс

Інструкції до вправи

  • Пройдіть циклом по різних значеннях C_value, щоразу створюючи й навчаючи модель LogisticRegression.
  • Збережіть помилку на тренувальній вибірці та на валідаційній вибірці для кожної моделі.
  • Побудуйте графік тренувальної та тестової помилки як функції параметра регуляризації C.
  • Подивіться на графік: яке значення C є найкращим?

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Train and validaton errors initialized as empty list
train_errs = list()
valid_errs = list()

# Loop over values of C_value
for C_value in [0.001, 0.01, 0.1, 1, 10, 100, 1000]:
    # Create LogisticRegression object and fit
    lr = ____
    lr.fit(____)
    
    # Evaluate error rates and append to lists
    train_errs.append( 1.0 - lr.score(____) )
    valid_errs.append( 1.0 - lr.score(____) )
    
# Plot results
plt.semilogx(C_values, train_errs, C_values, valid_errs)
plt.legend(("train", "validation"))
plt.show()
Редагувати та запускати код