THE-S0HAM/PhantomGrid
GitHub: THE-S0HAM/PhantomGrid
一个基于机器学习、OCR 和图分析的 AI 平台,用于检测社交媒体上的虚假账户与机器人网络。
Stars: 0 | Forks: 0
# PhantomGrid
**一个由 AI 驱动的平台,利用机器学习、OCR 和图分析技术检测虚假社交媒体账户。**
具备实时画像分析、机器人网络检测、基于截图的 OCR 预测、交互式 Streamlit 仪表盘、Flask API 以及高级应用数据科学流水线等特性。
## 🚀 快速开始
```
# 1. 创建 virtual environment (推荐使用 Python 3.12)
py -3.12 -m venv .venv
.venv\Scripts\activate
# 2. 安装 dependencies
pip install -r requirements.txt
# 3. 训练 model
python train_pipeline.py
# 4. 启动 dashboard
streamlit run app.py
```
## 📁 项目结构
```
├── app.py # Streamlit dashboard (6 pages)
├── config.py # Centralized configuration
├── data_engine.py # Data ingestion, cleaning, feature engineering
├── ml_engine.py # Model training, evaluation, prediction
├── ocr_engine.py # Screenshot OCR analysis
├── graph_engine.py # Network analysis & bot detection
├── train_pipeline.py # Standalone training script
├── requirements.txt # Python dependencies
├── .streamlit/config.toml # Streamlit theme config
├── dataset/ # All datasets (5 files)
│ ├── social_profiles.csv
│ ├── Instagram_fake_profile_dataset.csv
│ ├── raw_user_profiles.csv
│ ├── raw_user_activities.csv
│ └── final-v1.csv
├── models/ # Trained model artifacts
│ ├── model.pkl
│ ├── scaler.pkl
│ └── metadata.json
└── References/ # Research papers
```
## ✨ 功能特性
| 模块 | 功能 |
|--------|-------------|
| **仪表盘** | 实时指标、分布图表、特征对比 |
| **画像预测** | 手动输入 → 带置信度仪表的 AI 分类 |
| **OCR 检测** | 截图上传 → 文本提取 → 预测 |
| **分析** | EDA、相关性、分布、统计 |
| **图分析** | 网络可视化、机器人集群检测、PageRank |
| **模型训练** | 6 模型对比、交叉验证、自动保存最佳模型 |
## 🤖 模型性能
基于 45,000+ 个用户画像(真实数据 + 合成数据增强)进行训练:
| 模型 | 准确率 | F1 分数 | ROC-AUC |
|-------|----------|----------|---------|
| **Gradient Boosting** | **98.87%** | **0.9863** | **0.9994** |
| LightGBM | 98.86% | 0.9862 | 0.9994 |
| Random Forest | 98.84% | 0.9860 | 0.9992 |
| XGBoost | 98.83% | 0.9858 | 0.9994 |
| Decision Tree | 98.02% | 0.9760 | 0.9866 |
| Logistic Regression | 96.33% | 0.9555 | 0.9946 |
## 🔬 数据科学流水线
1. **多数据集摄取** — 加载具有不同 schema 的 5 个数据集
2. **Schema 规范化** — 跨 Instagram、原始用户画像等实现统一格式
3. **数据清洗** — 去重、异常值剔除 (z-score)、缺失值填补
4. **合成数据增强** — 生成带有噪声的逼真假/真用户画像
5. **特征工程** — 14 个衍生特征(比率、分数、对数转换)
6. **模型训练** — 使用分层交叉验证的 6 种算法
7. **评估** — 准确率、精确率、召回率、F1、ROC-AUC、混淆矩阵
### 工程化特征
- 粉丝/关注比率、关注失衡度
- 每篇帖子点赞数、互动分数
- 每日发帖量、活跃度分数
- 画像完整度 (0–100)
- 机器人概率分数(启发式)
- 对数转换、账号成熟度
## 📚 研究参考
- *"Fake Profile Detection on Dating Websites"* (IJRAI) — 特征工程
- *"Fake Profile Identification Using Machine Learning"* (IJSET) — 分类
- *"Fake Profile Identification in Online Social Networks"* (SIST) — 图检测
## 🛡️ 安全性
- 文件上传验证与扩展名白名单
- 针对所有用户输入的净化处理
- 防止路径遍历
- 带大小限制的安全 OCR 处理
## 🐳 部署
**Streamlit Cloud:** 将主文件设置为 `app.py`
**Docker:**
```
FROM python:3.12-slim
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
RUN python train_pipeline.py
CMD ["streamlit", "run", "app.py", "--server.port=8501"]
```
### ⭐ 如果这个项目对您有帮助,请为本仓库点个 Star!
**[⬆ 返回顶部](#-phantomgrid)**