def api_test(experiment_id_number): """Prepare an experiment already uploaded to the db to be run against the model""" clean_experiment_number = int(experiment_id_number) try: query = db.session.query(Sensor) df = pd.read_sql_query(query.statement, query.session.bind) df2 = df[df['experiment_id'] == clean_experiment_number] current_app.logger.debug(df2) current_app.logger.debug('run resolve_acc_gyro') df2 = resolve_acc_gyro_db(df2) current_app.logger.debug(df2) current_app.logger.debug('run create_rm_feature') df2 = create_rm_feature(df2, TIME_SEQUENCE_LENGTH) current_app.logger.debug(df2) test_data = blank_filter(df2) current_app.logger.debug(test_data) # TODO: NEED TO MAKE SURE FEATURE NUMBER IS THE SAME #Xt = df2.drop(['state', 'index'], axis=1) Xt = polynomial_features.fit_transform(test_data) current_app.logger.debug(Xt) return Xt except Exception as e: current_app.logger.debug('error: {}'.format(e)) abort(500)
def prep(): """prepare the raw sensor data""" #1 Your mount ymount_td = combine_setState_createFeatures('your_mount_raw_data', 'your_mount') #2 Your side control ysc_td = combine_setState_createFeatures('your_side_control_raw_data', 'your_side_control') #3 Your closed guard ycg_td = combine_setState_createFeatures('your_closed_guard_raw_data', 'your_closed_guard') #4 Your back control ybc_td = combine_setState_createFeatures('your_back_control_raw_data', 'your_back_control') #5 Opponent mount or opponent side control omountsc_td = combine_setState_createFeatures( 'opponent_mount_and_opponent_side_control_raw_data', 'opponent_mount_or_sc') #6 Opponent closed guard ocg_td = combine_setState_createFeatures('opponent_closed_guard_raw_data', 'opponent_closed_guard') #7 Opponent back control obc_td = combine_setState_createFeatures('opponent_back_control_raw_data', 'opponent_back_control') #8 "Non jiu-jitsu" motion nonjj_td = combine_setState_createFeatures('non_jj_raw_data', 'non_jj') training_data = concat_data([ ymount_td, ysc_td, ycg_td, ybc_td, omountsc_td, ocg_td, obc_td, nonjj_td ]) # remove NaN training_data = blank_filter(training_data) return training_data
def api_test(experiment_id_number): """Prepare an experiment already uploaded to the db to be run against the model""" clean_experiment_number = int(experiment_id_number) try: query = db.session.query(Sensor) df = pd.read_sql_query(query.statement, query.session.bind) df2 = df[df['experiment_id']==clean_experiment_number] current_app.logger.debug(df2) current_app.logger.debug('run resolve_acc_gyro') df2 = resolve_acc_gyro_db(df2) current_app.logger.debug(df2) current_app.logger.debug('run create_rm_feature') df2 = create_rm_feature(df2, TIME_SEQUENCE_LENGTH) current_app.logger.debug(df2) test_data = blank_filter(df2) current_app.logger.debug(test_data) # TODO: NEED TO MAKE SURE FEATURE NUMBER IS THE SAME #Xt = df2.drop(['state', 'index'], axis=1) Xt = polynomial_features.fit_transform(test_data) current_app.logger.debug(Xt) return Xt except Exception as e: current_app.logger.debug('error: {}'.format(e)) abort(500)
def prep_test(el_file): el_file = DIR + '/data/test_cases/' + el_file df = pd.DataFrame() df = pd.read_csv(el_file, index_col=None, header=0) df = resolve_acc_gyro(df) df = create_rm_feature(df, TIME_SEQUENCE_LENGTH) test_data = blank_filter(df) return test_data
def prep_test(test_file, real_test=False): """ prepares test data to check for algorithm accuracy so does not set the state """ el_file = 'data/test_cases/' + test_file df = pd.DataFrame() df = pd.read_csv(el_file, index_col=None, header=0) if real_test == True: df = resolve_acc_gyro_labels(df) else: df = resolve_acc_gyro(df) df = create_features(df, _window=40, test=True, label_test=real_test) test_data = blank_filter(df) return test_data
def prep(window=40): """prepare the raw sensor data the argument window determines the size of the sliding selection window for the time series. Given that data has been collected at a frequency of 25Hz, a sliding window of 40 will give you combined data windows of 1.6 seconds. """ #1 Your mount ymount_td = combine_state_features('your_mount_raw_data', 'your_mount', window, 0) #2 Your side control ysc_td = combine_state_features('your_side_control_raw_data', 'your_side_control', window, 0) #3 Your closed guard ycg_td = combine_state_features('your_closed_guard_raw_data', 'your_closed_guard', window, 0) #4 Your back control ybc_td = combine_state_features('your_back_control_raw_data', 'your_back_control', window, 0) #5 Opponent mount or opponent side control omountsc_td = combine_state_features( 'opponent_mount_and_opponent_side_control_raw_data', 'opponent_mount_or_sc', window, 0) #6 Opponent closed guard ocg_td = combine_state_features('opponent_closed_guard_raw_data', 'opponent_closed_guard', window, 0) #7 Opponent back control obc_td = combine_state_features('opponent_back_control_raw_data', 'opponent_back_control', window, 0) #8 "Non jiu-jitsu" motion nonjj_td = combine_state_features('non_jj_raw_data', 'non_jj', window, 0) #9 "stand up" motion stand_up_td = combine_state_features('standing_up_raw_data', 'opponent_closed_guard', window, 1) training_data = concat_data([ ymount_td, ysc_td, ycg_td, ybc_td, omountsc_td, ocg_td, obc_td, nonjj_td, stand_up_td ]) # remove NaN training_data = blank_filter(training_data) return training_data
def prep(): """prepare the raw sensor data""" #1 Your mount ymount_td = combine_setState_createFeatures('your_mount_raw_data', 'your_mount') #2 Your side control ysc_td = combine_setState_createFeatures('your_side_control_raw_data', 'your_side_control') #3 Your closed guard ycg_td = combine_setState_createFeatures('your_closed_guard_raw_data', 'your_closed_guard') #4 Your back control ybc_td = combine_setState_createFeatures('your_back_control_raw_data', 'your_back_control') #5 Opponent mount or opponent side control omountsc_td = combine_setState_createFeatures('opponent_mount_and_opponent_side_control_raw_data', 'opponent_mount_or_sc') #6 Opponent closed guard ocg_td = combine_setState_createFeatures('opponent_closed_guard_raw_data', 'opponent_closed_guard') #7 Opponent back control obc_td = combine_setState_createFeatures('opponent_back_control_raw_data', 'opponent_back_control') #8 "Non jiu-jitsu" motion nonjj_td = combine_setState_createFeatures('non_jj_raw_data', 'non_jj') training_data = concat_data([ymount_td, ysc_td, ycg_td, ybc_td, omountsc_td, ocg_td, obc_td, nonjj_td]) # remove NaN training_data = blank_filter(training_data) return training_data