# 1. 总体
## 1.1 说明
- str+模型(rov)和ros-模型(nor)，使用相同的底层数据，都是通过make_data.sh获得的；其中str+模型每天更新，ros-模型手动更新(目前没有更新)。
- 使用时，需将脚本中的jar文件路径&fm_train&fm_predict路径，替换成自己的路径

## 1.2 代码
- [数据生成code](https://git.yishihui.com/algorithm/recommend-emr-dataprocess/src/feature/jch_makedata)
- [str+模型训练code: alphaFM](https://github.com/CastellanZhang/alphaFM)
- [ros-模型训练code: spark_xgboost](https://git.yishihui.com/algorithm/recommend-model/src/feature/jch)

## 1.3 部署
- str+和ros-数据生成部署：root@192.168.141.208:/mnt/disk1/jch/str2ros_scripts
- str+训练部署：root@192.168.205.31:/data2/jch/project/str_fm_v1
- ros-训练部署：root@192.168.141.208:/mnt/disk1/jch/str2ros_scripts/nor

# 2. make_data
- run.sh生成t+2底层数据(样本表：dwd_recsys_alg_sample_all_20250212) & rov t+2 训练样本
- run_t0.sh生成t+1底层数据(0-16点，dwd_recsys_alg_sample_all_20250905)
- run_t1.sh生成t+1底层数据(17-21点数据，22/23数据没有利用，dwd_recsys_alg_sample_all_20250905) & rov t+1 训练样本
- make_data.sh 生成底层数据

# 3. str+模型(rov)
## 3.1 sample
### 3.1.1 feat(存放基础数据特征频次统计)
### 3.1.2 vocab(存放str+模型生成样本数据，使用的特征列表)
### 3.1.3 scripts
- feat_stat.sh 统计基础数据中的特征频次
- rov_batch.sh 生成t+2rov样本数据
- rov_batch_t1.sh 生成t+1rov样本数据, 并统计样本数据中的特征频次
- v1(版本) v1_pipline.sh(生成t+2样本), v1_pipline_t1.sh(生成t+1样本，并统计特征频次), rov_sample_v1.sh(生成样本), train_stat_v1.sh(统计特征频次)

## 3.2 train
### 3.2.1 data(存放样本数据&特征)
### 3.2.2 logs(日志)
### 3.2.3 src(python 相关脚本)
### 3.2.4 scripts(训练相关脚本)
- run.sh 触发任务
- pipline.sh 训练流程
- download_data.sh 下载样本数据
- train_model_data.sh 训练
- update_model.sh 校验模型&上传模型至oss
- remove_data.sh 删除旧的样本数据

### 3.2.5 model(存放训练好的模型)

# 4. ros-模型(nor)
- nor_pipline.sh 训练流程
- nor_sample.sh 生成样本数据
- nor_train.sh 使用spark_xgboost训练模型
- nor_predict.sh 使用训练好的模型，测试
- update2oss.sh 将本地模型生成至oss(需先将模型下载至本地，tar打包，再上传至oss)