%matplotlib inline import matplotlib as mlp import matplotlib.pyplot as plt import numpy as np import pandas as pd import sklearn from sklearn import cross_validation from sklearn import datasets from sklearn import ensemble from sklearn import grid_search from sklearn import metrics import time plt.style.use('fivethirtyeight') california_housing = datasets.california_housing.fetch_california_housing() california_housing_data = california_housing['data'] california_housing_labels = california_housing['target']# 'target' variables california_housing_feature_names = california_housing['feature_names'] X_train, X_test, y_train, y_test = cross_validation.train_test_split(california_housing_data, california_housing_labels, test_size=0.2, random_state=0) param_grid = { 'learning_rate': [0.1, 0.05, 0.01], 'max_depth': [4, 6], 'min_samples_leaf': [3, 9, 15], 'n_estimators': [1000, 2000, 3000], } est = ensemble.GradientBoostingRegressor() start_time = time.time() gs_cv = grid_search.GridSearchCV(est, param_grid, n_jobs=4).fit(X_train, y_train) end_time = time.time() print('It took {} seconds'.format(end_time - start_time)) # best hyperparameter setting gs_cv.best_params_ gs_cv.grid_scores_