Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ###############################################################################
- # 7. Tuning a classifier to use with RFECV #
- ###############################################################################
- # Define classifier to use as the base of the recursive feature elimination algorithm
- selected_classifier = "Random Forest"
- classifier = classifiers[selected_classifier]
- # Tune classifier (Took = 4.8 minutes)
- # Scale features via Z-score normalization
- scaler = StandardScaler()
- # Define steps in pipeline
- steps = [("scaler", scaler), ("classifier", classifier)]
- # Initialize Pipeline object
- pipeline = Pipeline(steps = steps)
- # Define parameter grid
- param_grid = parameters[selected_classifier]
- # Initialize GridSearch object
- gscv = GridSearchCV(pipeline, param_grid, cv = 5, n_jobs= -1, verbose = 1, scoring = "roc_auc")
- # Fit gscv
- print(f"Now tuning {selected_classifier}. Go grab a beer or something.")
- gscv.fit(X_train, np.ravel(y_train))
- # Get best parameters and score
- best_params = gscv.best_params_
- best_score = gscv.best_score_
- # Update classifier parameters
- tuned_params = {item[12:]: best_params[item] for item in best_params}
- classifier.set_params(**tuned_params)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement