In [1]:
import ensembles as en
import pandas as pd


Using Theano backend.

In [2]:
Data = pd.read_csv('/home/prajwal/Desktop/forest/Forest_Cover.data',header = -1)
#Since label_output has to be a string
Data = Data.rename(columns = {54:'target_label'})
#Multi class classification, change classes 1-7 to 0-6
Data['target_label'] = Data['target_label'] - 1

In [3]:
%%time

test_data = en.data_import(Data,label_output='target_label')
en.metric_set('accuracy_score')
param_gb_1 = en.parameter_set_gradient_boosting(eval_metric = ['auc'], objective = ["multi:softmax"],num_class=7)
param_dt = en.parameter_set_decision_tree()
param_rf = en.parameter_set_random_forest()
param_l2 = en.parameter_set_logistic_regression(solver = ['lbfgs'])
param_l1 = en.parameter_set_logistic_regression(penalty = ['l2'], solver = ['lbfgs'])
en.train_base_models(['gradient_boosting','decision_tree',\
                                     'random_forest','logistic_regression',\
                                     'logistic_regression'],[param_gb_1, param_dt, param_rf
                                                                                 , param_l2, param_l1])

en.train_ensemble_models(['logistic_regression', 'gradient_boosting'], [param_l1, param_gb_1],
                      ['gradient_boosting','logistic_regression'],[param_gb_1,param_l2])

en.test_models(test_data)


TRAINING BASE MODELS


TESTING/CROSS VALIDATION BASE MODELS

gradient_boosting 
 0.777258712511
decision_tree 
 0.910330109118
random_forest 
 0.918999591851
logistic_regression 
 0.714821717472
logistic_regression 
 0.714821717472

TRAINING ENSEMBLE MODELS


TESTING PHASE


TESTING/CROSS VALIDATION BASE MODELS

gradient_boosting 
 0.777651560788
decision_tree 
 0.909582738105
random_forest 
 0.918756418421
logistic_regression 
 0.714858608286
logistic_regression 
 0.714858608286

TESTING ENSEMBLE MODELS

Stacking logistic_regression 
 0.86473554672
Stacking gradient_boosting 
 0.895612812172
Blending gradient_boosting 
 0.908555790778
Blending logistic_regression 
 0.898555962892
CPU times: user 17.2 s, sys: 948 ms, total: 18.1 s
Wall time: 8min 22s

In [ ]: