Membangun Kurva Pembelajaran
Jika kita ingin menguji banyak nilai berbeda untuk satu hyperparameter, akan sulit untuk melihatnya dengan mudah dalam bentuk DataFrame. Sebelumnya Anda mempelajari trik yang bagus untuk menganalisis hal ini. Grafik yang disebut 'learning curve' dapat menunjukkan dengan jelas dampak peningkatan atau penurunan suatu hyperparameter tertentu terhadap hasil akhir.
Alih-alih menguji hanya beberapa nilai untuk learning rate, Anda akan menguji banyak nilai agar mudah melihat dampak hyperparameter ini pada rentang nilai yang luas. Fungsi berguna dari NumPy adalah np.linspace(start, end, num) yang memungkinkan Anda membuat sejumlah nilai (num) yang tersebar merata dalam sebuah interval (start, end) yang Anda tentukan.
Anda akan memiliki himpunan data X_train, X_test, y_train, dan y_test.
Latihan ini adalah bagian dari kursus
Penyetelan Hyperparameter di Python
Petunjuk latihan
- Buat daftar 30 learning rate yang tersebar merata antara 0,01 dan 2.
- Buat loop serupa seperti latihan sebelumnya tetapi hanya simpan skor akurasi ke dalam sebuah daftar.
- Plot learning rate terhadap skor akurasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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.____