komalsaeed973/AI-Phishing-Website-Detection
GitHub: komalsaeed973/AI-Phishing-Website-Detection
CatchThePhishX 通过 KNN 与多层感知机模型对网站特征进行二分类,实现钓鱼网站与合法网站的自动识别与模型性能对比。
Stars: 1 | Forks: 0
# AI-Phishing-Website-Detection
## CatchThePhishX
一个基于 AI 的钓鱼网站检测系统,它使用机器学习模型将网站分类为**合法**或**钓鱼**。该项目比较了 **K-Nearest Neighbors (KNN)** 和 **Artificial Neural Network (MLP)** 的性能,以寻找最有效的钓鱼网站检测方法。
## 团队项目
该项目由 **Komal Saeed**、**Aliha Fatima** 和 **Maryam Waseem** 共同开发,是我们 **Artificial Intelligence** 课程的一部分。
## 项目概述
该系统通过分析从 UCI 钓鱼网站数据集中提取的网站特征,来预测网站是合法的还是钓鱼网站。它包括数据预处理、特征缩放、模型训练、评估以及两种机器学习算法的比较。
## 数据集
- **来源:** UCI Machine Learning Repository
- **记录:** 11,055 个网站
- **特征:** 30 个输入特征 + 1 个目标变量
- **目标类别:**
- **1** → 合法
- **-1** → 钓鱼
## 功能
- 数据预处理与清洗
- 使用 StandardScaler 进行特征缩放
- K-Nearest Neighbors (KNN) 分类器
- Artificial Neural Network (MLP Classifier)
- KNN 自动选择最佳 K 值
- 模型评估指标:
- Accuracy
- Precision
- Recall
- F1 Score
- ROC Curve
- AUC Score
- Confusion Matrix
- 将网站分类为合法或钓鱼
## 使用的技术
- Python
- Pandas
- NumPy
- Scikit-learn
- Matplotlib
- Seaborn
- Jupyter Notebook
## 机器学习模型
### K-Nearest Neighbors (KNN)
- 基于距离的分类
- 自动选择最优的 K 值
- 标准化特征缩放
### Artificial Neural Network (MLP)
- MLPClassifier
- ReLU 激活函数
- Adam 优化器
- 隐藏层:64 → 32 个神经元
## 项目工作流
1. 加载数据集
2. 数据预处理
3. 特征缩放
4. 进行探索性数据分析
5. 训练 KNN 模型
6. 训练 Neural Network 模型
7. 评估两个模型
8. 比较性能
9. 预测网站是钓鱼网站还是合法网站
## 结果
两种机器学习模型在检测钓鱼网站方面都取得了很高的性能。Artificial Neural Network 在总体准确率和 AUC 分数上略胜一筹,而 KNN 仍然是一种有效且具有可解释性的基线模型。
## 仓库结构
```
AI-Phishing-Website-Detection/
│
├── CatchThePhishX.ipynb
├── README.md
├── requirements.txt
├── .gitignore
├── dataset/
└── phishing_websites.csv
```
## 许可证
本项目仅用于教育目的。
标签:Apex, KNN, NoSQL, Python, Scikit-learn, 人工智能, 无后门, 机器学习, 用户模式Hook绕过, 神经网络, 逆向工具, 钓鱼检测