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绕过, 神经网络, 逆向工具, 钓鱼检测