sunflxwr7/hdfs-anomaly-detection-comparison
GitHub: sunflxwr7/hdfs-anomaly-detection-comparison
该项目是一项基于 HDFS 系统日志的异常检测方法对比研究,评估了规则、监督学习和无监督学习三类方法在分布式系统日志异常检测中的性能差异。
Stars: 0 | Forks: 0
# HDFS 系统日志的基于规则、监督学习和无监督学习异常检测对比研究
## 作者
**Tamani Williams**
计算机科学(人工智能)理学硕士
特洛伊大学
## 研究信息
**课程:** CS 6625 专门研究
**指导教师:** Long Ma 博士
**学期:** 2026 学年第 5 学期
**状态:** 已完成
## 摘要
本研究对比了基于规则、监督学习和无监督学习的异常检测方法,这些方法均使用 HDFS(Hadoop 分布式文件系统)系统日志。通过使用统计基线、Logistic Regression、Random Forest 和 Isolation Forest 对四个工程化特征集进行了评估。使用准确率、精确率、召回率和 F1 分数来衡量模型性能,以确定检测方法和特征表示如何影响异常检测性能。实验结果表明,监督学习方法的表现始终优于统计基线和 Isolation Forest 无监督模型,其中 Random Forest 取得了最佳的整体性能。
## 概述
本仓库包含了该对比研究的完整实现、数据集、notebooks、实验结果和研究论文。
每个 notebook 代表了实验工作流的一个阶段,使得该研究可以从原始数据准备一直复现到最终的模型评估和性能比较。
## 数据集
本研究使用了 **HDFS_v1** 数据集,这是一个在分布式系统异常检测研究中广泛使用的基准数据集。
为了支持可复现性,该数据集的存档镜像保存在:
https://www.kaggle.com/datasets/tamaniwilliams/hdfs-v1-loghub-dataset-archive
该存档包含:
- HDFS.log
- HDFS.npz
- Event_occurrence_matrix.csv
- Event_traces.csv
- HDFS.log_templates.csv
- anomaly_label.csv
本研究自始至终使用的主要文件是:
- Event_occurrence_matrix.csv
- anomaly_label.csv
这些文件提供了用于评估基于规则、监督学习和无监督学习异常检测方法的特征矩阵和真实标签。
## 仓库结构
```
data/
├── raw/
├── processed/
notebooks/
src/
results/
paper/
```
- **data/** 包含原始数据集和生成的特征集。
- **notebooks/** 包含完整的实验工作流。
- **src/** 包含可重用的 Python 工具。
- **results/** 包含导出的评估指标、训练好的模型输出和比较结果。
- **paper/** 包含最终的研究手稿。
## 生成数据
处理后的特征集和训练/测试集划分文件未包含在此仓库中,因为它们超过了 GitHub 的文件大小限制。
克隆仓库后,请按以下顺序运行 notebooks 以生成所需的数据集:
1. `02_feature_engineering.ipynb`
2. `03_model_preparation.ipynb`
这些 notebooks 会重新创建:
```
data/processed/
├── feature_set_1.csv
├── feature_set_2.csv
├── feature_set_3.csv
├── feature_set_4.csv
└── splits/
```
生成的数据集存储在本地,并被有意排除在版本控制之外。
## 项目工作流
按以下顺序运行 notebooks:
1. `01_data_exploration.ipynb`
2. `02_feature_engineering.ipynb`
3. `03_model_preparation.ipynb`
4. `04_statistical_baseline.ipynb`
5. `05_logistic_regression.ipynb`
6. `06_random_forest.ipynb`
7. `07_isolation_forest.ipynb`
8. `08_results_comparison.ipynb`
## 实验结果
本研究使用以下性能指标来评估每种异常检测方法:
- 准确率
- 精确率
- 召回率
- F1 分数
统计基线提供了一个基于规则的基准,而 Logistic Regression、Random Forest 和 Isolation Forest 则使用相同的工程化特征集进行评估,以实现直接的模型性能比较。
在所有评估的方法中,Random Forest 取得了最高的整体性能,其次是 Logistic Regression。统计基线提供了一个可解释的基准,而 Isolation Forest 在 HDFS 数据集上的整体表现最弱。
## 仓库内容
本仓库包括:
- 完整的实验 notebooks
- 特征工程流水线
- 统计基线实现
- Logistic Regression 实现
- Random Forest 实现
- Isolation Forest 实现
- 性能对比评估
- 最终的 IEEE 研究论文
- 可复现的数据集存档参考
## 参考文献
1. Wei Xu, Ling Huang, Armando Fox, David Patterson, Michael Jordan. *Detecting Large Scale System Problems by Mining Console Logs.* Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP), 2009.
2. Jieming Zhu, Shilin He, Pinjia He, Jinyang Liu, Michael R. Lyu. *LogHub: A Large Collection of System Log Datasets for AI-driven Log Analytics.* IEEE Transactions on Software Engineering, 2023.
3. M. Du, F. Li, G. Zheng, and V. Srikumar. *DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning.* ACM CCS, 2017.
## 引用
如果您在学术工作中使用了本仓库,请引用附带的研究论文。
## 许可
本仓库仅用于学术研究和教育目的。
HDFS 数据集由 LogHub 项目分发,并受其原始许可和使用条款的约束。
标签:Apex, BSD, HDFS, NoSQL, 代码示例, 学术研究, 异常检测, 数据分析, 数据挖掘, 机器学习, 逆向工具