def classify(inputfile='slpdb.mat', epoch_length=30, make_plot=True, save=True, outputfile='classify.txt'): # Load datas dataset = loadData(inputfile) ECG = groupByEpoch(dataset['ECG'], 250, epoch_length) Resp_in, Resp_out = edr.main(dataset) # Feature dictionary construction d_test = dictionaryInitialization() d_test = dico_construction(ECG, Resp_in, Resp_out, d_test) Xarr_norm = createNormalizedDataframe(d_test) # Predecition model = joblib.load('model.pkl') pred_res = list() for j in range(0, len(ECG)): l = str(model.predict(Xarr_norm[j])[0]) pred_res.append(l) if make_plot: # Plot result plot(pred_res, dataset['labels'], epoch_length) if save: # Write prediction into text file savePredictions(pred_res, outputfile)
from models import createNormalizedDataframe from feature_construction import dictionaryInitialization, dico_construction from sklearn.svm import SVC from sklearn.externals import joblib from edr import main # Load datas ECG = np.array([]) labels = np.array([]) binarylabels = np.array([]) for file in os.listdir("traindata"): if file.endswith(".mat"): dataset = loadData('traindata/' + file) ECG = np.append(ECG, dataset['ECG']) Resp_in, Resp_out = main(dataset) labels = np.append(labels, dataset['labels']) binarylabels = np.append(binarylabels, dataset['binarylabels']) X = groupByEpoch(ECG) # Train dictionary construction d_train = dictionaryInitialization() d_train = dico_construction(X, Resp_in, Resp_out, d_train) y = np.array(labels) Xarr_norm = createNormalizedDataframe(d_train) Xarr_norm = np.nan_to_num(Xarr_norm).reshape((len(Xarr_norm), 1)) # Compute model and write to file model = SVC(kernel='linear').fit(Xarr_norm, y) joblib.dump(model, 'model.pkl')
from data import loadData, groupByEpoch from models import createNormalizedDataframe from feature_construction import dictionaryInitialization, dico_construction from sklearn.svm import SVC from sklearn.externals import joblib from edr import main # Load datas ECG = np.array([]) labels = np.array([]) binarylabels = np.array([]) for file in os.listdir("traindata"): if file.endswith(".mat"): dataset = loadData('traindata/' + file) ECG = np.append(ECG, dataset['ECG']) Resp_in, Resp_out = main(dataset) labels = np.append(labels, dataset['labels']) binarylabels = np.append(binarylabels, dataset['binarylabels']) X = groupByEpoch(ECG) # Train dictionary construction d_train = dictionaryInitialization() d_train = dico_construction(X, Resp_in, Resp_out, d_train) y = np.array(labels) Xarr_norm = createNormalizedDataframe(d_train) Xarr_norm = np.nan_to_num(Xarr_norm).reshape((len(Xarr_norm), 1)) # Compute model and write to file model = SVC(kernel='linear').fit(Xarr_norm, y) joblib.dump(model, 'model.pkl')
@author: Pieter """ import numpy as np from sklearn.cross_validation import train_test_split from data import loadData, groupByEpoch from feature_construction import dictionaryInitialization, dico_construction from models import listModels, createNormalizedDataframe from edr import main mat_file = 'slpdb.mat' # Load datas dataset = loadData(mat_file) ECG = groupByEpoch(dataset['ECG']) Resp_in, Resp_out = main(dataset) # Train dictionary construction d_train = dictionaryInitialization() d_train = dico_construction(ECG, Resp_in, Resp_out, d_train) y = np.array(dataset['binarylabels']) Xarr_norm = createNormalizedDataframe(d_train) # Test our models X_train_train, X_train_test, y_train_train, y_train_test =\ train_test_split(Xarr_norm, y, test_size=0.2, random_state=42) X_train_train = np.nan_to_num(X_train_train).reshape((len(X_train_train), 1)) X_train_test = np.nan_to_num(X_train_test).reshape((len(X_train_test), 1))