def process(self, mgrs): train_data_ch, train_labels = prepare.get_train_set_from_mgr( mgrs[0], self.num_per_avg, self.start_samples_to_norm, self.downsample_level, self.start_sec_offset, self.duration) l = Labels([str(i) for i in train_labels]) data = VectorDataSet(train_data_ch[0], L=l) data.normalize(2) return [data]
def run(): dr2 = '/media/windows/wiedza/bci/EKSPERYMENTY_DANE/p300_10_12_2010/squares/' f2_name = 'p300_128hz_laptop_training_6x6_square_CATDOGFISHWATERBOWL_longer_8trials2' f2 = { 'info': os.path.join(dr2, f2_name+'_10HZ.obci.xml'), 'data': os.path.join(dr2, f2_name+'_10HZ.obci.bin'), 'tags':os.path.join(dr2, f2_name+'.obci.arts_free.svarog.tags') } """dr2 = '/media/windows/wiedza/bci/EKSPERYMENTY_DANE/p300_10_12_2010/numbered_squares/' f2_name = 'p300_128hz_laptop_training_6x6_squareNUMBERS_CATDOGFISHWATERBOWL_longer_8trials' f2 = { 'info': os.path.join(dr2, f2_name+'.obci.filtered.xml'), 'data': os.path.join(dr2, f2_name+'_10HZ.obci.bin'), 'tags':os.path.join(dr2, f2_name+'.obci.arts_free.svarog.tags') }""" mgr = read_manager.ReadManager(f2['info'], f2['data'], f2['tags']) train_data_ch, train_labels = prepare.get_train_set_from_mgr(mgr, num_per_avg=10, start_samples_to_norm=0, downsample_level=5) class MY_SVM(object): def __init__(self, C): self.s = svm.SVM(C=C) def process(self, data): return self.s.stratifiedCV(data, 5).getBalancedSuccessRate() def __repr__(self): return "SVM: C - "+str(self.s.C) class MY_STD(object): def process(self, data): #p = prepare.Standardizer() #p.train(data) data.normalize(2) return data ch = my_chain.Chain( my_chain.ChainElement(MY_STD, {}), my_chain.ChainElement(MY_SVM, {'C':[0.01, 0.1, 0.5, 1, 10]}) ) l = Labels([str(i) for i in train_labels]) for i, train_data in enumerate(train_data_ch): train_data = train_data_ch[11] data = VectorDataSet(train_data, L=l) cs, res = ch.process(data) print("CSS: "+str(cs)) print("RES: "+str(res)) break
def process(self, mgrs): train_data_ch, train_labels = prepare.get_train_set_from_mgr(mgrs[0], self.num_per_avg, self.start_samples_to_norm, self.downsample_level, self.start_sec_offset, self.duration) l = Labels([str(i) for i in train_labels]) data = VectorDataSet(train_data_ch[0], L=l) data.normalize(2) return [data]