def build_feat(data, add_feat,window_length=20): ## use other available channels feat_mean = np.nan_to_num(pd.rolling_mean(data,5)) feat_mean = signal_preproc.rolling_window(feat_mean, window_length) feat_std = np.nan_to_num(pd.rolling_std(data,5)) feat_std = signal_preproc.rolling_window(feat_std, window_length) feat_diff = np.append(0,np.diff(data)) feat_diff = signal_preproc.rolling_window(feat_diff,window_length) feat_grad = [np.gradient(i) for i in signal_preproc.rolling_window(data,window_length)] feat_orig = signal_preproc.rolling_window(data,window_length) feat_2ndgrad = [np.gradient(i,2) for i in signal_preproc.rolling_window(data,window_length)] feat_gmean = [clf.RunningGMean(i) for i in signal_preproc.rolling_window(data,window_length)] feat_ii = signal_preproc.rolling_window(add_feat, window_length) feat = np.hstack((feat_orig,feat_mean,feat_std,feat_diff,feat_grad,feat_2ndgrad,feat_gmean,feat_ii)) feat = feat.reshape(-1,8,window_length) feat = feat.astype('float32') return feat
def get_target(data,window_length=20): target = signal_preproc.labels(signal_preproc.rolling_window(data,window_length)) target = np.atleast_2d(np.asarray(target)).T target = target.astype('float32') return target