Code for "Multi-Scale Detection of Anomalous Spatio-Temporal Trajectories in Evolving Trajectory Datasets"
- Step1: Download the Porto dataset (train.csv.zip) from Porto, and the Chengdu dataset (Chengdu.zip) from Chengdu.
- Step2: Put the Porto data file in ../datasets/porto/, and unzip it as porto.csv. Put the unzipped Chengdu data in ../datasets/chengdu/.
- Step3: Run preprocessing by
mkdir -p data/<dataset_name>
cd preprocess
python preprocess_<dataset_name>.py
cd ..
mkdir logs models probs
<dataset_name>: porto or cd
python generate_outliers.py --distance 2 --fraction 0.2 --obeserved_ratio 1.0 --dataset <dataset_name>
distance is used to control the moving distance of outliers, fraction is the fraction of continuous outlier, obeserved_ratio is the ratio of the obeserved part of a trajectory.
python train.py --task train --dataset <dataset_name>
python train.py --task test --distance 2 --fraction 0.2 --obeserved_ratio 1.0 --dataset <dataset_name>
python train_labels.py --dataset <dataset_name>
python train_update.py --update_mode pretrain --dataset <dataset_name> --train_num <train_num>
update_mode contains three modes: pretrain, temporal, rank, <train_num> is the number of trajectories used for evolving training.