Iterasi tanpa overfitting

Merancang Alur Kerja Machine Learning di Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Sebuah skema yang menunjukkan pipeline machine learning dapat disetel ulang setelah diproduksikan.

Merancang Alur Kerja Machine Learning di Python

Dalam skema yang sama, ditunjukkan bahwa lebih banyak data dapat diambil dari produksi untuk membantu penyetelan model.

Merancang Alur Kerja Machine Learning di Python

Dalam skema yang sama, ditunjukkan bahwa pakar domain dapat memberi wawasan baru yang mungkin mengubah model, seperti loss function baru.

Merancang Alur Kerja Machine Learning di Python

Dalam skema yang sama, model yang diproduksikan diberi label champion, dan yang masih dikembangkan adalah challenger.

Merancang Alur Kerja Machine Learning di Python

Hasil cross-validation

grid_search = GridSearchCV(pipe, params, cv=3, return_train_score=True)
gs = grid_search.fit(X_train, y_train)
results = pd.DataFrame(gs.cv_results_)
results[['mean_train_score', 'std_train_score', 
   'mean_test_score', 'std_test_score']]
   mean_train_score  std_train_score  mean_test_score  std_test_score
0             0.829            0.006            0.735           0.009
1             0.829            0.006            0.725           0.009
2             0.961            0.008            0.716           0.019
3             0.981            0.005            0.749           0.024
...
Merancang Alur Kerja Machine Learning di Python

Hasil cross-validation

   mean_train_score  std_train_score  mean_test_score  std_test_score
0             0.829            0.006            0.735           0.009
1             0.829            0.006            0.725           0.009
2             0.961            0.008            0.716           0.019
3             0.981            0.005            0.749           0.024
4             0.986            0.003            0.728           0.009
5             0.995            0.002            0.751           0.008

Observasi:

  • Skor latih jauh lebih tinggi daripada skor uji.
  • Simpangan baku skor uji besar.
Merancang Alur Kerja Machine Learning di Python

Dataset dibagi menjadi train dan test, dengan train dibagi lagi menjadi beberapa lipatan oleh cross-validation.

Merancang Alur Kerja Machine Learning di Python

Dataset dibagi menjadi train dan validasi, dengan train dibagi lagi menjadi beberapa lipatan oleh cross-validation.

Merancang Alur Kerja Machine Learning di Python

Mendeteksi overfitting

  • Skor CV train >> skor CV test
    • overfitting pada tahap pelatihan model
    • kurangi kompleksitas pengklasifikasi
    • tambah data latih
    • naikkan jumlah lipatan CV
  • Skor CV test >> skor validasi
    • overfitting pada tahap penyetelan model
    • turunkan jumlah lipatan CV
    • perkecil ukuran grid parameter

Dataset dibagi menjadi train dan validasi, dengan train dibagi lagi menjadi beberapa lipatan oleh cross-validation.

Merancang Alur Kerja Machine Learning di Python

Dataset dibagi menjadi train dan validasi, dengan train dibagi lagi menjadi beberapa lipatan oleh cross-validation.

Merancang Alur Kerja Machine Learning di Python

Dataset dibagi menjadi train, validasi, dan data produksi, dengan train dibagi lagi menjadi beberapa lipatan oleh cross-validation.

Merancang Alur Kerja Machine Learning di Python

"Ahli CV" di CV Anda!

Merancang Alur Kerja Machine Learning di Python

Preparing Video For Download...