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, 准确率, 分类报告, 协议编码, 合成标签, 异常检测, 支持向量机, 数据清洗, 数据预处理, 机器学习, 标准缩放, 模型比较, 模型评估, 正常与恶意检测, 流量分类, 混淆矩阵, 物联网流量, 特征工程, 神经网络, 网络安全, 逆向工具, 逻辑回归, 随机森林, 隐私保护