def raw_validation_load(): dirpath1 = '/Users/Jonathan/PhD/Seizure_related/batchSept_UC_20' testdataobj20 = SeizureData(dirpath1, amount_to_downsample=40) testdataobj20.load_data() datasettest20 = testdataobj20.data_array dirpath2 = '/Users/Jonathan/PhD/Seizure_related/batchSept_UC_40' testdataobj40 = SeizureData(dirpath2, amount_to_downsample=40) testdataobj40.load_data() datasettest40 = testdataobj40.data_array print datasettest40.shape, 'is correct data shape' datasettest = np.vstack([datasettest20, datasettest40]) return datasettest
def raw_training_load(): ################# 'NEW data' ################### dirpath = '/Users/Jonathan/PhD/Seizure_related/20150616' _20150616dataobj = SeizureData(dirpath, amount_to_downsample=40) _20150616dataobj.load_data() _20150616data = _20150616dataobj.data_array _20150616labels = _20150616dataobj.label_colarray _20150616data_norm = normalise(_20150616data) print _20150616dataobj.filename_list.shape _20150616dataobj.filenames_list = [ _20150616dataobj.filename_list[i] for i in range(_20150616dataobj.filename_list.shape[0]) ] for name in _20150616dataobj.filenames_list[0:20]: print name[-34:] # select out the stuff we want #inds = np.loadtxt('0901_400newdata.csv', delimiter=',') notebook_dir = '/Users/jonathan/PhD/Seizure_related/2015_08_PyRanalysis/' inds = np.loadtxt(notebook_dir + '0616correctedintervals.csv', delimiter=',') data0616_unnorm = _20150616data[list(inds[:, 0])] data0616 = _20150616data_norm[list(inds[:, 0])] labels0616 = _20150616labels[list(inds[:, 0])] for i in range(data0616.shape[0]): labels0616[i] = inds[i, 1] ################## Original Data #################### dirpath = '/Users/Jonathan/PhD/Seizure_related/Classified' dataobj = SeizureData(dirpath, amount_to_downsample=20) dataobj.load_data() dataobj = relabel(dataobj) dataobj = reorder(dataobj) dataset301 = dataobj.data_array labels301 = dataobj.label_colarray new_labels = np.loadtxt(notebook_dir + 'new_event_labels_28082015.csv', delimiter=',') for x in new_labels: labels301[x[0]] = x[1] selection = np.loadtxt(notebook_dir + 'perfect_event_labels_28082015.csv', delimiter=',') indexes = list(selection[:, 0]) dataset129_unnorm = dataset301[indexes, :] dataset129_norm = normalise(dataset129_unnorm) dataset301_norm = normalise(dataset301) labels129 = labels301[indexes] return np.vstack((data0616_unnorm, dataset301))
def assess_states(self, raw_path=None, downsample_rate=None, savestring='example', threshold=65, raw_load=True, saved_path=None, make_pdfs=True): self.threshold = '65' # 'sureity' threshold self.savestring = savestring if raw_load: self.dataobj = SeizureData(raw_path, fs_dict=self.fs_dict) self.dataobj.load_data() f = open('../' + savestring + '_saved', 'wb') pickle.dump(self.dataobj, f) else: assert saved_path != None self.dataobj = pickle.load(open(saved_path, 'rb')) #print 'printing filename_list' #print self.dataobj.filename_list self.norm_data = utils.normalise(self.dataobj.data_array) feature_obj = FeatureExtractor(self.norm_data) i_features = self.classifier.imputer.transform( feature_obj.feature_array) iss_features = self.classifier.std_scaler.transform(i_features) lda_iss_features = self.lda.transform(iss_features) np.set_printoptions(precision=3, suppress=True) #self.pred_table = self.r_forest.predict_proba(iss_features)*100 #self.preds = self.r_forest.predict(iss_features) self.pred_table = self.r_forest_lda.predict_proba( lda_iss_features) * 100 self.preds = self.r_forest_lda.predict(lda_iss_features) self.predslist = list(self.preds) # why need this? self.predslist[self.predslist == 4] = 'Baseline' self.max_preds = np.max(self.pred_table, axis=1) #print pred_table self.threshold_for_mixed = np.where( self.max_preds < int(self.threshold), 1, 0) # 1 when below self._string_fun2() self._write_to_excel() if make_pdfs: self.plot_pdfs()