ComeçarComece de graça

Construindo curvas de aprendizado

Quando queremos testar muitos valores diferentes para um único hiperparâmetro, pode ser difícil visualizar isso facilmente em um DataFrame. Antes, você aprendeu um truque útil para analisar essa situação. Um gráfico chamado “curva de aprendizado” mostra bem o efeito de aumentar ou diminuir um hiperparâmetro específico no resultado final.

Em vez de testar apenas alguns valores para a taxa de aprendizado, você vai testar muitos, para ver claramente o efeito desse hiperparâmetro em uma faixa ampla de valores. Uma função útil do NumPy é np.linspace(start, end, num), que permite criar uma quantidade (num) de valores igualmente espaçados dentro de um intervalo (start, end) que você especificar.

Você terá disponíveis os conjuntos de dados X_train, X_test, y_train e y_test.

Este exercício faz parte do curso

Ajuste de Hiperparâmetros em Python

Ver curso

Instruções do exercício

  • Crie uma lista com 30 taxas de aprendizado igualmente espaçadas entre 0,01 e 2.
  • Crie um loop semelhante ao do exercício anterior, mas salve apenas as pontuações de acurácia em uma lista.
  • Plote as taxas de aprendizado contra a pontuação de acurácia.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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.____
Editar e executar o código