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

Побудова кривих навчання

Коли ми хочемо перевірити багато різних значень одного гіперпараметра, це важко зручно подати у вигляді датафрейму. Раніше ви вивчили корисний прийом для аналізу таких випадків. Графік, який називають «кривою навчання», наочно показує, як збільшення або зменшення певного гіперпараметра впливає на підсумковий результат.

Замість того щоб тестувати лише кілька значень швидкості навчання, ви перевірите багато — щоб чітко побачити вплив цього гіперпараметра на широкому діапазоні значень. Корисна функція з NumPy — np.linspace(start, end, num), яка дозволяє створити задану кількість значень (num), рівномірно розподілених у вибраному інтервалі (start, end).

Ви матимете доступ до наборів даних X_train, X_test, y_train і y_test.

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

Тюнінг гіперпараметрів у Python

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

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

  • Створіть список із 30 швидкостей навчання, рівномірно розподілених між 0.01 і 2.
  • Створіть цикл, подібний до попередньої вправи, але зберігайте лише значення точності в список.
  • Побудуйте графік залежності швидкостей навчання від значення точності.

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

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

# Set the learning rates & accuracies list
learn_rates = np.linspace(____, ____, num=____)
accuracies = []

# Create the for loop
for learn_rate in learn_rates:
  	# Create the model, predictions & save the accuracies as before
    model = GradientBoostingClassifier(learning_rate=____)
    predictions = model.fit(____, ____).predict(____)
    accuracies.append(accuracy_score(y_test, ____))

# Plot results    
plt.plot(____, ____)
plt.gca().set(xlabel='learning_rate', ylabel='Accuracy', title='Accuracy for different learning_rates')
plt.____
Редагувати та запускати код