Iterare fără supraajustare

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Schemă care indică faptul că un pipeline de învățare automată poate fi ajustat în continuare după lansarea în producție.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

În aceeași schemă, se indică faptul că din producție pot fi extrase date suplimentare pentru ajustarea modelului.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

În aceeași schemă, se arată că experții din domeniu pot oferi perspective noi care pot modifica modelul, cum ar fi funcții de pierdere noi.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

În aceeași schemă, modelul lansat în producție este etichetat ca „campion", iar cel în dezvoltare ca „challenger".

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Rezultatele validării încrucișate

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
...
Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Rezultatele validării încrucișate

   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

Observații:

  • Scorul de antrenare este mult mai mare decât cel de testare.
  • Deviația standard a scorului de testare este mare.
Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Un set de date împărțit în antrenare și testare, cu antrenarea subdivizată în blocuri prin validare încrucișată.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Un set de date împărțit în antrenare și validare, cu antrenarea subdivizată în blocuri prin validare încrucișată.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Detectarea supraajustării

  • Scor CV antrenare >> Scor CV testare
    • supraajustare în etapa de antrenare
    • reduceți complexitatea clasificatorului
    • obțineți mai multe date de antrenare
    • creșteți numărul CV
  • Scor CV testare >> Scor validare
    • supraajustare în etapa de ajustare
    • reduceți numărul CV
    • reduceți dimensiunea grilei de parametri

Un set de date împărțit în antrenare și validare, cu antrenarea subdivizată în blocuri prin validare încrucișată.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Un set de date împărțit în antrenare și validare, cu antrenarea subdivizată în blocuri prin validare încrucișată.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Un set de date împărțit în antrenare, validare și date de producție, cu antrenarea subdivizată în blocuri prin validare încrucișată.

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

„Expert în CV" în CV-ul dumneavoastră!

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Preparing Video For Download...