In [176]:
%load_ext autoreload
%autoreload 2
import sys, os
sys.path.append('..')

from misc.config import c
from data_api import *
import cPickle
import pandas as pd
from data_api import *
results_dir = c['RESULTS_DIR']


The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload

In [34]:
all_results = {}

datasets = ['glass', 'australian', 'bank','breast_cancer', 'crashes', 'liver', 'segment', 'satimage', 'heart', 'svmguide2'
            'diabetes', 'fourclass', 'german', 'indian', 'ionosphere', 'sonar', 'splice', 'iris', 'wine', 'pendigits',
            'svmguide4']
models = ['test_svm', 'test_r2elm', 'test_r2svm', 'test_r2lr', 'test_linear_svm', 'test_elm', 'random_r2svm', 
          'fixed_r2svm', 'triple_elm', 'triple_fixed_r2svm', 'triple_r2svm', 'triple_svm', 'exh__r2svm']

paths = [ os.path.join(results_dir, model + '_' + dataset) for model in models for dataset in datasets ]

In [327]:
all_results = {}
models = ['test_r2elm']

datasets = ['glass', 'australian', 'bank','breast_cancer', 'crashes', 'liver', 'segment', 'satimage', 'heart', 'svmguide2',
            'diabetes', 'fourclass', 'german', 'indian', 'ionosphere', 'sonar', 'splice', 'iris', 'wine', 'pendigits',
            'svmguide4', 'vowel', 'vehicle']

paths = [ os.path.join(results_dir, model + '_' + dataset) for model in models for dataset in datasets ]

In [328]:
for path in paths:
    if os.path.isdir(path):
        print path
        results = {}
        for exp in os.listdir(path):
            name = exp[:-11]
            try:
                exp_res = cPickle.load(open(os.path.join(path, exp),'r'))
            except:
                print exp
                continue
            merged_res = exp_res['monitors']
            merged_res.update(exp_res['results'])
            merged_res.update(exp_res['config']['params'])
            results[name] = merged_res
        name = path.split('/')[-1]
        all_results[name] = results


/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_glass
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_australian
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_bank
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_breast_cancer
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_crashes
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_liver
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_heart
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_svmguide2
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_diabetes
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_fourclass
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_german
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_indian
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_ionosphere
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_sonar
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_splice
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_iris
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_wine
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_svmguide4
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_vowel
/mnt/users/czarnecki/local/r2-learner/results/test_r2elm_vehicle

In [329]:
all_results_pd = {}
for k, v in all_results.iteritems():
    all_results_pd[k] = pd.DataFrame.from_dict(v).transpose()

In [330]:
for k, v in all_results_pd.iteritems():
    v.to_csv(os.path.join(results_dir, 'csv', k))

In [331]:
csv_results = {}
csv_dir = os.path.join(results_dir, 'csv')

for csv_file in os.listdir(csv_dir):
    print csv_file
    if csv_file == 'old_r2svm':
        continue
    csv_results[csv_file] = pd.DataFrame.from_csv(os.path.join(csv_dir, csv_file))


triple_r2svm_iris
test_svm_liver
fixed_r2svm_heart
fixed_r2svm_sonar
test_elm_bank
test_svm_pendigits
test_svm_sonar
test_r2svm_sonar
test_linear_svm_segment
test_r2elm_iris
triple_fixed_r2svm_splice
fixed_r2svm_vowel
test_elm_diabetes
random_r2svm_fourclass
triple_r2svm_pendigits
test_r2svm_crashes
test_elm_wine
triple_r2svm_australian
triple_svm_splice
test_svm_segment
triple_svm_segment
test_r2elm_heart
test_r2elm_pendigits
triple_fixed_r2svm_glass
test_r2elm_vehicle
test_svm_german
fixed_r2svm_wine
exh__r2svm_wine
triple_svm_bank
random_r2svm_svmguide2
test_linear_svm_iris
test_linear_svm_vowel
test_elm_splice
triple_fixed_r2svm_german
triple_r2svm_liver
triple_svm_svmguide2
fixed_r2svm_svmguide4
triple_svm_fourclass
triple_svm_indian
triple_svm_ionosphere
test_r2elm_vowel
triple_svm_wine
exh_r2svm_splice
test_elm_iris
test_r2svm_ionosphere
test_svm_satimage
fixed_r2svm_pendigits
test_linear_svm_breast_cancer
test_r2elm_liver
fixed_r2svm_german
triple_r2svm_fourclass
test_svm_indian
triple_r2svm_breast_cancer
triple_r2svm_sonar
test_linear_svm_liver
test_linear_svm_splice
random_r2svm_australian
fixed_r2svm_australian
test_linear_svm_vehicle
triple_svm_liver
test_elm_satimage
test_svm_svmguide4
test_linear_svm_bank
test_r2elm_glass
test_elm_segment
test_elm_svmguide4
fixed_r2svm_liver
triple_fixed_r2svm_bank
triple_r2svm_heart
test_r2elm_diabetes
test_linear_svm_satimage
random_r2svm_liver
exh_r2svm_ionosphere
triple_r2svm_german
random_r2svm_iris
triple_r2svm_segment
fixed_r2svm_crashes
test_linear_svm_australian
fixed_r2svm_segment
triple_svm_glass
test_linear_svm_indian
fixed_r2svm_indian
triple_svm_pendigits
triple_fixed_r2svm_heart
triple_fixed_r2svm_svmguide4
exh__r2svm_ionosphere
test_r2svm_vowel
triple_r2svm_satimage
test_r2elm_crashes
test_linear_svm_wine
random_r2svm_german
test_elm_fourclass
random_r2svm_heart
test_linear_svm_pendigits
triple_svm_heart
test_linear_svm_crashes
test_svm_bank
random_r2svm_vehicle
fixed_r2svm_glass
triple_fixed_r2svm_liver
triple_r2svm_svmguide4
test_r2svm_fourclass
exh__r2svm_splice
triple_r2svm_svmguide2
test_linear_svm_svmguide2
triple_r2svm_ionosphere
test_r2svm_vehicle
triple_fixed_r2svm_vehicle
exh_r2svm_sonar
test_r2svm_liver
test_elm_pendigits
test_elm_breast_cancer
triple_svm_breast_cancer
random_r2svm_segment
triple_svm_diabetes
triple_fixed_r2svm_pendigits
random_r2svm_diabetes
test_r2svm_breast_cancer
random_r2svm_wine
test_svm_wine
random_r2svm_splice
test_r2svm_indian
triple_r2svm_glass
test_linear_svm_svmguide4
test_r2svm_svmguide2
test_svm_heart
test_linear_svm_heart
triple_r2svm_splice
test_r2svm_wine
triple_svm_vowel
test_svm_australian
exh_r2svm_vowel
test_elm_glass
test_svm_svmguide2
test_r2svm_heart
test_elm_vowel
test_elm_heart
triple_fixed_r2svm_wine
test_svm_vehicle
test_linear_svm_fourclass
random_r2svm_pendigits
test_linear_svm_ionosphere
exh_r2svm_fourclass
triple_r2svm_vowel
triple_r2svm_bank
fixed_r2svm_iris
fixed_r2svm_vehicle
test_r2elm_german
triple_r2svm_vehicle
triple_fixed_r2svm_diabetes
test_r2elm_fourclass
test_r2elm_splice
test_r2elm_sonar
test_svm_splice
test_svm_ionosphere
triple_svm_crashes
test_r2elm_bank
triple_svm_german
test_r2svm_bank
test_elm_svmguide2
test_elm_australian
test_elm_ionosphere
fixed_r2svm_bank
triple_fixed_r2svm_ionosphere
test_r2elm_indian
test_linear_svm_diabetes
test_elm_liver
triple_r2svm_crashes
triple_fixed_r2svm_crashes
test_elm_vehicle
exh__r2svm_fourclass
test_r2elm_wine
test_linear_svm_german
test_svm_iris
triple_svm_vehicle
test_r2svm_splice
triple_fixed_r2svm_fourclass
test_elm_crashes
test_svm_fourclass
test_r2elm_svmguide4
triple_svm_australian
fixed_r2svm_diabetes
triple_r2svm_indian
test_svm_breast_cancer
exh_r2svm_glass
test_svm_crashes
triple_fixed_r2svm_indian
test_r2svm_iris
fixed_r2svm_satimage
test_elm_indian
triple_fixed_r2svm_breast_cancer
test_r2elm_australian
test_elm_sonar
triple_fixed_r2svm_svmguide2
triple_svm_sonar
test_r2elm_breast_cancer
test_r2svm_diabetes
fixed_r2svm_fourclass
random_r2svm_glass
random_r2svm_indian
triple_r2svm_wine
triple_fixed_r2svm_vowel
random_r2svm_crashes
fixed_r2svm_breast_cancer
triple_svm_satimage
random_r2svm_bank
triple_svm_svmguide4
triple_fixed_r2svm_sonar
triple_fixed_r2svm_australian
test_r2elm_satimage
triple_r2svm_diabetes
test_svm_glass
triple_fixed_r2svm_iris
random_r2svm_vowel
test_svm_diabetes
exh__r2svm_sonar
test_linear_svm_sonar
exh__r2svm_glass
random_r2svm_breast_cancer
random_r2svm_svmguide4
test_r2elm_svmguide2
triple_svm_iris
fixed_r2svm_ionosphere
test_r2elm_ionosphere
test_r2svm_german
test_r2svm_svmguide4
random_r2svm_sonar
test_r2svm_australian
test_r2elm_segment
test_svm_vowel
test_elm_german
fixed_r2svm_svmguide2
test_r2svm_glass
fixed_r2svm_splice
test_linear_svm_glass
random_r2svm_satimage
random_r2svm_ionosphere
exh_r2svm_wine

In [332]:
models = ['test_elm', 'test_svm', 'test_linear_svm','test_r2svm', 'test_r2elm', 'random_r2svm', 'fixed_r2svm', 
        'triple_svm', 'triple_r2svm', 'triple_fixed_r2svm'] #,exh_r2svm]
datasets = ['glass', 'australian', 'bank','breast_cancer', 'crashes', 'liver', 'segment', 'satimage', 'heart', 'vowel',
            'diabetes', 'fourclass', 'german', 'indian', 'ionosphere', 'sonar', 'splice', 'iris', 'wine', 'pendigits',
            'vehicle', 'svmguide2', 'svmguide4']

pd.options.display.float_format = '{:2.4f}'.format

best_results = {model: {} for model in models}
for model in models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            best_results[model][data] = df['mean_acc'].max() * 100

print "Best Mean Accuracy"
pd.DataFrame.from_dict(best_results)


Best Mean Accuracy
Out[332]:
fixed_r2svm random_r2svm test_elm test_linear_svm test_r2elm test_r2svm test_svm triple_fixed_r2svm triple_r2svm triple_svm
australian 85.7906 86.2285 87.6807 85.6464 87.0519 87.1990 86.8111 85.9380 86.6591 85.5025
bank 99.9757 99.0772 100.0000 99.1257 97.1333 99.7567 100.0000 100.0000 99.9757 100.0000
breast_cancer 97.2648 97.1661 97.0716 96.9213 97.2677 96.8734 97.0695 97.4108 97.0194 96.7753
crashes 95.1868 90.9343 92.5940 95.7457 95.0656 95.4994 96.4831 94.8798 94.7615 95.7457
diabetes 76.3028 76.1721 78.3898 78.1275 77.2156 77.9563 78.3855 76.8676 75.9143 78.2565
fourclass 74.3238 76.2972 98.9562 77.2644 77.6484 78.8863 100.0000 77.1905 80.8240 100.0000
german 72.6333 71.2667 75.1000 76.4000 76.7333 76.5333 76.3000 71.7667 72.7333 76.1000
glass 59.4420 55.7581 70.6699 62.4845 64.4929 64.0995 73.2334 65.3881 68.7733 72.2597
heart 84.9383 84.9383 82.9630 84.4444 85.1852 84.3210 84.8148 84.5679 84.5679 84.8148
indian 71.3564 71.3564 72.7371 72.2170 72.0435 72.5500 72.3806 71.3564 70.5070 72.3806
ionosphere 90.8867 90.0241 91.1791 88.6076 91.6445 89.4621 96.0161 91.8484 89.0879 92.8773
iris 96.6667 93.7778 98.0000 95.3333 95.7778 96.8889 98.0000 97.5556 98.0000 96.6667
liver 66.3768 62.8986 74.4928 70.7246 68.7923 69.5652 75.3623 70.9179 70.3382 73.0435
pendigits 93.5497 93.0675 97.3164 93.3678 87.2453 nan 99.6179 97.4649 99.1268 99.6088
satimage 87.2100 87.0075 88.5652 82.3736 88.0470 nan 93.2477 nan 92.0762 97.1206
segment 92.6840 91.7172 92.8571 92.5974 94.4733 nan 97.0130 nan 97.0996 97.0563
sonar 80.6225 78.3653 82.7361 75.5214 76.8001 74.6752 88.9974 83.9833 76.3991 81.7605
splice 80.7691 80.1701 76.0990 79.6996 81.8391 80.6713 88.2992 87.6739 81.1666 88.3017
svmguide2 82.4513 82.3756 82.3626 83.6481 83.6363 83.3862 84.6480 83.9068 82.8086 85.1675
svmguide4 72.8363 58.5639 75.6367 80.8603 79.9289 85.4328 86.5887 81.7049 90.0629 86.7565
vehicle 77.8016 73.2099 82.1585 78.1303 79.9883 81.3024 85.6918 81.6469 82.3890 84.7617
vowel 49.0236 46.2963 82.5253 47.3737 53.5017 62.4916 99.4949 72.2559 87.2727 99.5960
wine 84.2991 83.3611 87.0695 83.1762 82.5591 82.9969 85.9240 85.6037 83.8964 83.7168

In [335]:
best_std = {model: {} for model in models}
for model in models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            if 'std' in df.columns:
                best_std[model][data] = df.loc[df['mean_acc'].idxmax(),'std'] * 100
#             scores = df.loc[df['mean_acc'].idxmax(),'acc_fold']
#             best_std[model][data] =  np.mean([np.std(fold_scores) for fold_scores in scores]) * 100

print "Best std"
pd.DataFrame.from_dict(best_std)


Best std
Out[335]:
fixed_r2svm random_r2svm test_elm test_linear_svm test_r2elm test_r2svm test_svm triple_fixed_r2svm triple_r2svm triple_svm
australian 1.7998 2.0185 2.3823 2.0045 0.7313 0.7211 2.8015 1.8014 nan 3.1569
bank 0.0910 0.4760 0.0000 0.3707 0.1597 0.1032 0.0000 0.0000 nan 0.0000
breast_cancer 0.9131 1.0402 0.7998 0.9861 0.5845 0.4600 1.0401 0.8911 nan 1.0056
crashes 1.3995 3.0520 0.5628 1.4907 0.5879 0.4988 1.5918 1.9290 nan 1.4907
diabetes 3.0559 2.6947 2.9217 2.6668 1.3562 0.4695 2.7754 1.9476 nan 2.8008
fourclass 2.2574 2.7886 0.6764 2.3708 0.8653 1.1918 0.0000 5.3316 nan 0.0000
german 2.1638 3.1826 2.0347 2.9732 0.4807 0.5826 3.2650 4.2929 nan 2.8705
glass 7.9234 6.0217 4.7378 5.7885 3.7802 2.4513 4.8422 6.3834 nan 7.8728
heart 2.3294 2.3294 2.7217 3.0089 0.0000 1.0476 3.9545 1.9907 nan 3.9545
indian 0.2516 0.2516 1.4733 1.5071 0.9981 1.1498 0.7550 0.2516 nan 0.7550
ionosphere 3.7420 3.9445 3.3868 2.3698 1.2612 1.4423 2.0866 3.2043 nan 2.7108
iris 2.4343 5.8204 1.6330 1.6330 1.2571 0.8586 2.6667 2.2662 nan 2.1082
liver 7.3175 4.4213 3.7345 3.9318 1.0931 1.0199 4.2004 5.6619 nan 4.0580
pendigits 0.5551 0.5074 0.2403 0.4447 0.9033 nan 0.0679 0.3496 nan 0.0615
satimage 0.8834 0.8081 0.6146 0.2014 0.6364 nan 0.7100 nan nan 0.1855
segment 1.2576 1.0908 1.2769 1.1239 1.0392 nan 0.8372 nan nan 0.8052
sonar 5.9301 10.5165 7.3273 8.1775 3.9824 1.2470 4.8318 6.4060 nan 8.7270
splice 2.2945 1.6212 1.9885 0.5198 1.0874 1.2991 2.0188 2.1362 nan 2.2809
svmguide2 1.3835 1.9885 1.3417 2.0479 1.1327 1.5360 2.2068 1.9328 nan 2.0877
svmguide4 1.1523 1.7601 1.8429 3.4216 2.0013 1.8845 1.1114 0.8049 nan 0.7437
vehicle 3.5831 2.7495 4.3604 2.6268 0.9310 1.6527 1.3636 2.5292 2.1094 1.5383
vowel 2.3603 1.6007 3.0066 3.9562 3.7982 4.0726 0.0000 1.1137 2.3989 0.2020
wine 6.3772 6.4124 3.7708 5.1419 2.7511 1.4393 4.7883 3.2294 nan 6.6476

In [333]:
best_train_time = {model: {} for model in models}
for model in models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            time = df.loc[df['mean_acc'].idxmax(),'train_time']
            time = time.translate(None, '[]')
            best_train_time[model][data] = np.mean([float(t) for t in time.split(', ')])

print "Best train time"
pd.DataFrame.from_dict(best_train_time)


Best train time
Out[333]:
fixed_r2svm random_r2svm test_elm test_linear_svm test_r2elm test_r2svm test_svm triple_fixed_r2svm triple_r2svm triple_svm
australian 0.1464 0.0054 0.3201 0.0236 1.0581 1.8978 0.0183 0.2988 2.6481 0.0296
bank 0.0156 0.0025 0.6873 0.0026 1.8457 0.2944 0.0315 0.0217 0.1738 0.0089
breast_cancer 0.0202 0.0035 0.4864 0.0016 0.2297 0.6347 0.0042 0.1046 0.1283 0.0361
crashes 0.0464 0.0026 0.2320 0.0026 0.1179 0.3964 0.0055 0.1050 0.3025 0.0070
diabetes 0.0150 0.0046 0.4592 0.0604 0.1235 0.9053 0.0169 0.0402 2.4775 0.0237
fourclass 0.0501 0.0057 0.4847 0.0207 0.1171 0.8090 0.0100 0.0621 0.5610 0.0055
german 0.1978 0.0160 0.3636 0.0081 0.3982 2.6623 0.0387 0.4986 6.4902 0.0594
glass 0.0961 0.0139 0.0383 0.0473 0.0738 1.1615 0.0037 0.1582 1.0639 0.0042
heart 0.0056 0.0030 0.0016 0.0042 0.2770 0.4036 0.0025 0.0184 0.1524 0.0026
indian 0.0581 0.0040 0.2803 0.0554 0.3607 1.5226 0.0309 0.1232 1.6489 0.0172
ionosphere 0.0676 0.0170 0.6896 0.0059 0.1812 0.4340 0.0036 0.1337 0.1612 0.0054
iris 0.0161 0.0027 0.5061 0.0061 0.0745 0.2472 0.0008 0.0079 0.0134 0.0006
liver 0.0272 0.0042 0.1072 0.0286 0.0745 0.4234 0.0070 0.0483 0.4191 0.0051
pendigits 3.1311 0.1134 2.3122 0.8613 0.4511 nan 3.6527 6.5578 2.2639 1.1979
satimage 7.4973 0.4430 0.6859 0.6576 0.7384 nan 6.7918 nan 84.3363 3.2430
segment 0.5565 0.0355 0.9811 0.3835 0.1546 nan 0.1247 nan 0.6978 0.0758
sonar 0.1061 0.0118 0.0415 0.0061 0.1048 0.3438 0.0042 0.2885 0.1233 0.0052
splice 0.3478 0.0512 0.2885 0.0048 1.9940 7.0942 0.0975 0.8358 10.7936 0.1778
svmguide2 0.0180 0.0093 0.0086 0.0122 0.0972 1.6404 0.0065 0.1095 1.4786 0.0093
svmguide4 0.2906 0.0374 0.0197 0.1181 0.1182 3.0294 0.0204 0.4753 1.8570 0.0201
vehicle 0.3065 0.0205 0.0275 0.0927 1.3264 3.0749 0.0627 1.0007 4.7532 0.0398
vowel 0.5807 0.0333 0.0328 0.3102 0.1891 8.3620 0.0732 1.3480 11.7284 0.0995
wine 0.0092 0.0042 0.4211 0.0029 0.0791 0.3525 0.0021 0.0284 0.2508 0.0012

In [334]:
best_test_time = {model: {} for model in models}
for model in models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            time = df.loc[df['mean_acc'].idxmax(),'test_time']
            time = time.translate(None, '[]')
            best_test_time[model][data] = np.mean([float(t) for t in time.split(', ')])

print "Best testtime"
pd.DataFrame.from_dict(best_test_time)


Best testtime
Out[334]:
fixed_r2svm random_r2svm test_elm test_linear_svm test_r2elm test_r2svm test_svm triple_fixed_r2svm triple_r2svm triple_svm
australian 0.0020 0.0008 0.0010 0.0002 0.0140 0.0060 0.0036 0.0044 0.0080 0.0023
bank 0.0010 0.0003 0.0127 0.0001 0.0132 0.0048 0.0040 0.0009 0.0067 0.0014
breast_cancer 0.0019 0.0008 0.0027 0.0001 0.0065 0.0052 0.0008 0.0018 0.0054 0.0012
crashes 0.0010 0.0003 0.0017 0.0001 0.0062 0.0052 0.0006 0.0014 0.0108 0.0008
diabetes 0.0013 0.0010 0.0014 0.0002 0.0058 0.0045 0.0027 0.0029 0.0083 0.0036
fourclass 0.0009 0.0016 0.0057 0.0003 0.0042 0.0044 0.0015 0.0016 0.0050 0.0008
german 0.0036 0.0025 0.0049 0.0009 0.0153 0.0072 0.0062 0.0027 0.0179 0.0104
glass 0.0018 0.0009 0.0002 0.0001 0.0031 0.0036 0.0004 0.0016 0.0040 0.0006
heart 0.0005 0.0007 0.0001 0.0001 0.0060 0.0041 0.0004 0.0009 0.0044 0.0005
indian 0.0012 0.0011 0.0006 0.0002 0.0077 0.0047 0.0062 0.0023 0.0054 0.0031
ionosphere 0.0033 0.0035 0.0070 0.0001 0.0089 0.0060 0.0005 0.0047 0.0110 0.0008
iris 0.0005 0.0002 0.0005 0.0001 0.0022 0.0024 0.0001 0.0007 0.0026 0.0001
liver 0.0012 0.0012 0.0003 0.0001 0.0031 0.0032 0.0007 0.0009 0.0046 0.0009
pendigits 0.0133 0.0009 0.0337 0.0011 0.0295 nan 0.8038 0.0308 0.0532 0.2747
satimage 0.0221 0.0447 0.0215 0.0035 0.0570 nan 1.1700 nan 0.1275 0.8870
segment 0.0043 0.0017 0.0110 0.0017 0.0067 nan 0.0220 nan 0.0164 0.0148
sonar 0.0035 0.0014 0.0003 0.0002 0.0071 0.0046 0.0007 0.0061 0.0113 0.0009
splice 0.0089 0.0074 0.0018 0.0001 0.0555 0.0100 0.0092 0.0150 0.0386 0.0285
svmguide2 0.0006 0.0011 0.0005 0.0001 0.0045 0.0043 0.0011 0.0016 0.0046 0.0017
svmguide4 0.0014 0.0007 0.0008 0.0002 0.0040 0.0045 0.0019 0.0011 0.0047 0.0023
vehicle 0.0027 0.0011 0.0013 0.0002 0.0139 0.0055 0.0033 0.0026 0.0087 0.0056
vowel 0.0036 0.0027 0.0016 0.0003 0.0077 0.0075 0.0082 0.0053 0.0056 0.0111
wine 0.0008 0.0009 0.0003 0.0001 0.0028 0.0025 0.0002 0.0008 0.0028 0.0002

In [324]:
df = csv_results['test_r2elm_bank']
print df.loc[df['mean_acc'].idxmax()]

b = cPickle.load(open(os.path.join(results_dir, 'test_r2elm_bank', 'test_r2elm_bank_uF_h100_rF_b0.10_sT_fNo_.experiment')))
print b['results']


activation                                               sigmoid
best_depth                                                     4
beta                                                      0.1000
clf                                                           []
data_name                                                   bank
fit_c                                                        NaN
fold_scores    [[ 0.97454545  0.95878788  0.96969697  0.98060...
fold_std                                                     NaN
h                                                            100
mean_acc                                                  0.9713
n_class                                                        2
n_dim                                                          4
recurrent                                                  False
scale                                                       True
seed                                                         666
std                                                          NaN
test_time      [[0.013361930847167969, 0.013276100158691406, ...
train_time     [[0.384580135345459, 0.38465213775634766, 0.38...
use_prev                                                   False
Name: test_r2elm_bank_uF_h100_rF_b0.10_sT_fNo_, dtype: object
{'mean_acc': 0.97133289095332898, 'best_depth': 4}

In [267]:
print sets_pd[['n_rows', 'n_dim', 'n_class', 'man_size']].to_latex()


\begin{tabular}{lllll}
\toprule
{} & n\_rows & n\_dim & n\_class & man\_size \\
\midrule
australian    &    690 &    14 &       2 &        1 \\
bank          &   1372 &     4 &       2 &        3 \\
breast\_cancer &    683 &    10 &       2 &        1 \\
crashes       &    540 &    20 &       2 &        1 \\
diabetes      &    768 &     8 &       2 &        2 \\
fourclass     &    862 &     2 &       2 &        2 \\
german        &   1000 &    24 &       2 &        3 \\
glass         &    214 &     9 &       6 &        6 \\
heart         &    270 &    13 &       2 &        3 \\
indian        &    583 &    10 &       2 &        3 \\
ionosphere    &    351 &    34 &       2 &       24 \\
iris          &    150 &     4 &       3 &        2 \\
liver         &    345 &     6 &       2 &        3 \\
mushrooms     &   8124 &   112 &       2 &       40 \\
pendigits     &  10992 &    16 &      10 &        9 \\
satimage      &  10870 &    36 &       6 &        6 \\
segment       &   2310 &    19 &       7 &        7 \\
sonar         &    208 &    60 &       2 &       28 \\
splice        &   1000 &    60 &       2 &       55 \\
svmguide2     &    391 &    20 &       3 &       15 \\
svmguide4     &    612 &    10 &       6 &        1 \\
vehicle       &    846 &    18 &       4 &        6 \\
vowel         &    990 &    10 &      11 &        8 \\
wine          &    178 &     4 &       3 &        2 \\
\bottomrule
\end{tabular}


In [263]:
sets = fetch_new_datasets()
sets += fetch_small_datasets()
sets += fetch_medium_datasets()

sets_pd = pd.DataFrame.from_dict({data.name: data for data in sets}).transpose()

In [230]:
csv_results['test_r2svm_german'].columns


Out[230]:
Index([u'best_depth', u'beta', u'clf', u'data_name', u'depth', u'fit_c', u'fold_scores', u'mean_acc', u'n_class', u'n_dim', u'recurrent', u'scale', u'seed', u'test_time', u'train_time', u'use_prev'], dtype='object')

In [232]:
import sys, os
sys.path.append('..')

from misc.config import c
from data_api import *
import cPickle
import pandas as pd
from data_api import *
results_dir = c['RESULTS_DIR']

csv_results = {}
csv_dir = os.path.join(results_dir, 'csv')

for csv_file in os.listdir(csv_dir):
    # print csv_file
    csv_results[csv_file] = pd.DataFrame.from_csv(os.path.join(csv_dir, csv_file))

models = ['test_r2svm', 'test_r2elm', 'triple_r2svm']
datasets = ['glass', 'australian', 'bank','breast_cancer', 'crashes', 'liver', 'segment', 'satimage', 'heart', 'svmguide2'
            'diabetes', 'fourclass', 'german', 'indian', 'ionosphere', 'sonar', 'splice', 'iris', 'wine', 'pendigits',
            'svmguide4']

d = {model_name: { data_name: {} for data_name in datasets } for model_name in models}

for model in models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            d[model][data]['beta'] = df.loc[df['mean_acc'].idxmax(), 'beta']
            d[model][data]['fit_c'] = df.loc[df['mean_acc'].idxmax(), 'fit_c']
            d[model][data]['recurrent'] = df.loc[df['mean_acc'].idxmax(), 'recurrent']
            d[model][data]['scale'] = df.loc[df['mean_acc'].idxmax(), 'scale']
            d[model][data]['use_prev'] = df.loc[df['mean_acc'].idxmax(), 'use_prev']
            d[model][data]['seed'] = df.loc[df['mean_acc'].idxmax(), 'seed']
            if model == 'test_r2elm':
                d[model][data]['h'] = df.loc[df['mean_acc'].idxmax(), 'h']

In [233]:
d


Out[233]:
{'test_r2elm': {'australian': {'beta': 0.5,
   'fit_c': 'random',
   'h': 20,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'bank': {'beta': 2.0,
   'fit_c': nan,
   'h': 100,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'breast_cancer': {'beta': 1.5,
   'fit_c': nan,
   'h': 100,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'crashes': {'beta': 0.5,
   'fit_c': 'random',
   'h': 100,
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'fourclass': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'h': 20,
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'german': {'beta': 2.0,
   'fit_c': 'random',
   'h': 40,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'glass': {'beta': 2.0,
   'fit_c': 'random',
   'h': 100,
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'heart': {'beta': 1.5,
   'fit_c': 'random',
   'h': 100,
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'indian': {'beta': 1.0,
   'fit_c': 'random',
   'h': 60,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'ionosphere': {'beta': 1.0,
   'fit_c': 'random',
   'h': 40,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'iris': {'beta': 0.10000000000000001,
   'fit_c': nan,
   'h': 100,
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'liver': {'beta': 0.5,
   'fit_c': nan,
   'h': 100,
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'pendigits': {'beta': 0.5,
   'fit_c': 'random',
   'h': 20,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'satimage': {'beta': 2.0,
   'fit_c': 'random',
   'h': 40,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'segment': {'beta': 1.5,
   'fit_c': 'random',
   'h': 40,
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'sonar': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'h': 20,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'splice': {'beta': 1.5,
   'fit_c': 'random',
   'h': 80,
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'svmguide2diabetes': {},
  'svmguide4': {'beta': 1.5,
   'fit_c': nan,
   'h': 100,
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'wine': {'beta': 0.5,
   'fit_c': nan,
   'h': 100,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False}},
 'test_r2svm': {'australian': {'beta': 1.0,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'bank': {'beta': 0.5,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'breast_cancer': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'crashes': {'beta': 1.5,
   'fit_c': 'random',
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'fourclass': {'beta': 1.5,
   'fit_c': nan,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'german': {'beta': 1.5,
   'fit_c': 'random',
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'glass': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'heart': {'beta': 0.10000000000000001,
   'fit_c': nan,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'indian': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'ionosphere': {'beta': 1.0,
   'fit_c': nan,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'iris': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'liver': {'beta': 1.0,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'pendigits': {'beta': 0.10000000000000001,
   'fit_c': nan,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'satimage': {'beta': 0.5,
   'fit_c': 'random',
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'segment': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'sonar': {'beta': 2.0,
   'fit_c': nan,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'splice': {'beta': 0.5,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'svmguide2diabetes': {},
  'svmguide4': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'wine': {'beta': 0.10000000000000001,
   'fit_c': nan,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': False}},
 'triple_r2svm': {'australian': {'beta': 1.5,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'bank': {'beta': 1.0,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'breast_cancer': {'beta': 0.5,
   'fit_c': nan,
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'crashes': {'beta': 2.0,
   'fit_c': 'random',
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'fourclass': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'german': {'beta': 1.0,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'glass': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'heart': {'beta': 1.5,
   'fit_c': nan,
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': False},
  'indian': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': False,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'ionosphere': {'beta': 2.0,
   'fit_c': nan,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'iris': {'beta': 0.5,
   'fit_c': nan,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'liver': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'pendigits': {'beta': 0.10000000000000001,
   'fit_c': nan,
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'satimage': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'segment': {'beta': 0.5,
   'fit_c': nan,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'sonar': {'beta': 1.0,
   'fit_c': nan,
   'recurrent': True,
   'scale': True,
   'seed': 666,
   'use_prev': False},
  'splice': {'beta': 0.5,
   'fit_c': 'random',
   'recurrent': True,
   'scale': False,
   'seed': 666,
   'use_prev': True},
  'svmguide2diabetes': {},
  'svmguide4': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': True},
  'wine': {'beta': 0.10000000000000001,
   'fit_c': 'random',
   'recurrent': False,
   'scale': True,
   'seed': 666,
   'use_prev': True}}}

In [196]:
manifold_dim(cifar.data, thresh=0.90)


Out[196]:
96

In [94]:
results = {data: {} for data in datasets}
print models
for data in datasets: 
    res = {col: {} for col in ['acc', 'std', 'beta']}
    for model in models:
        if model + '_' + data not in results_pd.keys():
            continue
        df = results_pd[model + '_' + data]
        res['acc'][model + '_all'] = df['mean_acc'].max()
        res['acc'][model + '_scale=True'] = df[df.scale==True]['mean_acc'].max()
        res['acc'][model + '_scale=False'] = df[df.scale==False]['mean_acc'].max()
        res['acc'][model + '_recurrent=True'] = df[df.recurrent==True]['mean_acc'].max()
        res['acc'][model + '_recurrent=False'] = df[df.recurrent==False]['mean_acc'].max()
        res['acc'][model + '_use_prev=True'] = df[df.use_prev==True]['mean_acc'].max()
        res['acc'][model + '_use_prev=False'] = df[df.use_prev==False]['mean_acc'].max()
        for scale in [True, False]:
            for use_prev in [True, False]:
                for recurrent in [True, False]:
                    res['acc'][model + 
                                '_scale=' + str(scale) + 
                                '_reccurent=' + str(recurrent) + 
                                '_use_prev=' + str(use_prev)] = df[(df.scale==scale) & 
                                                                    (df.recurrent==recurrent) & 
                                                                    (df.use_prev==use_prev)]['mean_acc'].max()
                    
        res['std'][model + '_all'] = df.loc[df['mean_acc'].idxmax(), 'std']

        res['std'][model + '_scale=True'] = df[df.scale==True].loc[df[df.scale==True]['mean_acc'].idxmax(),'std']
        res['std'][model + '_scale=False'] = df[df.scale==False].loc[df[df.scale==False]['mean_acc'].idxmax(),'std']
        res['std'][model + '_recurrent=True'] = df[df.recurrent==True].loc[df[df.recurrent==True]['mean_acc'].idxmax(),'std']
        res['std'][model + '_recurrent=False'] = df[df.recurrent==False].loc[df[df.recurrent==False]['mean_acc'].idxmax(),'std']
        res['std'][model + '_use_prev=True'] = df[df.use_prev==True].loc[df[df.use_prev==True]['mean_acc'].idxmax(),'std']
        res['std'][model + '_use_prev=False'] = df[df.use_prev==False].loc[df[df.use_prev==False]['mean_acc'].idxmax(),'std']
        for scale in [True, False]:
            for use_prev in [True, False]:
                for recurrent in [True, False]:
                    res['std'][model + 
                                '_scale=' + str(scale) + 
                                '_reccurent=' + str(recurrent) + 
                                '_use_prev=' + str(use_prev)] = df[(df.scale==scale) & 
                                                                    (df.recurrent==recurrent) & 
                                                                    (df.use_prev==use_prev)].loc[df[(df.scale==scale) & 
                                                                    (df.recurrent==recurrent) & 
                                                                    (df.use_prev==use_prev)]['mean_acc'].idxmax(),'std']
                    
        res['beta'][model + '_all'] = df.loc[df['mean_acc'].idxmax(), 'beta']

        res['beta'][model + '_scale=True'] = df[df.scale==True].loc[df[df.scale==True]['mean_acc'].idxmax(),'beta']
        res['beta'][model + '_scale=False'] = df[df.scale==False].loc[df[df.scale==False]['mean_acc'].idxmax(),'beta']
        res['beta'][model + '_recurrent=True'] = df[df.recurrent==True].loc[df[df.recurrent==True]['mean_acc'].idxmax(),'beta']
        res['beta'][model + '_recurrent=False'] = df[df.recurrent==False].loc[df[df.recurrent==False]['mean_acc'].idxmax(),'beta']
        res['beta'][model + '_use_prev=True'] = df[df.use_prev==True].loc[df[df.use_prev==True]['mean_acc'].idxmax(),'beta']
        res['beta'][model + '_use_prev=False'] = df[df.use_prev==False].loc[df[df.use_prev==False]['mean_acc'].idxmax(),'beta']
        for scale in [True, False]:
            for use_prev in [True, False]:
                for recurrent in [True, False]:
                    res['beta'][model + 
                                '_scale=' + str(scale) + 
                                '_reccurent=' + str(recurrent) + 
                                '_use_prev=' + str(use_prev)] = df[(df.scale==scale) & 
                                                                    (df.recurrent==recurrent) & 
                                                                    (df.use_prev==use_prev)].loc[df[(df.scale==scale) & 
                                                                    (df.recurrent==recurrent) & 
                                                                    (df.use_prev==use_prev)]['mean_acc'].idxmax(),'beta']
                        
        results[data] = pd.DataFrame.from_dict(res)


['test_r2svm', 'lmao_r2svm']

Stuff, not used right now


In [107]:
r2_models = ['test_r2elm', 'test_r2svm', 'test_r2lr', 'random_r2svm', 
          'lmao_r2svm', 'center_random_r2svm', 'switched_r2elm', 'triple_lmao_r2svm', 'triple_r2svm', 
          'triple_r2elm']
r2_datasets = ['glass', 'australian', 'bank','breast_cancer', 'crashes', 'liver', 'segment', 'satimage', 'heart',
            'diabetes', 'fourclass', 'german', 'indian', 'ionosphere', 'sonar', 'splice', 'iris', 'wine']

In [9]:
best_results_with_scale = {model: {} for model in models}
df = results_pd
for model in models:
    for data in datasets:
        df = results_pd[model + '_' + data]
        best_results_with_scale[model][data] = df[df.scale==True]['mean_acc'].max()

print "Best Mean Accuracy for scale=True" 
pd.DataFrame.from_dict(best_results_with_scale)


Best Mean Accuracy for scale=True
Out[9]:
lmao_r2svm test_r2svm
glass 0.662963 0.644744
heart 0.856790 0.851852
iris 0.982222 0.982222
liver 0.694686 0.695652
wine 0.876468 0.881918

In [10]:
best_results_without_scale = {model: {} for model in models}
df = results_pd
for model in models:
    for data in datasets:
        df = results_pd[model + '_' + data]
        best_results_without_scale[model][data] = df[df.scale==False]['mean_acc'].max()

print "Best Mean Accuracy for scale=False" 
pd.DataFrame.from_dict(best_results_without_scale)


Best Mean Accuracy for scale=False
Out[10]:
lmao_r2svm test_r2svm
glass 0.658996 0.646797
heart 0.871605 0.860494
iris 0.966667 0.975556
liver 0.626087 0.693720
wine 0.749401 0.820716

In [98]:
csv_results[test_r2svm]


Out[98]:
['switched_r2elm_crashes',
 'test_elm_satimage',
 'center_random_r2svm_diabetes',
 'switched_r2elm_bank',
 'random_r2svm_liver',
 'triple_r2svm_glass',
 'switched_r2elm_german',
 'test_r2lr_fourclass',
 'test_r2elm_fourclass',
 'test_r2svm_segment',
 'center_random_r2svm_heart',
 'triple_linear_svm_diabetes',
 'triple_linear_svm_wine',
 'triple_lmao_r2svm_crashes',
 'triple_elm_iris',
 'triple_svm_indian',
 'test_elm_glass',
 'triple_r2svm_australian',
 'test_svm_breast_cancer',
 'switched_r2elm_indian',
 'triple_r2elm_fourclass',
 'test_svm_splice',
 'triple_linear_svm_bank',
 'test_svm_german',
 'triple_svm_breast_cancer',
 'triple_linear_svm_liver',
 'lmao_r2svm_wine',
 'test_elm_segment',
 'random_r2svm_german',
 'triple_linear_svm_iris',
 'triple_r2svm_iris',
 'test_r2elm_indian',
 'triple_linear_svm_satimage',
 'triple_lmao_r2svm_fourclass',
 'test_r2lr_splice',
 'triple_svm_australian',
 'triple_elm_ionosphere',
 'triple_svm_splice',
 'triple_svm_iris',
 'lmao_r2svm_fourclass',
 'test_r2lr_segment',
 'test_linear_svm_satimage',
 'test_elm_indian',
 'triple_elm_splice',
 'test_r2lr_crashes',
 'triple_r2svm_crashes',
 'triple_r2svm_heart',
 'test_r2lr_bank',
 'random_r2svm_breast_cancer',
 'test_elm_liver',
 'test_r2elm_german',
 'switched_r2elm_splice',
 'test_r2elm_splice',
 'center_random_r2svm_glass',
 'test_r2svm_ionosphere',
 'triple_elm_liver',
 'test_r2lr_liver',
 'random_r2svm_splice',
 'test_svm_iris',
 'center_random_r2svm_sonar',
 'triple_svm_diabetes',
 'test_svm_crashes',
 'random_r2svm_ionosphere',
 'random_r2svm_iris',
 'test_elm_iris',
 'triple_linear_svm_indian',
 'test_svm_bank',
 'test_svm_fourclass',
 'random_r2svm_heart',
 'test_linear_svm_breast_cancer',
 'random_r2svm_bank',
 'test_linear_svm_sonar',
 'triple_svm_liver',
 'triple_linear_svm_sonar',
 'test_elm_splice',
 'triple_elm_indian',
 'test_r2lr_satimage',
 'test_r2lr_heart',
 'test_r2svm_australian',
 'test_svm_diabetes',
 'triple_lmao_r2svm_ionosphere',
 'lmao_r2svm_breast_cancer',
 'lmao_r2svm_iris',
 'switched_r2elm_fourclass',
 'center_random_r2svm_breast_cancer',
 'lmao_r2svm_sonar',
 'triple_lmao_r2svm_wine',
 'triple_lmao_r2svm_glass',
 'triple_svm_glass',
 'triple_r2elm_ionosphere',
 'random_r2svm_sonar',
 'lmao_r2svm_liver',
 'switched_r2elm_breast_cancer',
 'test_linear_svm_iris',
 'lmao_r2svm_indian',
 'triple_svm_fourclass',
 'center_random_r2svm_indian',
 'test_r2svm_satimage',
 'triple_r2svm_breast_cancer',
 'center_random_r2svm_splice',
 'test_r2svm_sonar',
 'test_elm_german',
 'test_svm_wine',
 'test_r2elm_satimage',
 'random_r2svm_wine',
 'triple_linear_svm_german',
 'test_elm_sonar',
 'random_r2svm_australian',
 'test_r2lr_diabetes',
 'triple_lmao_r2svm_australian',
 'triple_elm_bank',
 'lmao_r2svm_segment',
 'test_r2elm_heart',
 'test_svm_australian',
 'triple_r2elm_glass',
 'triple_elm_wine',
 'test_r2svm_iris',
 'center_random_r2svm_australian',
 'triple_lmao_r2svm_splice',
 'test_linear_svm_glass',
 'test_r2elm_cancer',
 'triple_r2elm_heart',
 'triple_r2elm_australian',
 'test_linear_svm_ionosphere',
 'triple_r2svm_wine',
 'switched_r2elm_diabetes',
 'triple_r2svm_indian',
 'test_svm_sonar',
 'center_random_r2svm_wine',
 'test_r2elm_segment',
 'test_r2lr_sonar',
 'triple_r2elm_sonar',
 'random_r2svm_satimage',
 'test_r2svm_german',
 'center_random_r2svm_german',
 'lmao_r2svm_heart',
 'lmao_r2svm_german',
 'test_r2elm_glass',
 'random_r2svm_fourclass',
 'center_random_r2svm_ionosphere',
 'test_svm_indian',
 'test_r2svm_crashes',
 'test_r2lr_ionosphere',
 'test_r2elm_liver',
 'test_r2lr_breast_cancer',
 'test_r2elm_crashes',
 'triple_r2svm_fourclass',
 'triple_r2elm_breast_cancer',
 'test_elm_heart',
 'test_elm_crashes',
 'triple_r2elm_crashes',
 'triple_svm_wine',
 'triple_r2elm_german',
 'test_r2svm_glass',
 'test_elm_wine',
 'triple_linear_svm_australian',
 'test_elm_breast_cancer',
 'random_r2svm_segment',
 'triple_linear_svm_fourclass',
 'test_r2lr_indian',
 'test_linear_svm_bank',
 'triple_r2svm_splice',
 'test_r2svm_liver',
 'test_r2elm_wine',
 'lmao_r2svm_diabetes',
 'test_svm_heart',
 'triple_r2elm_wine',
 'random_r2svm_crashes',
 'test_r2svm_fourclass',
 'test_r2elm_iris',
 'triple_linear_svm_splice',
 'test_r2svm_breast_cancer',
 'triple_r2svm_ionosphere',
 'triple_r2elm_liver',
 'test_svm_glass',
 'switched_r2elm_glass',
 'triple_elm_fourclass',
 'test_linear_svm_wine',
 'triple_lmao_r2svm_sonar',
 'test_r2svm_diabetes',
 'triple_r2svm_german',
 'test_svm_segment',
 'test_elm_fourclass',
 'random_r2svm_indian',
 'test_r2svm_bank',
 'center_random_r2svm_fourclass',
 'triple_r2elm_iris',
 'test_linear_svm_australian',
 'test_linear_svm_heart',
 'triple_r2elm_indian',
 'test_r2lr_iris',
 'lmao_r2svm_crashes',
 'test_r2elm_ionosphere',
 'lmao_r2svm_glass',
 'triple_elm_breast_cancer',
 'triple_svm_german',
 'test_linear_svm_segment',
 'test_r2lr_wine',
 'test_svm_liver',
 'triple_elm_australian',
 'triple_r2svm_sonar',
 'test_r2svm_wine',
 'triple_lmao_r2svm_heart',
 'test_svm_ionosphere',
 'test_r2elm_sonar',
 'triple_lmao_r2svm_german',
 'lmao_r2svm_ionosphere',
 'lmao_r2svm_bank',
 'center_random_r2svm_bank',
 'test_linear_svm_liver',
 'test_linear_svm_crashes',
 'triple_linear_svm_heart',
 'triple_lmao_r2svm_indian',
 'triple_elm_german',
 'test_r2lr_german',
 'triple_linear_svm_glass',
 'test_linear_svm_diabetes',
 'test_svm_satimage',
 'test_r2lr_australian',
 'triple_linear_svm_segment',
 'switched_r2elm_australian',
 'test_elm_ionosphere',
 'center_random_r2svm_liver',
 'triple_svm_ionosphere',
 'test_linear_svm_fourclass',
 'switched_r2elm_sonar',
 'random_r2svm_diabetes',
 'test_linear_svm_indian',
 'test_r2elm_bank',
 'lmao_r2svm_satimage',
 'triple_elm_diabetes',
 'switched_r2elm_ionosphere',
 'triple_elm_glass',
 'center_random_r2svm_iris',
 'triple_lmao_r2svm_iris',
 'random_r2svm_glass',
 'test_linear_svm_german',
 'test_elm_australian',
 'triple_lmao_r2svm_liver',
 'triple_svm_sonar',
 'triple_linear_svm_ionosphere',
 'test_r2lr_glass',
 'test_r2svm_indian',
 'test_linear_svm_splice',
 'center_random_r2svm_segment',
 'triple_linear_svm_crashes',
 'triple_linear_svm_breast_cancer',
 'triple_r2svm_liver',
 'triple_lmao_r2svm_breast_cancer',
 'triple_svm_bank',
 'test_r2elm_australian',
 'test_r2svm_heart',
 'center_random_r2svm_satimage',
 'test_elm_diabetes',
 'triple_svm_heart',
 'triple_elm_sonar',
 'center_random_r2svm_crashes',
 'test_r2elm_breast_cancer',
 'triple_svm_crashes',
 'triple_elm_heart',
 'test_r2svm_splice',
 'triple_elm_crashes',
 'lmao_r2svm_australian',
 'lmao_r2svm_splice',
 'test_elm_bank']

In [135]:
import math
best_results_scale = {model: {} for model in r2_models}
for model in r2_models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            best_results_scale[model][data] = df.loc[df['mean_acc'].idxmax(),'scale']

s = pd.DataFrame.from_dict(best_results_scale).values

print "Scale True:", (s == True).sum()
print "Scale False:", (s == False).sum()
print "Scale NaN:", sum([math.isnan(x) for x in s.ravel()])


Scale True: 104
Scale False: 44
Scale NaN: 14

In [137]:
best_results_rec = {model: {} for model in r2_models}
for model in r2_models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            best_results_rec[model][data] = df.loc[df['mean_acc'].idxmax(),'recurrent']
        
r = pd.DataFrame.from_dict(best_results_rec).values

print "Recurrent True:", (r == True).sum()
print "Recurrent False:", (r == False).sum()
print "Recurrent NaN:", sum([math.isnan(x) for x in r.ravel()])


Scale True: 55
Scale False: 93
Scale NaN: 14

In [139]:
best_results_prev = {model: {} for model in r2_models}
for model in r2_models:
    for data in datasets:
        if model + '_' + data in csv_results.keys():
            df = csv_results[model + '_' + data]
            best_results_prev[model][data] = df.loc[df['mean_acc'].idxmax(),'use_prev']

u = pd.DataFrame.from_dict(best_results_prev).values

print "Use_prev True:", (u == True).sum()
print "Use_prev False:", (u == False).sum()
print "Use_prev NaN:", sum([math.isnan(x) for x in u.ravel()])


Use_prev True: 49
Use_prev False: 99
Use_prev NaN: 14

In [20]:
best_results_beta = {model: {} for model in models}
for model in models:
    for data in datasets:
        df = results_pd[model + '_' + data]
        best_results_beta[model][data] = df.loc[df['mean_acc'].idxmax(),'beta']

print "Use_prev parameter in best results"
pd.DataFrame.from_dict(best_results_beta)


Use_prev parameter in best results
Out[20]:
lmao_r2svm test_r2svm
glass 0.1 0.1
heart 1.0 0.1
iris 0.5 1.0
liver 0.5 0.1
wine 1.0 0.1

In [1]:
type(None)


Out[1]:
NoneType