sahibjitk562000-del/cyber-threat-intelligence-ml
GitHub: sahibjitk562000-del/cyber-threat-intelligence-ml
应用决策树、随机森林和孤立森林等机器学习算法对恶意IP地址进行分类和异常检测的课程作业项目。
Stars: 0 | Forks: 0
# 网络威胁情报 - 机器学习分类
## CMP7239 应用机器学习课程作业
**学号:** 25198619
## 📋 项目概述
本项目应用机器学习技术,使用 **Global Cyber Threat Intelligence Dataset 2026** 对恶意 IP 地址进行分类和优先级排序。
### 使用的模型:
- **Decision Tree** - 可解释的基于规则的分类
- **Random Forest** - 高精度的集成学习
- **Isolation Forest** - 无监督异常检测
## 📊 数据集
| 属性 | 详情 |
|-----------|---------|
| 来源 | Kaggle - Global Cyber Threat Intelligence Dataset 2026 |
| 记录数 | 6,250 |
| 特征数 | 16 |
| 格式 | CSV |
**数据集链接:** [Global Cyber Threat Intelligence Dataset 2026](https://www.kaggle.com/datasets/chuneeb/global-cyber-threat-intelligence-dataset-2026)
## 📁 仓库结构
├── code/ # 所有 Python 脚本
├── visualizations/ # 所有图表和图像
├── data/ # 数据集(已排除 - 可在 Kaggle 获取)
└── report/ # 最终报告 PDF
## 📊 结果
| 模型 | Accuracy | Precision | Recall | F1-Score |
|-------|----------|-----------|--------|----------|
| Decision Tree | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
| Random Forest | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
| Isolation Forest | 0.9237 | 1.0000 | 0.9237 | 0.9603 |
**关键发现:** Isolation Forest 识别出 **477 个异常**(占总记录数的 7.63%)。
## 🔧 环境要求
```
pip install pandas numpy scikit-learn matplotlib seaborn
# 导航到 code 文件夹
cd code
# 运行 data exploration
python step1_load_data.py
python step2_view_data.py
python step3_data_types.py
python step4_missing_values.py
python step5_unique_values.py
python step6_value_counts.py
python step7_country_chart.py
python step8_weekday_chart.py
python step9_continent_chart.py
python step10_hour_chart.py
python step11_save_data.py
python step12_summary.py
# 运行 machine learning models
python ml_step1_load_data.py
python ml_step2_encode.py
python ml_step3_split.py
python ml_step4_decision_tree.py
python ml_step5_random_forest.py
python ml_step6_isolation_forest.py
python ml_step7_compare.py
python ml_step8_charts.py
📝 Author
Sahibjit Kaur
Student ID: 25198619
Module: CMP7239 - Applied Machine Learning
Birmingham City University
🔗 Dataset Source
Global Cyber Threat Intelligence Dataset 2026 - Kaggle
```
标签:Apex, Python, Scikit-learn, 代码示例, 威胁情报分析, 数据分析, 数据分类, 无后门, 机器学习, 逆向工具