X_train, X_test, y_train, y_test = \ train_test_split(X, y, test_size=0.33, random_state=0) ######################################################## # Fit a gaussian distributed GLM with elastic net regularization # use the default value for reg_lambda glm = GLMCV(distr='gaussian', alpha=0.05, score_metric='pseudo_R2') # fit model glm.fit(X_train, y_train) # score the test set prediction y_test_hat = glm.predict(X_test) print ("test set pseudo $R^2$ = %f" % glm.score(X_test, y_test)) ######################################################## # Plot the true and predicted test set target values plt.plot(y_test[:50], 'ko-') plt.plot(y_test_hat[:50], 'ro-') plt.legend(['true', 'pred'], frameon=False) plt.xlabel('Counties') plt.ylabel('Per capita violent crime') plt.tick_params(axis='y', right='off') plt.tick_params(axis='x', top='off') ax = plt.gca() ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False)
from sklearn.model_selection import train_test_split Xtrain, Xtest, Ytrain, Ytest = train_test_split(features, spike_counts, test_size=0.2, random_state=42) ######################################################## from pyglmnet import utils n_samples = Xtrain.shape[0] Tau = utils.tikhonov_from_prior(prior_cov, n_samples) glm = GLMCV(distr='poisson', alpha=0., Tau=Tau, score_metric='pseudo_R2', cv=3) glm.fit(Xtrain, Ytrain) print("train score: %f" % glm.score(Xtrain, Ytrain)) print("test score: %f" % glm.score(Xtest, Ytest)) weights = glm.beta_ ######################################################## # Visualize for time_bin_ in range(n_temporal_basis): RF = strf_model.make_image_from_spatial_basis( spatial_basis, weights[range(time_bin_, n_spatial_basis * n_temporal_basis, n_temporal_basis)]) plt.subplot(1, n_temporal_basis, time_bin_ + 1) plt.imshow(RF, cmap='Blues', interpolation='none') titletext = str(centers[time_bin_])
X_train, X_test, y_train, y_test = \ train_test_split(X, y, test_size=0.33, random_state=0) ######################################################## # Fit a gaussian distributed GLM with elastic net regularization # use the default value for reg_lambda glm = GLMCV(distr='gaussian', alpha=0.05, score_metric='pseudo_R2') # fit model glm.fit(X_train, y_train) # score the test set prediction y_test_hat = glm.predict(X_test) print ("test set pseudo $R^2$ = %f" % glm.score(X_test, y_test)) ######################################################## # Now use plain grid search cv to compare import numpy as np # noqa from sklearn.model_selection import GridSearchCV # noqa from sklearn.cross_validation import StratifiedKFold # noqa cv = StratifiedKFold(y_train, 3) reg_lambda = np.logspace(np.log(0.5), np.log(0.01), 10, base=np.exp(1)) param_grid = [{'reg_lambda': reg_lambda}] glm = GLM(distr='gaussian', alpha=0.05, score_metric='pseudo_R2')