ÎncepețiÎncepe gratuit

Construirea curbelor de învățare

Atunci când vrei să testezi mai multe valori pentru un singur hiperparametru, poate fi dificil să le analizezi ușor sub forma unui DataFrame. Ai aflat anterior despre un truc util pentru a face asta. Un grafic numit „curbă de învățare" poate ilustra clar efectul creșterii sau scăderii unui anumit hiperparametru asupra rezultatului final.

În loc să testezi doar câteva valori pentru rata de învățare, vei testa multe valori pentru a vedea cu ușurință efectul acestui hiperparametru pe un interval larg. O funcție utilă din NumPy este np.linspace(start, end, num), care îți permite să creezi un număr de valori (num) distribuite uniform într-un interval (start, end) pe care îl specifici.

Vei avea la dispoziție seturile de date X_train, X_test, y_train și y_test.

Acest exercițiu face parte din cursul

Ajustarea hiperparametrilor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o listă cu 30 de rate de învățare distribuite uniform între 0,01 și 2.
  • Creează o buclă similară cu cea din exercițiul anterior, dar salvează doar scorurile de acuratețe într-o listă.
  • Reprezintă grafic ratele de învățare față de scorul de acuratețe.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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.____
Editează și rulează codul