ComenzarEmpieza gratis

Construir curvas de aprendizaje

Si queremos probar muchos valores diferentes para un único hiperparámetro, puede ser difícil verlo de forma clara en un DataFrame. Antes aprendiste un truco útil para analizar esto. Un gráfico llamado “curva de aprendizaje” muestra muy bien el efecto de aumentar o disminuir un hiperparámetro concreto en el resultado final.

En lugar de probar solo unos pocos valores para la tasa de aprendizaje, vas a probar muchos para ver fácilmente el efecto de este hiperparámetro en un amplio rango de valores. Una función útil de NumPy es np.linspace(start, end, num), que te permite crear una cantidad de valores (num) distribuidos de forma uniforme dentro de un intervalo (start, end) que especifiques.

Tendrás disponibles los conjuntos de datos X_train, X_test, y_train y y_test.

Este ejercicio forma parte del curso

Ajuste de hiperparámetros en Python

Ver curso

Instrucciones del ejercicio

  • Crea una lista de 30 tasas de aprendizaje, distribuidas uniformemente entre 0.01 y 2.
  • Crea un bucle similar al del ejercicio anterior, pero guarda solo las puntuaciones de exactitud en una lista.
  • Dibuja las tasas de aprendizaje frente a la puntuación de exactitud.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código