import sys, os import numpy as np import data_processing.decode_data as decode_dat import time import pickle import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestClassifier as RF from sklearn.naive_bayes import GaussianNB from sklearn.externals import joblib FRAME_RATE = 0.1 PWD = os.getcwd() def main(): featlist = "../lists/all_art_ch_htk.list" mdl_dir = "./output/02_p1_trained_mdl" rdir_a = "/data/isip/exp/tuh_eeg/exp_2382/output/htk" odir_a = os.path.join(PWD, "output", "svm", "03_p1_decode") ofile_ext_a = "hyp" dat_obj = decode_dat.decode(featlist) ## load trained model # loaded_model = joblib.load("svm_mdl.pkl") loaded_model.probability = True pca_components = 20 with open("pca_transform.pickle", "rb") as fin: pca = pickle.load(fin) for i in range(len(dat_obj.flist)): dat = dat_obj.next() ## change the shape # dat = np.reshape(dat, (-1, np.shape(dat)[-1])) dat = pca.transform(dat) ## reshape again to match up with samples # dat = np.reshape(dat, (-1, dat_obj.sample_win_d , pca_components)) ## remove the window and convert them as feats # dat = np.reshape(dat, (-1, dat_obj.sample_win_d*pca_components)) print "decoding file: ", dat_obj.flist[i] score = loaded_model.predict_proba(dat) ## save the hyp file # hyp_filename = decode_dat.write_ofile(dat_obj.flist[i], score, rdir_a, odir_a, ofile_ext_a) print "decoding finished successfully..." if __name__ == "__main__": main()