cerentolunay/malware-evo-fs

GitHub: cerentolunay/malware-evo-fs

通过进化算法比较GA与DE在恶意软件特征选择中的有效性,以提升检测性能并减少特征维度。

Stars: 0 | Forks: 0

# 遗恶意软件检测与进化特征选择 (GA & DE) 对使用遗传算法 (GA) 和差分进化 (DE) 进行特征选择的方法进行比较研究,用于恶意软件检测。 ## 📌 项目概述 本项目旨在通过进化算法选择最具信息量的特征,以提升恶意软件检测性能。 特征选择被视为一个优化问题,目标是: - 减少特征数量 - 保持或提高分类性能 在本项目中,优化用于恶意软件检测的特征选择。目标是在获得更少特征的同时实现更好的性能。 ## 🧠 方法论 项目遵循结构化的机器学习流程: 数据加载 → 预处理 → 特征选择 (GA / DE) → 模型评估 ### 🔹 特征选择 每个解表示为一个二进制向量: ``` [1, 0, 1, 0, 1] ``` - `1` → 选择该特征 - `0` → 不选择该特征 搜索空间呈指数增长 (2^N),因此穷举搜索不切实际。因此使用进化算法。 ### 🔬 遗传算法 (GA) - 基于二进制的表示 - 使用选择、交叉和变异 - 强大的全局搜索能力 ### ⚡ 差分进化 (DE) - 连续表示 - 使用基于向量的变异 - 通过阈值将值转换为二进制 ### 🎯 适应度函数 适应度函数结合了以下要素: 适应度 = 1 - 准确率 + 惩罚项 其中: - 准确率 → 模型性能 (随机森林) - 惩罚项 → 与所选特征数量成正比 这确保了: - 高准确率 - 特征子集最小化 ## ⚙️ 使用技术 - Python - NumPy - Pandas - Scikit-learn ## 📂 项目结构 ``` malware-evo-fs/ │ ├── data/ # Raw and processed data ├── notebooks/ # Experimental notebooks ├── src/ │ ├── data_loading/ # Data loading module │ ├── preprocessing/ # Data preprocessing │ ├── feature_selection/ # GA & DE implementations │ ├── models/ # ML models (Random Forest) │ ├── evaluation/ # Metrics │ └── experiments/ # Main experiment pipeline │ ├── results/ # Outputs and logs ├── figures/ # Visualizations ├── docs/ # Notes and documentation ├── paper/ # LaTeX paper files ``` ## ▶️ 如何运行 1. 克隆仓库: ``` git clone https://github.com/your-username/malware-evo-fs.git cd malware-evo-fs ``` 2. 安装依赖: ``` pip install -r requirements.txt ``` 3. 运行实验: ``` python -m src.experiments.run_experiment ``` ## 📊 当前状态 - 数据加载管道 - 预处理 (分割 + 缩放) - GA 特征选择 - DE 特征选择 - 基于模型的适应度函数 (随机森林) ## 🚧 后续工作 - 集成 EMBER 数据集 - 添加 SVM / XGBoost 比较 - 改进适应度函数 - 超参数调优 - 结果可视化 - 统计比较 (GA vs DE) ## 📄 学术背景 本项目作为一项研究性课题,旨在探讨: 用于恶意软件检测的进化特征选择 目标是评估和比较高维特征空间中 GA 和 DE 的有效性。 Ceren Tolunay
标签:Apex, NumPy, Python, Scikit-learn, SEO, 二值编码, 交叉验证, 优化搜索, 全局搜索, 分类性能, 差分进化, 数据预处理, 无后门, 机器学习, 模型评估, 特征选择, 特征降维, 进化算法, 逆向工具, 遗传算法, 随机森林