ओवरफिटिंग के बिना इटरेशन

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Dr. Chris Anagnostopoulos

Honorary Associate Professor

एक आरेख जो दिखाता है कि प्रोडक्शन में पुश होने के बाद भी machine learning पाइपलाइन को और ट्यून किया जा सकता है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

उसी आरेख में दिखाया गया है कि प्रोडक्शन से और डेटा निकालकर मॉडल को बेहतर ट्यून करने में मदद मिल सकती है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

उसी आरेख में दिखाया है कि डोमेन विशेषज्ञ नए इनसाइट दे सकते हैं, जैसे नई loss functions, जो मॉडल बदल सकती हैं.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

उसी आरेख में, प्रोडक्शन में गया मॉडल "champion" और डेवलपमेंट वाला "challenger" लेबल किया गया है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

क्रॉस-वैलिडेशन परिणाम

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
...
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

क्रॉस-वैलिडेशन परिणाम

   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

Observations:

  • Training score टेस्ट स्कोर से काफ़ी ज्यादा है.
  • टेस्ट स्कोर का standard deviation बड़ा है.
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

एक डेटासेट जिसे training और test में बाँटा गया है, और training को CV से आगे छोटे हिस्सों में विभाजित किया गया है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

एक डेटासेट जिसे training और validation में बाँटा गया है, और training को CV से आगे छोटे हिस्सों में विभाजित किया गया है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

ओवरफिटिंग पहचानना

  • CV Training Score >> CV Test Score
    • मॉडल फिटिंग स्टेज में overfitting
    • classifier की complexity घटाएँ
    • और training डेटा लें
    • CV folds की संख्या बढ़ाएँ
  • CV Test Score >> Validation Score
    • मॉडल ट्यूनिंग स्टेज में overfitting
    • CV folds की संख्या घटाएँ
    • parameter grid का आकार घटाएँ

एक डेटासेट जिसे training और validation में बाँटा गया है, और training को CV से आगे बड़े हिस्सों में विभाजित किया गया है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

एक डेटासेट जिसे training और validation में बाँटा गया है, और training को CV से आगे छोटे हिस्सों में विभाजित किया गया है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

एक डेटासेट जिसे training, validation और production डेटा में बाँटा गया है, और training को CV से आगे छोटे हिस्सों में विभाजित किया गया है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

आपके CV में "Expert in CV"!

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Preparing Video For Download...