Mardaliyeva/anomaly_detection
GitHub: Mardaliyeva/anomaly_detection
基于 Isolation Forest 的网络流量无监督异常检测项目,在无需标注数据的条件下识别网络中的异常行为模式。
Stars: 0 | Forks: 0
# anomaly_detection
使用 Isolation Forest 对网络流量数据进行无监督异常检测。该项目分析 CICIDS2017 基于流的网络安全数据集,以在不使用标记数据的情况下识别异常网络行为。包括数据预处理、特征工程、可视化以及异常检测建模。
# 🛡️ 使用机器学习进行网络异常检测
本项目专注于使用**无监督机器学习**技术检测异常网络流量模式。模型在 CICIDS2017 数据集上进行训练,并在训练期间无需使用标记的攻击数据即可识别异常。
## 📌 项目目标
构建一个能够实现以下目标的系统:
- 学习正常的网络行为
- 检测异常或可疑的流量模式
- 在训练期间无需依赖标记数据即可工作
## 📊 数据集
:contentReference[oaicite:0]{index=0}
该数据集包含网络流统计信息,例如:
- 流持续时间
- 数据包大小
- 数据包速率
- 基于时间的特征
- TCP 标志信息
每一行代表一个具有提取统计特征的网络流。
## ⚙️ 方法论
### 1. 数据预处理
- 移除冗余特征(高相关性过滤)
- 使用 StandardScaler 处理数值特征缩放
### 2. 特征工程
- 选择基于网络流的统计特征
- 移除高度相关的变量(相关性 > 0.9)
### 3. 模型
:contentReference[oaicite:1]{index=1}
- 无监督异常检测算法
- 构建随机树以隔离稀有模式
- 异常点比正常点更容易被隔离
### 4. 评估(无标签)
由于这是一个无监督问题:
- 异常分数分布
- 目视检查(PCA 图)
- 异常比例分析
- 基于领域的解释
## 📈 可视化
项目包括:
- 网络特征分布图
- 用于离群值检测的箱线图
- 相关性热力图
- 基于 PCA 的异常可视化
- 检测到的异常散点图
## 🧠 核心洞察
异常是基于以下方面检测出的:
- 异常的流量大小
- 不规则的数据包时间
- 流持续时间的极端值
- 不平衡的正向/反向流量模式
## 🚀 结果
- 成功识别稀有且异常的网络模式
- 无需标记的训练数据即可检测异常
- 提供可解释的异常评分
## 📂 项目结构
标签:Apex, CICIDS2017, IP 地址批量处理, PCA降维, StandardScaler, 孤立森林, 异常检测, 异常流量检测, 数据预处理, 无监督学习, 机器学习, 特征工程, 网络安全, 网络安全数据集, 网络流量分析, 逆向工具, 隐私保护