def keep_tp(data): drop_list = list() for row in data.itertuples(): if row.y_pred < 1: drop_list.append(row.Index) data = drop_and_report(data, drop_list, 'Keep only TP') return data
def data_correctly_predicted(data): drop_list = list() for row in data.itertuples(): if row.track_berthed != row.y_pred: drop_list.append(row.Index) data = drop_and_report(data, drop_list, 'Remove correct predictions') return data
def drop_mmsi_zero(data): drop_list = list() for row in data.itertuples(): if len(str(row.mmsi)) < 9: drop_list.append(row.Index) data = drop_and_report(data, drop_list, 'Remove unused rows') return data
def keep_last_row(data): drop_list = list() for row in data.itertuples(): if row.Index != len(data) - 1 and row.track_number == data.at[ row.Index + 1, 'track_number']: drop_list.append(row.Index) data = drop_and_report(data, drop_list, "Keep last row of track") return data
def remove_little_messages_tot(data): drop_list = list() for row in data.itertuples(): if data.at[row.Index, 'time_in_polygon'] < 60 * 30: drop_list.append(row.Index) continue data = drop_and_report(data, drop_list, 'Remove obvious non-berthing tracks') return data
def low_high_speed_check(data): # Initialize variables for low- and high-speed check max_speed = 25 # m/s min_speed = 0 # m/s drop_list = list() for row in data.itertuples(): if row.sog_ms > max_speed or row.sog_ms < min_speed: drop_list.append(row.Index) data = drop_and_report(data, drop_list, 'Speed outlier') return data