data = tools.load_file(filename, sep=',', header=1) data = tools.downsampling(data, 50) t = tools.selectCol(data, columns_in, "TIME") acc = tools.selectCol(data, columns_in, col_acc) gyr = tools.selectCol(data, columns_in, col_gyr) mag = tools.selectCol(data, columns_in, col_mag) lab = tools.selectCol(data, columns_in, "LAB") acc = inertial.convert_units(acc, coeff=sensAccCoeff) gyr = inertial.convert_units(gyr, coeff=sensGyrCoeff) mag = inertial.convert_units(mag, coeff=sensMagCoeff) # tools.array_labels_to_csv(np.column_stack([t, acc]), np.array(columns_in), "./output/preproc_"+filename[7:-4]+".csv") #-----EXTRACT FEATURES----- windows, winlab = win.get_windows_no_mix(t, lab, 1, 0.5) feats_acc, fcol_acc = inertial.extract_features_acc(acc, t, col_acc, windows) feats_gyr, fcol_gyr = inertial.extract_features_gyr(gyr, t, col_gyr, windows) feats_mag, fcol_mag = inertial.extract_features_mag(mag, t, col_mag, windows) feats = np.column_stack([feats_acc, feats_gyr, feats_mag, winlab]) columns_out = np.r_[fcol_acc, fcol_gyr, fcol_mag, np.array(["LAB"])] # print feats.shape # print columns.shape, columns tools.array_labels_to_csv(feats, columns_out, "./output2/feat_" + filename[7:-4] + ".csv") # # feats.to_csv("./output/feat_6.csv")
tn_male = mynorm_maxmin(tn_male) tn_female = mynorm_maxmin(tn_female) indexes = np.arange(len(tn_male)) keep = (indexes % N_SAMP == 0) tn_male = np.array(tn_male[keep]) tn_female = np.array(tn_female[keep]) SAMP_F = 1.0 / (data_male.iloc[1,0] - data_male.iloc[0,0]) timestamp = np.arange(0, l/SAMP_F, 1.0/SAMP_F) labs = np.array(data_female.iloc[:,-1]) windows, labels = wnd.get_windows_no_mix(timestamp, labs, WINLEN, WINSTEP) #extrazione porzione da entrambi i file # n_col = data_male.shape[1] # for i in range(1, n_col - 1): #dtw_curr = dtw_curr/ len(tn_male) dtw_curr = modified_extract_features(tn_male, tn_female, windows, labels, timestamp) #dtw_curr= mlpy.dtw_std(tn_male, tn_female) #dtw_curr = dtw_curr/ len(tn_male) #dtw_measures.append(dtw_curr) np.savetxt(EXP+'_dtw_wind.csv', res_exp, delimiter=',') res_exp = np.vstack([dtw_curr]) np.savetxt('F_dtw_all_signal.csv', res_exp, delimiter=',')
data = tools.load_file(filename, sep=',', header=1) data=tools.downsampling(data, 50) t=tools.selectCol(data, columns_in, "TIME") acc=tools.selectCol(data, columns_in, col_acc) gyr=tools.selectCol(data, columns_in, col_gyr) mag=tools.selectCol(data, columns_in, col_mag) lab=tools.selectCol(data, columns_in, "LAB") acc= inertial.convert_units(acc, coeff=sensAccCoeff) gyr= inertial.convert_units(gyr, coeff=sensGyrCoeff) mag= inertial.convert_units(mag, coeff=sensMagCoeff) # tools.array_labels_to_csv(np.column_stack([t, acc]), np.array(columns_in), "./output/preproc_"+filename[7:-4]+".csv") #-----EXTRACT FEATURES----- windows, winlab=win.get_windows_no_mix(t,lab , 1, 0.5) feats_acc, fcol_acc= inertial.extract_features_acc(acc, t, col_acc, windows) feats_gyr, fcol_gyr= inertial.extract_features_gyr(gyr, t, col_gyr, windows) feats_mag, fcol_mag= inertial.extract_features_mag(mag, t, col_mag, windows) feats=np.column_stack([feats_acc, feats_gyr, feats_mag, winlab]) columns_out=np.r_[fcol_acc, fcol_gyr, fcol_mag, np.array(["LAB"])] # print feats.shape # print columns.shape, columns tools.array_labels_to_csv(feats, columns_out, "./output2/feat_"+filename[7:-4]+".csv") # # feats.to_csv("./output/feat_6.csv")
experiments = [] for filename in filelist: experiments.append(filename[0:3]) experiments = np.unique(experiments) labels_header = 'timestamp, driver, phasic, tonic, labels' statistic = np.zeros(5) for EXP in experiments: data_male = pd.read_csv(EXP+'_M.csv', sep=',') data_female = pd.read_csv(EXP+'_F.csv', sep=',') if data_male.shape[1] > data_female.shape[1]: l = data_female.shape[1] data_male = data_male[:l,:] else : l = data_male.shape[1] data_female = data_female[:l,:] SAMP_F = 1.0 / (data_male[1,0] - data_male[0,0]) timestamp = np.arange(0, l/SAMP_F, 1.0/SAMP_F) windows, labels = wnd.get_windows_no_mix(timestamp, data_female[:,-1], WINLEN, WINSTEP) #extrazione porzione da entrambi i file dtw_measures = [] for i in range(len(l)): dtw_measures.append(modified_extract_features(data_male, data_female, windows, labels, timestamp)) print dtw_measures #salvare dtw_measures su file di testo