你需要准备以下数据文件并放入Data文件夹:
- 轨迹数据文件(如:
trajectory.csv) - POI 数据文件(如:
poi.csv)
在运行模型前,请确保您的数据包含以下必要特征列:
- 轨迹数据必需字段:轨迹 ID、时间戳、经纬度坐标
- POI 数据必需字段:POI 名称、类别、经纬度坐标
SemiSupervised 目录中包含的是半监督打标模型,按照如下的示例命令运行即可:
python .\SemiSupervised\SemiModulesTrain.py \
--tsv ./SemiSupervised/SemiData.tsv \
--out_model ./SemiSupervised/traj_anomaly_rf.joblib \
--metrics_json ./SemiSupervised/traj_anomaly_metrics.json \
--featimp_csv ./SemiSupervised/traj_anomaly_feature_importance.csvData 目录中包含的是数据预处理脚本,按照如下的示例命令运行即可:
python Data/DataProcessPipline.py \
--poi ./Data/CombinedPOI.csv \
--geolife ./Data/Geolife.csv \
--model ./SemiSupervised/traj_anomaly_rf.joblib \
--out-pkl ./Data/beijing_geolife_incident_strict.pkl \
--out-labels ./Data/beijing_geolife_labels_strict.csv \
--resolution 10 --max-kmh 110 --max-idle-min 60 --min-points 10 \
--ratio 0.3 --alpha 4.0 --beta 0.15 --base-scale 0.9 --poissonunified_pipeline 为具体的模型训练代码,按如下命令运行完整模型:
python unified_pipeline.py \
--models patchlstm \
--data ./Data/beijing_geolife_incident_strict.pkl \
--batch 32 --max_len 120 --max_seq 16 \
--epochs 100 --patience 8 \
--loss focal \
--outdir ./checkpoints --results_csv ./batch_results.csv├── Data/
│ ├── trajectory.csv # 轨迹数据(需用户提供)
│ ├── poi.csv # POI数据(需用户提供)
│ └── DataProcessPipline.py
├── modules/
│ ├── Componet.py
│ └── PatchLSTM.py
├── SemiSupervised/
│ ├── SemiData.tsv
│ └── semi_supervised_processing.py
├── utils/
│ ├── DataLoader.py
│ └── utils.py
├── unified_pipeline.py
└── README.md
如遇到问题,请检查:
- 数据格式是否符合要求
- 所有依赖包是否已正确安装
- 控制台输出的错误信息