Shruti8122/Phishing-Email-Detection
GitHub: Shruti8122/Phishing-Email-Detection
一个结合 NLP 与神经网络的全栈钓鱼邮件检测系统,通过 React 前端与 Flask API 提供实时邮件分类与置信度评分。
Stars: 1 | Forks: 0
# 📧 基于 AI 的钓鱼邮件检测
这是一个全栈机器学习应用程序,使用**自然语言处理 (NLP)** 和**神经网络 (MLPClassifier)** 来检测邮件是**安全**的还是**钓鱼**的。
该项目包含一个 **React 前端**、一个 **Flask REST API 后端**,以及一个用于实时钓鱼邮件检测的训练好的机器学习模型。
# 📖 概述
钓鱼邮件是最常见的网络安全威胁之一,用于窃取密码、银行凭证和个人数据等敏感信息。本项目应用机器学习和自然语言处理技术来分析邮件内容,并将其分类为**安全**或**钓鱼**。
该应用程序提供了一个直观的基于 React 的界面,用户可以粘贴邮件并立即收到预测结果以及模型的置信度分数。
# 🚀 功能
- 检测安全和钓鱼邮件
- 带有响应式 UI 的 React 前端
- Flask REST API 后端
- 神经网络 (MLPClassifier)
- TF-IDF 文本向量化
- 为每个预测提供置信度分数
- 简单且用户友好的界面
# 🛠 技术栈
## 前端
- React
- Tailwind CSS
- React Router DOM
## 后端
- Flask
- Flask-CORS
- Python
## 机器学习
- Scikit-learn
- 神经网络 (MLPClassifier)
- TF-IDF Vectorizer
- NLTK
- Pandas
- NumPy
# 🧠 机器学习 Pipeline
```
Email
│
▼
Text Cleaning
│
▼
Stopword Removal
│
▼
Lemmatization
│
▼
TF-IDF Vectorization
│
▼
Neural Network
│
▼
Prediction
```
# 📂 项目结构
```
Phishing_Email_Detection
│
├── dataset/
│
├── frontend/
│ ├── src/
│ ├── package.json
│ └── ...
│
├── models/
│ ├── phishing_neural_network.pkl
│ └── tfidf_vectorizer.pkl
│
├── app.py
├── requirements.txt
├── README.md
└── train_model.py
```
# ⚙️ 安装说明
## 克隆仓库
```
git clone
```
```
cd Phishing_Email_Detection
```
## 安装后端依赖
```
pip install -r requirements.txt
```
## 运行 Flask API
```
python app.py
```
后端将启动于:
```
http://127.0.0.1:5000
```
## 运行前端
导航到前端目录。
```
cd frontend
```
安装依赖。
```
npm install
```
运行开发服务器。
```
npm run dev
```
前端将可访问于:
```
http://localhost:5173
```
# 📡 API Endpoint
## POST `/predict`
### 请求
```
{
"email": "Paste your email content here..."
}
```
### 响应
```
{
"prediction": "Phishing",
"confidence": 98.74
}
```
# 📸 应用程序
该应用程序允许用户:
- 粘贴一封邮件
- 点击 **Predict** 按钮
- 查看该邮件是**安全**的还是**钓鱼**的
- 查看模型的置信度分数
# 📊 模型
### 算法
- 神经网络 (MLPClassifier)
### 特征提取
- TF-IDF Vectorizer
### 文本预处理
- 将文本转换为小写
- 移除 URL
- 移除电子邮件地址
- 移除数字
- 移除标点符号
- 移除 stopwords
- 词形还原
# 📁 数据集
本项目使用了来自 Kaggle 的一个**钓鱼邮件数据集**。
**数据集 License**
GNU Lesser General Public License v3.0 (LGPL-3.0)
在重新分发或修改数据集之前,请参阅原始数据集页面以获取归属和许可详情。
# 📜 License
本项目旨在用于教育和研究目的。
在重新分发或使用数据集时,请确保遵守数据集的 **GNU LGPL v3.0** License。
# 👩💻 作者
**Shruti Singh**
B.Tech CSE (人工智能与机器学习)
标签:Apex, 机器学习, 网络安全, 逆向工具, 钓鱼检测, 隐私保护