コード例 #1
0
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")
コード例 #2
0
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=',')
コード例 #3
0
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")

コード例 #4
0
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