Cross-validation

scikit-learn के साथ Supervised Learning

George Boorman

Core Curriculum Manager, DataCamp

Cross-validation का उद्देश्य

  • मॉडल का प्रदर्शन डेटा को कैसे बाँटा गया है, इस पर निर्भर करता है

  • अनदेखे डेटा पर जनरलाइज़ करने की क्षमता का प्रतिनिधि नहीं

  • समाधान: Cross-validation!

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

तालिका शीर्षक: split 1, fold 1, fold 2, fold 3, fold 4, और fold 5

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

split 1 को test set के रूप में सुरक्षित रखें

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

folds 2-5 को training data के रूप में उपयोग करें

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

इन folds पर metric निकालें

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

Fold 2 को test data के रूप में

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

folds 1, 3, 4, और 5 को training data के रूप में

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

metric फिर से calculate करें

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

तीसरे fold के साथ दोहराएँ

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

चौथे fold के साथ दोहराएँ

scikit-learn के साथ Supervised Learning

Cross-validation मूल बातें

पाँचवें fold के साथ दोहराएँ

scikit-learn के साथ Supervised Learning

Cross-validation और मॉडल प्रदर्शन

  • 5 folds = 5-fold CV

  • 10 folds = 10-fold CV

  • k folds = k-fold CV

  • ज्यादा folds = ज्यादा computational लागत

scikit-learn के साथ Supervised Learning

scikit-learn में Cross-validation

from sklearn.model_selection import cross_val_score, KFold

kf = KFold(n_splits=6, shuffle=True, random_state=42)
reg = LinearRegression()
cv_results = cross_val_score(reg, X, y, cv=kf)
scikit-learn के साथ Supervised Learning

Cross-validation प्रदर्शन का आकलन

print(cv_results)
[0.70262578, 0.7659624, 0.75188205, 0.76914482, 0.72551151, 0.73608277]
print(np.mean(cv_results), np.std(cv_results))
0.7418682216666667 0.023330243960652888
print(np.quantile(cv_results, [0.025, 0.975]))
array([0.7054865, 0.76874702])
scikit-learn के साथ Supervised Learning

अभ्यास करते हैं!

scikit-learn के साथ Supervised Learning

Preparing Video For Download...