Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save muhammadanas0716/3e113fc8df00df430ae1e5ae57bc544a to your computer and use it in GitHub Desktop.
Save muhammadanas0716/3e113fc8df00df430ae1e5ae57bc544a to your computer and use it in GitHub Desktop.
Displaying GridSearchCV results in a Pandas DataFrame
import pandas as pd
df = pd.read_csv('http://bit.ly/kaggletrain')
X = df[['Pclass', 'Sex']]
y = df['Survived']
from sklearn.preprocessing import OneHotEncoder
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.compose import make_column_transformer
from sklearn.pipeline import Pipeline
one_encoder = OneHotEncoder() # One Hot Encoder
clf = LogisticRegression(solver='liblinear', random_state=1) # Model
col_transform = make_column_transformer((one_encoder, ['Sex']), remainder='passthrough')
pipe = Pipeline([('preprocessor', col_transform), ('model', clf)])
# Specify parameter values to search
params = {}
params['model__C'] = [0.1, 1, 10]
params['model__penalty'] = ['l1', 'l2']
# Try all possible combinations of those parameter values
from sklearn.model_selection import GridSearchCV
grid = GridSearchCV(pipe, params, cv=5, scoring='accuracy')
grid.fit(X, y);
# Convert results into a DataFrame
results = pd.DataFrame(grid.cv_results_)[['params', 'mean_test_score', 'rank_test_score']]
# Sort by test score
results.sort_values('rank_test_score')
print(results)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment