ChiRaG18042004/behavior-anomaly-ml
GitHub: ChiRaG18042004/behavior-anomaly-ml
基于合成企业活动日志的行为异常检测端到端机器学习管道,涵盖数据生成、特征工程、Random Forest 训练评估与单事件预测。
Stars: 0 | Forks: 0
# 行为异常 ML
用于从合成企业活动日志中检测异常用户行为的公共安全机器学习项目。
本仓库旨在展示一个端到端 ML 工作流:数据生成、特征工程、模型训练、评估和单事件预测。它不使用私有公司数据或机密的实习代码。
## 为什么做这个项目
许多安全与信任系统需要在不依赖单一明显规则的情况下识别异常行为。本项目模拟了用户活动信号,并训练了一个监督模型来将事件分类为正常或异常。
## 它展示了什么
- 针对安全类 ML 问题的合成数据集设计
- 针对行为风险信号的特征工程
- 训练/测试集划分、预处理和模型评估
- 可复现的命令行工作流
- 对新事件进行评分的预测脚本
## 项目结构
```
behavior-anomaly-ml/
src/
generate_synthetic_logs.py
features.py
train_model.py
predict.py
tests/
test_features.py
data/
models/
requirements.txt
README.md
```
## 快速开始
```
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python src/generate_synthetic_logs.py --rows 2500 --out data/synthetic_behavior_logs.csv
python src/train_model.py --data data/synthetic_behavior_logs.csv --model-out models/anomaly_model.joblib
python src/predict.py --model models/anomaly_model.joblib --sample examples/high_risk_event.json
```
## 特征示例
合成日志包含以下信号:
- 登录时间
- 登录失败次数
- 下载量
- 访问的文件数
- 外部邮件数量
- 新设备指示器
- 特权操作指示器
- 不可能旅行风格信号
## 模型
训练脚本使用带有数据缩放和 Random Forest 分类器的 scikit-learn pipeline。训练完成后,评估指标会被写入 `models/metrics.json`。
## 招聘人员说明
这是一个行为风险 ML 问题的公开作品集版本。它是有意合成的,不包含专有数据、私有代码、机密信息、内部仪表板或特定公司的架构。
标签:Apex, scikit-learn, 异常检测, 数据科学, 机器学习, 特征工程, 资源验证, 逆向工具, 随机森林