Closed ijyliu closed 6 months ago
Perform hyperparameter tuning for logistic regression.
hyperparameter_settings = [ # Non-penalized {'solver': ['newton-cg', 'lbfgs', 'sag', 'saga'], 'penalty': [None], 'C': [1], # C is irrelevant here but required as a placeholder 'class_weight': [None, 'balanced'], 'multi_class': ['ovr', 'multinomial']}, # ElasticNet penalty {'solver': ['saga'], 'penalty': ['elasticnet'], 'C': [0.001, 0.01, 0.1, 1, 10, 100], 'l1_ratio': [0.0, 0.25, 0.5, 0.75, 1.0], 'class_weight': [None, 'balanced'], 'multi_class': ['ovr', 'multinomial']} ] # Fit model # Perform grid search with 5 fold cross validation lr = LogisticRegression(max_iter=1000) # higher to encourage convergence gs = GridSearchCV(lr, hyperparameter_settings, scoring='accuracy', cv=5, n_jobs=-1).fit(X, y)
Perform hyperparameter tuning for logistic regression.