scikit-learn के साथ Supervised Learning
George Boorman
Core Curriculum Manager
Ridge/lasso regression: alpha चुनना
KNN: n_neighbors चुनना
Hyperparameters: पैरामीटर जो आप मॉडल फिट करने से पहले तय करते हैं
alpha और n_neighborsअलग-अलग हाइपरपैरामीटर वैल्यू आज़माएँ
सबको अलग-अलग फिट करें
देखें कौन सा बेहतर परफॉर्म करता है
सबसे अच्छा परफॉर्म करने वाली वैल्यू चुनें
इसे हाइपरपैरामीटर ट्यूनिंग कहते हैं
टेस्ट सेट पर ओवरफिटिंग से बचने के लिए क्रॉस-वैलिडेशन ज़रूरी है
डेटा स्प्लिट करें और ट्रेनिंग सेट पर क्रॉस-वैलिडेशन चलाएँ
फाइनल इवैल्यूएशन के लिए टेस्ट सेट अलग रखें



from sklearn.model_selection import GridSearchCVkf = KFold(n_splits=5, shuffle=True, random_state=42)param_grid = {"alpha": np.arange(0.0001, 1, 10), "solver": ["sag", "lsqr"]}ridge = Ridge()ridge_cv = GridSearchCV(ridge, param_grid, cv=kf)ridge_cv.fit(X_train, y_train)print(ridge_cv.best_params_, ridge_cv.best_score_)
{'alpha': 0.0001, 'solver': 'sag'}
0.7529912278705785
from sklearn.model_selection import RandomizedSearchCVkf = KFold(n_splits=5, shuffle=True, random_state=42) param_grid = {'alpha': np.arange(0.0001, 1, 10), "solver": ['sag', 'lsqr']} ridge = Ridge()ridge_cv = RandomizedSearchCV(ridge, param_grid, cv=kf, n_iter=2) ridge_cv.fit(X_train, y_train)print(ridge_cv.best_params_, ridge_cv.best_score_)
{'solver': 'sag', 'alpha': 0.0001}
0.7529912278705785
test_score = ridge_cv.score(X_test, y_test)print(test_score)
0.7564731534089224
scikit-learn के साथ Supervised Learning