suhanigoyal48-collab/Hybrid-AI--ML-Based-Intrusion-Detection-System
GitHub: suhanigoyal48-collab/Hybrid-AI--ML-Based-Intrusion-Detection-System
一个基于机器学习的物联网网络流量入侵检测系统,通过特征工程与多模型对比识别最佳分类器。
Stars: 0 | Forks: 0
# 🔐 基于机器学习的入侵检测系统(IDS)
## 📌 项目概述
本项目实现了一个**基于机器学习的入侵检测系统(IDS)**,用于分析物联网网络流量。它应用特征工程技术,并比较多种机器学习模型,以将网络流量分类为**正常(0)**或**恶意(1)**。
## 系统评估不同的分类器,并根据准确率识别表现最佳的模型。
PPT 链接: https://docs.google.com/presentation/d/1CkyBb7zOn2pZg3jsL0u7Vidb_DEGhf4d/edit?usp=sharing&ouid=101386664084771135450&rtpof=true&sd=true
## 🚀 功能特性
* 数据预处理与清洗
* 协议编码与 IP 特征提取
* 行为特征工程
* 使用 StandardScaler 进行特征缩放
* 多种机器学习模型比较
* 模型性能评估指标:
* 准确率
* 分类报告
* 混淆矩阵
## 📂 数据集
* 文件:`philips.csv`
* 编码:`latin1`
* 自动跳过无效行
* 由于数据集不包含标签,因此为演示目的生成了合成标签。
⚠ 注意:在实际部署中,应使用带有标签的入侵数据。
## 🧠 特征工程
提取以下特征:
* **Protocol_encoded** – 编码后的协议类型
* **Length** – 数据包长度(数值转换)
* **Time_delta** – 数据包之间的时间差
* **Source_encoded** – 编码后的源 IP 前缀
* **Dest_encoded** – 编码后的目标 IP 前缀
* **Is_MDNS** – mDNS 协议标志
* **Is_DHCP** – DHCP 协议标志
* **Is_NTP** – NTP 协议标志
## 🤖 使用的机器学习模型
系统比较以下分类器:
* 随机森林(Random Forest)
* 逻辑回归(Logistic Regression)
* 支持向量机(SVM)
* XGBoost
* 神经网络(MLPClassifier)
每个模型均在 70-30 的训练-测试分割上进行训练与评估。
## 📊 评估指标
* 准确率(Accuracy Score)
* 分类报告(精确率、召回率、F1 分数)
* 混淆矩阵
根据最高准确率选择表现最佳的模型。
## 🛠 安装
请确保已安装 Python 3.8+。
安装所需依赖:
```
pip install pandas numpy scikit-learn xgboost
```
## ▶️ 运行方法
1. 将 `philips.csv` 放置在项目目录中。
2. 运行脚本:
```
python IDS.py
```
3. 在终端中查看模型准确率与性能指标。
## 📈 输出
脚本将:
* 训练所有模型
* 打印性能指标
* 显示混淆矩阵
* 识别表现最佳的模型
## 🔮 后续改进
* 使用真实的带标签入侵数据集(例如 CICIDS)
* 改进特征工程
* 使用 SMOTE 处理类别不平衡
* 超参数调优
* 部署为实时入侵检测系统
* 添加可视化仪表板
## 📚 使用技术
* Python
* Pandas
* NumPy
* Scikit-learn
* XGBoost
## 👩💻 作者
Suhani Goyal
B.Tech – 计算机科学与工程
标签:Apex, IoT安全, IP特征提取, MLP分类器, XGBoost, 准确率, 分类报告, 协议编码, 合成标签, 异常检测, 支持向量机, 数据清洗, 数据预处理, 机器学习, 标准缩放, 模型比较, 模型评估, 正常与恶意检测, 流量分类, 混淆矩阵, 物联网流量, 特征工程, 神经网络, 网络安全, 逆向工具, 逻辑回归, 随机森林, 隐私保护