from matplotlib.pyplot import plot from classifier import distance from data import source from data.segmentation import ecg data_folder = source.PumpPrimingDataFolder("../data/original") ecg_database = ecg.ECGBeatLabeledSamplesDatabase(data_folder, 20, True) (train, test) = ecg_database.get_labeled_training_and_test_samples( 1, 'ad45363b-7632-432e-a368-215d3fb0ca10', 10) classifier = distance.AverageDistanceClassifier(1, 'cosine') classifier.train(train) roc_min = classifier.get_roc(test, type='min', activity_info=1) roc_mean = classifier.get_roc(test, type='mean', activity_info=1) #roc_sum = classifier.get_roc(test,type='sum',activity_info=1) plot(roc_min[0], roc_min[1], 'r-') plot(roc_mean[0], roc_mean[1], 'y-') plot([0, 1], [1, 0], 'b-') #plot(roc_sum[0],roc_sum[1],'b-') print "Finished"
import inspect from classifier import svm, distance, kmeans from data import source from data.features.generation import ecg_only_functions from data.features.generation import multimodal_functions from data.features.generation import single_signal_functions from data.preprocessing.preprocessor import Preprocessor from data.segmentation.segmenter import Segmenter from experiments.experiment2 import OneClassExperimenter from data.features.generator import FeatureExtractor #Read the data folder data_folder = source.PumpPrimingDataFolder("dataset_activity1") print "** Done reading data folder **" # Preprocessing preprocessor = Preprocessor(ecg=[["subset", { "start": 500, "end": -200 }], ["savitzky_golay", { 'window_size': 5, 'order': 2, 'deriv': 0, 'rate': 1 }], ["normf", {}]], ppg=[["subset", { "start": 500, "end": -200 }], [
from data import source data_folder = source.PumpPrimingDataFolder("real_original_data/") data_files = [] data_files.extend([ data_file for data_file in data_folder.data_files if data_file.user_id == "f225a13c-c149-4e6f-a530-5f1ca0722d77" ]) data_files.extend([ data_file for data_file in data_folder.data_files if data_file.user_id == "47b3fe43-f579-4375-9b84-c162fa007" ]) #data_files.extend([data_file for data_file in data_folder.data_files if data_file.user_id=="ad45363b-7632-432e-a368-215d3fb0ca9a"]) #data_files.extend([data_file for data_file in data_folder.data_files if data_file.user_id=="ad45363b-7632-432e-a368-215d3fb0ca9d"]) #data_files.extend([data_file for data_file in data_folder.data_files if data_file.user_id=="ea124ef1-64c5-4dbf-8f19-d96d7804cf21"]) for data_file in data_files: ecg = [1024 - x for x in data_file.ecg] data_file.ecg = ecg data_file.save()
from biosppy.signals import ecg from numpy import mean from data import source #Read the data folder data_folder = source.PumpPrimingDataFolder("dataset") print "Done reading data folder" from data.preprocessing.preprocessor import Preprocessor hr = {} for data_file in data_folder.data_files: if data_file.user_id not in hr.keys(): hr[data_file.user_id] = {} if data_file.activity != 3: d = data_file.ecg try: out = ecg.ecg(signal=d, sampling_rate=100, show=None) hr[data_file.user_id][data_file.activity]= mean(out[6]) except Exception: hr[data_file.user_id][data_file.activity] = 0 for user_id in data_folder.get_all_user_ids(): print "{0}: {1}, {2}, {3}, {4}".format(user_id,hr[user_id][1],hr[user_id][2],hr[user_id][4],mean(hr[user_id].values()))
import time from classifier import distance from data import source from data.segmentation import ecg start_time = time.time() data_folder = source.PumpPrimingDataFolder("original_data") #extract interpolated beat samples ecg_database = ecg.ECGBeatLabeledSamplesDatabase(data_folder, 80, True) # your code elapsed_time = time.time() - start_time print "Database Created in " + str(elapsed_time) start_time = time.time() (train, test) = ecg_database.get_labeled_training_and_test_samples( 1, 'ad45363b-7632-432e-a368-215d3fb0ca10', 10) # your code elapsed_time = time.time() - start_time print "Train and Test sets Created in " + str(elapsed_time) start_time = time.time() classifier = distance.AverageDistanceClassifier(distance_function='cosine') elapsed_time = time.time() - start_time print "Classifier Created in " + str(elapsed_time) start_time = time.time() classifier.train(train) elapsed_time = time.time() - start_time print "Classifier Trained in " + str(elapsed_time) start_time = time.time() roc_min_score = classifier.test(test, type='min', activity_info=True) elapsed_time = time.time() - start_time print "ROC Min Obtained in " + str(elapsed_time)
import logging import sys from classifier import svm from data import source from data.segmentation import ecg from experiments import experiment #get data folder data_folder = source.PumpPrimingDataFolder(sys.argv[1]) #extract interpolated beat samples ecg_database = ecg.ECGBeatLabeledSamplesDatabase(data_folder) #with open('ecg_database_smothed_before_splitting.pkl','rb') as input: # ecg_database = pickle.load(input) print "Database read. Beginning experiments" nus = [0.01, 0.05, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7] kernels = ["rbf", "linear", "poly", "sigmoid"] gammas = [0.01, 0.05, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7] number_training_samples = [5, 10, 15, 20, 30] activity_training = [0, 1, 2, 4] for activity in activity_training: for nu in nus: for kernel in kernels: for gamma in gammas: for n_train in number_training_samples: classifier = svm.SVMROCClassifier(nu=nu, kernel=kernel, gamma=gamma) classifier.print_details() exp = experiment.OneClassROCAreaExperimenter( ecg_database, classifier,