我在scikit-learn中使用了以下逻辑回归。
log_reg_model = LogisticRegression(max_iter=50000,C=lambda_c,penalty='l1',multi_class='ovr',class_weight='balanced',solver='liblinear')
现在我正在手动放置C的不同值(正则化强度的逆)并检查准确性评分。有没有更好的方法能让它自动找到最好的C(正则化)?
可以使用GridsearchCV
进行此操作,以求C
的最优值。
如下:
from sklearn.model_selection import GridSearchCV
parameters = {'C':[1, 10, 20, 50]}
log_reg_model = LogisticRegression(max_iter=50000,penalty='l1',multi_class='ovr',class_weight='balanced',solver='liblinear')
cv = GridSearchCV(log_reg_model, parameters)
cv.fit(X_train, y_train)
cv.best_params_