Files
mlessentials/Lab08/Examples/tuning_using_randomizedsearchcv.ipynb
T
2021-02-05 20:44:51 +00:00

3.3 KiB

In [ ]:
from sklearn import datasets, model_selection, linear_model

# load the data
diabetes = datasets.load_diabetes()

# target
y = diabetes.target

# features
X = diabetes.data

# initialise the ridge regression
reg = linear_model.Ridge()
In [ ]:
from scipy import stats

# alpha ~ gamma(1,1)
param_dist = {'alpha': stats.gamma(a=1, loc=1, scale=2)}
In [ ]:
# set up the random search to sample 100 values and score on negative mean squared error
rscv = model_selection.RandomizedSearchCV(estimator=reg, param_distributions=param_dist, n_iter=100, scoring='neg_mean_squared_error')

# start the search
rscv.fit(X,y)
In [ ]:
import pandas as pd

# convert the results dictionary to a pandas data frame
results = pd.DataFrame(rscv.cv_results_)

# show the top 5 hyperparamaterizations
print(results.loc[:,['params','rank_test_score']].sort_values('rank_test_score').head(5))