Overfitting dan underfitting
Menafsirkan kompleksitas model adalah cara yang sangat baik untuk mengevaluasi kinerja supervised learning. Tujuan Anda adalah menghasilkan model yang dapat menangkap hubungan antara fitur dan variabel target, sekaligus melakukan generalisasi dengan baik saat dihadapkan pada observasi baru.
Himpunan latih dan uji telah dibuat dari himpunan data churn_df dan dimuat sebagai X_train, X_test, y_train, dan y_test.
Selain itu, KNeighborsClassifier telah diimpor untuk Anda bersama numpy sebagai np.
Latihan ini adalah bagian dari kursus
Supervised Learning dengan scikit-learn
Petunjuk latihan
- Buat
neighborssebagai arraynumpyberisi nilai dari1hingga12(inklusif). - Instansiasi
KNeighborsClassifierdengan jumlah tetangga sama dengan iteratorneighbor. - Latih model pada data latih.
- Hitung skor akurasi untuk himpunan latih dan himpunan uji secara terpisah menggunakan metode
.score(), lalu tetapkan hasilnya ke kamustrain_accuraciesdantest_accuracies, masing-masing menggunakan iteratorneighborsebagai indeks.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create neighbors
neighbors = np.arange(____, ____)
train_accuracies = {}
test_accuracies = {}
for neighbor in neighbors:
# Set up a KNN Classifier
knn = ____(____=____)
# Fit the model
knn.____(____, ____)
# Compute accuracy
train_accuracies[____] = knn.____(____, ____)
test_accuracies[____] = knn.____(____, ____)
print(neighbors, '\n', train_accuracies, '\n', test_accuracies)