In [1]:
from Stacked_Generalization.stackgen import StackGen

In [2]:
from sklearn.linear_model import Ridge
from sklearn.linear_model import Lasso
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn import datasets

boston = datasets.load_boston()
X = boston.data
Y = boston.target
X_TR, X_TE, y_TR, y_TE = train_test_split(X, Y, test_size=0.3, random_state=9)

In [3]:
#Stacking with Random Forest Regressor (meta-features only)
stacked_regressor = StackGen(base_models = [Ridge(), Lasso()], 
                            stacker = RandomForestRegressor(random_state = 9), 
                            classification = False, 
                            n_folds = 3, 
                            kf_random_state = 9, 
                            stack_with_orig = False, 
                            save_results = 0)
_ = stacked_regressor.fit_predict(X_TR, y_TR, X_TE, y_TE) #MSE OOS error --->  16.0319447368


### Fitting model Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,
   normalize=False, random_state=None, solver='auto', tol=0.001) ###
Fold # of CV -> 1
Error for fold 1 is 24.0085184612
Fold # of CV -> 2
Error for fold 2 is 22.9652170097
Fold # of CV -> 3
Error for fold 3 is 32.4027322294
Average CV error is  26.4588225668
OOS error --->  19.8432255394

### Fitting model Lasso(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=1000,
   normalize=False, positive=False, precompute=False, random_state=None,
   selection='cyclic', tol=0.0001, warm_start=False) ###
Fold # of CV -> 1
Error for fold 1 is 29.0020528231
Fold # of CV -> 2
Error for fold 2 is 30.7113519387
Fold # of CV -> 3
Error for fold 3 is 31.5664792076
Average CV error is  30.4266279898
OOS error --->  26.9220710546

Stacking base models using RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
           max_features='auto', max_leaf_nodes=None,
           min_impurity_split=1e-07, min_samples_leaf=1,
           min_samples_split=2, min_weight_fraction_leaf=0.0,
           n_estimators=10, n_jobs=1, oob_score=False, random_state=9,
           verbose=0, warm_start=False)  ----> 
### Fitting model RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
           max_features='auto', max_leaf_nodes=None,
           min_impurity_split=1e-07, min_samples_leaf=1,
           min_samples_split=2, min_weight_fraction_leaf=0.0,
           n_estimators=10, n_jobs=1, oob_score=False, random_state=9,
           verbose=0, warm_start=False) ###
Fold # of CV -> 1
Error for fold 1 is 23.6845254237
Fold # of CV -> 2
Error for fold 2 is 30.3438033898
Fold # of CV -> 3
Error for fold 3 is 37.7114652542
Average CV error is  30.5799313559
OOS error --->  16.0319447368


In [4]:
#Stacking with Random Forest Regressor (original features horizontally stacked with meta-features)
stacked_regressor = StackGen(base_models = [Ridge(), Lasso()], 
                            stacker = RandomForestRegressor(random_state = 9), 
                            classification = False, 
                            n_folds = 3, 
                            kf_random_state = 9, 
                            stack_with_orig = True, 
                            save_results = 0)
_ = stacked_regressor.fit_predict(X_TR, y_TR, X_TE, y_TE) #MSE  OOS error --->  11.7684244883


### Fitting model Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,
   normalize=False, random_state=None, solver='auto', tol=0.001) ###
Fold # of CV -> 1
Error for fold 1 is 24.0085184612
Fold # of CV -> 2
Error for fold 2 is 22.9652170097
Fold # of CV -> 3
Error for fold 3 is 32.4027322294
Average CV error is  26.4588225668
OOS error --->  19.8432255394

### Fitting model Lasso(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=1000,
   normalize=False, positive=False, precompute=False, random_state=None,
   selection='cyclic', tol=0.0001, warm_start=False) ###
Fold # of CV -> 1
Error for fold 1 is 29.0020528231
Fold # of CV -> 2
Error for fold 2 is 30.7113519387
Fold # of CV -> 3
Error for fold 3 is 31.5664792076
Average CV error is  30.4266279898
OOS error --->  26.9220710546

Stacking base models using RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
           max_features='auto', max_leaf_nodes=None,
           min_impurity_split=1e-07, min_samples_leaf=1,
           min_samples_split=2, min_weight_fraction_leaf=0.0,
           n_estimators=10, n_jobs=1, oob_score=False, random_state=9,
           verbose=0, warm_start=False)  ----> 
### Fitting model RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
           max_features='auto', max_leaf_nodes=None,
           min_impurity_split=1e-07, min_samples_leaf=1,
           min_samples_split=2, min_weight_fraction_leaf=0.0,
           n_estimators=10, n_jobs=1, oob_score=False, random_state=9,
           verbose=0, warm_start=False) ###
Fold # of CV -> 1
Error for fold 1 is 12.0712813559
Fold # of CV -> 2
Error for fold 2 is 18.1125584746
Fold # of CV -> 3
Error for fold 3 is 21.8183389831
Average CV error is  17.3340596045
OOS error --->  11.7684244883


In [ ]: