删除 QUICKSTART.md
This commit is contained in:
parent
3e9485be43
commit
6b2a7b82b1
225
QUICKSTART.md
225
QUICKSTART.md
@ -1,225 +0,0 @@
|
|||||||
# 快速开始指南
|
|
||||||
|
|
||||||
本指南将帮助您在5分钟内运行信用卡欺诈检测系统。
|
|
||||||
|
|
||||||
## 前置要求
|
|
||||||
|
|
||||||
- Python 3.10 或更高版本
|
|
||||||
- pip(Python包管理器)
|
|
||||||
|
|
||||||
## 安装步骤
|
|
||||||
|
|
||||||
### 1. 克隆仓库
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone <repository-url>
|
|
||||||
cd Credit-Card-Fraud-Detection
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. 创建虚拟环境(推荐)
|
|
||||||
|
|
||||||
**Windows:**
|
|
||||||
```bash
|
|
||||||
python -m venv venv
|
|
||||||
venv\Scripts\activate
|
|
||||||
```
|
|
||||||
|
|
||||||
**Linux/Mac:**
|
|
||||||
```bash
|
|
||||||
python3 -m venv venv
|
|
||||||
source venv/bin/activate
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. 安装依赖
|
|
||||||
|
|
||||||
**方式1: 使用 requirements.txt(推荐)**
|
|
||||||
```bash
|
|
||||||
pip install -r requirements.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**方式2: 使用 setup.py**
|
|
||||||
```bash
|
|
||||||
pip install -e .
|
|
||||||
```
|
|
||||||
|
|
||||||
**方式3: 使用 uv(需要先安装 uv)**
|
|
||||||
```bash
|
|
||||||
pip install uv
|
|
||||||
uv sync
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4. 准备数据
|
|
||||||
|
|
||||||
确保 `data/creditcard.csv` 文件存在。如果不存在,请:
|
|
||||||
|
|
||||||
1. 从 Kaggle 下载数据集: https://www.kaggle.com/mlg-ulb/creditcardfraud
|
|
||||||
2. 将下载的 `creditcard.csv` 文件放入 `data/` 目录
|
|
||||||
|
|
||||||
### 5. 训练模型
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python src/train.py
|
|
||||||
```
|
|
||||||
|
|
||||||
训练完成后,模型文件将保存在 `models/` 目录中:
|
|
||||||
- `random_forest_model.joblib` - 随机森林模型
|
|
||||||
- `logistic_regression_model.joblib` - 逻辑回归模型
|
|
||||||
- `scaler.joblib` - 特征缩放器
|
|
||||||
|
|
||||||
### 6. 运行应用
|
|
||||||
|
|
||||||
**方式1: 使用 agent_app.py(推荐)**
|
|
||||||
```bash
|
|
||||||
python src/agent_app.py
|
|
||||||
```
|
|
||||||
|
|
||||||
这将自动启动 Web 界面并在浏览器中打开。
|
|
||||||
|
|
||||||
**方式2: 直接运行 Streamlit**
|
|
||||||
```bash
|
|
||||||
streamlit run src/streamlit_app.py
|
|
||||||
```
|
|
||||||
|
|
||||||
## 使用说明
|
|
||||||
|
|
||||||
### Web 界面使用
|
|
||||||
|
|
||||||
1. **选择输入方式**
|
|
||||||
- 上传CSV文件:批量处理交易数据
|
|
||||||
- 手动输入:输入30个特征值
|
|
||||||
|
|
||||||
2. **输入特征**
|
|
||||||
- Time: 交易时间(秒)
|
|
||||||
- V1-V28: PCA转换后的特征
|
|
||||||
- Amount: 交易金额
|
|
||||||
|
|
||||||
3. **点击"检测欺诈"按钮**
|
|
||||||
- 系统会显示预测结果
|
|
||||||
- 查看特征解释
|
|
||||||
- 获取行动建议
|
|
||||||
|
|
||||||
### 命令行使用
|
|
||||||
|
|
||||||
```python
|
|
||||||
from src.agent_app import create_agent
|
|
||||||
|
|
||||||
agent = create_agent()
|
|
||||||
|
|
||||||
transaction = [
|
|
||||||
0, -1.3598071336738, -0.0727811733098497, 2.53634673796914, 1.37815522427443,
|
|
||||||
-0.338320769942518, 0.462387777762292, 0.239598554061257, 0.0986979012610507,
|
|
||||||
0.363786969611213, 0.0907941719789316, -0.551599533260813, -0.617800855762348,
|
|
||||||
-0.991389847235408, -0.311169353699879, 1.46817697209427, -0.470400525259478,
|
|
||||||
0.207971241929242, 0.0257905801985591, 0.403992960255733, 0.251412098239705,
|
|
||||||
-0.018306777944153, 0.277837575558899, -0.110473910188767, 0.0669280749146731,
|
|
||||||
0.128539358273528, -0.189114843888824, 0.133558376740387, -0.0210530534538215,
|
|
||||||
149.62
|
|
||||||
]
|
|
||||||
|
|
||||||
result = agent.process_transaction(transaction)
|
|
||||||
print(f"预测类别: {result.evaluation.class_name}")
|
|
||||||
print(f"欺诈概率: {result.evaluation.fraud_probability:.4f}")
|
|
||||||
```
|
|
||||||
|
|
||||||
## 运行测试
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 运行所有测试
|
|
||||||
pytest tests/
|
|
||||||
|
|
||||||
# 运行特定测试文件
|
|
||||||
pytest tests/test_data.py
|
|
||||||
|
|
||||||
# 查看测试覆盖率
|
|
||||||
pytest tests/ --cov=src --cov-report=html
|
|
||||||
```
|
|
||||||
|
|
||||||
## 常见问题
|
|
||||||
|
|
||||||
### Q1: 找不到数据文件
|
|
||||||
|
|
||||||
**错误信息**: `FileNotFoundError: data/creditcard.csv`
|
|
||||||
|
|
||||||
**解决方案**:
|
|
||||||
1. 确保数据文件存在于 `data/` 目录
|
|
||||||
2. 从 Kaggle 下载数据集并放入正确位置
|
|
||||||
|
|
||||||
### Q2: 模型文件不存在
|
|
||||||
|
|
||||||
**错误信息**: `RuntimeError: 模型或缩放器加载失败`
|
|
||||||
|
|
||||||
**解决方案**:
|
|
||||||
```bash
|
|
||||||
# 先训练模型
|
|
||||||
python src/train.py
|
|
||||||
```
|
|
||||||
|
|
||||||
### Q3: 依赖安装失败
|
|
||||||
|
|
||||||
**错误信息**: `pip install` 失败
|
|
||||||
|
|
||||||
**解决方案**:
|
|
||||||
1. 确保使用 Python 3.10+
|
|
||||||
2. 升级 pip: `pip install --upgrade pip`
|
|
||||||
3. 使用国内镜像源: `pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple`
|
|
||||||
|
|
||||||
### Q4: Streamlit 无法启动
|
|
||||||
|
|
||||||
**错误信息**: `streamlit not found`
|
|
||||||
|
|
||||||
**解决方案**:
|
|
||||||
```bash
|
|
||||||
pip install streamlit
|
|
||||||
```
|
|
||||||
|
|
||||||
### Q5: 端口被占用
|
|
||||||
|
|
||||||
**错误信息**: `Address already in use`
|
|
||||||
|
|
||||||
**解决方案**:
|
|
||||||
```bash
|
|
||||||
# 使用不同端口启动
|
|
||||||
streamlit run src/streamlit_app.py --server.port 8502
|
|
||||||
```
|
|
||||||
|
|
||||||
## 项目结构
|
|
||||||
|
|
||||||
```
|
|
||||||
Credit-Card-Fraud-Detection/
|
|
||||||
├── data/ # 数据目录
|
|
||||||
│ └── creditcard.csv # 信用卡交易数据
|
|
||||||
├── models/ # 模型目录
|
|
||||||
│ ├── random_forest_model.joblib
|
|
||||||
│ ├── logistic_regression_model.joblib
|
|
||||||
│ └── scaler.joblib
|
|
||||||
├── src/ # 源代码
|
|
||||||
│ ├── agent_app.py # Agent 入口(推荐使用)
|
|
||||||
│ ├── streamlit_app.py # Streamlit Web 应用
|
|
||||||
│ ├── train.py # 模型训练
|
|
||||||
│ ├── infer.py # 推理接口
|
|
||||||
│ ├── data.py # 数据处理
|
|
||||||
│ └── features.py # 特征定义
|
|
||||||
├── tests/ # 测试文件
|
|
||||||
├── requirements.txt # Python 依赖
|
|
||||||
├── setup.py # 安装脚本
|
|
||||||
├── QUICKSTART.md # 快速开始指南(本文件)
|
|
||||||
└── README.md # 详细文档
|
|
||||||
```
|
|
||||||
|
|
||||||
## 下一步
|
|
||||||
|
|
||||||
- 阅读 [README.md](README.md) 了解项目详情
|
|
||||||
- 查看 [src/](src/) 目录下的源代码
|
|
||||||
- 运行测试确保一切正常
|
|
||||||
- 开始使用系统进行欺诈检测
|
|
||||||
|
|
||||||
## 技术支持
|
|
||||||
|
|
||||||
如遇到问题,请:
|
|
||||||
1. 检查本指南的"常见问题"部分
|
|
||||||
2. 查看 [README.md](README.md) 获取更多信息
|
|
||||||
3. 提交 Issue 到项目仓库
|
|
||||||
|
|
||||||
## 许可证
|
|
||||||
|
|
||||||
MIT License
|
|
||||||
Loading…
Reference in New Issue
Block a user