EmmanRay567/AI-Malware-Detector

GitHub: EmmanRay567/AI-Malware-Detector

基于 Random Forest 的 Android 恶意软件检测系统,提供 Streamlit Web 界面用于实时文件分类与预测。

Stars: 0 | Forks: 0

# AI-Malware-Detector 概述 本项目是我基于机器学习的恶意软件检测系统,它根据行为和系统级特征将 Android 应用程序分类为安全或恶意。 它包括一个经过训练的 Random Forest Classifier 和一个 Streamlit Web 应用程序,允许用户上传 CSV 或 Excel 文件以进行实时的恶意软件预测。 本项目的目标是展示一个端到端的 ML pipeline,涵盖从数据预处理和模型训练到在交互式 Web 界面中部署的全过程。 # 功能 📊 基于真实恶意软件数据集训练的机器学习模型 🌲 Random Forest 分类器,提供稳健的预测 🧠 用于模型可解释性的特征重要性分析 📁 上传 CSV 或 Excel 文件以进行批量预测 🖥️ 交互式 Streamlit Web 界面 # 机器学习模型 算法:Random Forest Classifier 估计器数量:100 训练/测试集划分:80/20 随机种子:42(用于保证可复现性) 输出:二元分类 0 → 安全 1 → 恶意软件 为什么我使用 Random Forest: 我选择 Random Forest 是因为: 它在结构化/表格数据上表现良好 它通过平均多个决策树来减少过拟合 它提供特征重要性得分以增强可解释性 # 特征重要性 该模型还提供了哪些特征对预测影响最大的洞察,有助于提高可解释性和可信度。 示例输出可能包括: API 调用行为 网络访问模式 权限使用情况 文件系统活动 # Web 应用程序 该系统包含一个使用 Streamlit 构建的简单且交互式的 UI。 功能: 上传数据集(CSV 或 Excel) 查看上传的数据 自动预处理输入 运行 ML 模型预测 # 项目结构 AI Malware Detection System/ │ ├── App.py # Streamlit Web 应用程序 ├── TrainModel.py # 模型训练脚本 ├── malware_model.pkl # 保存的已训练模型 ├── Android_Malware.csv # 数据集 └── requirements.txt # 依赖项 # 安装与设置 1. 克隆仓库 git clone https://github.com/yourusername/malware-detection-system.git cd malware-detection-system 2. 安装依赖项 pip install -r requirements.txt 3. 运行 Streamlit 应用程序 streamlit run App.py # 环境要求 Python 3.8+ pandas scikit-learn streamlit joblib # 示例输出 上传文件后,系统将返回: 每个文件的预测结果: 0:安全 1:恶意软件 基于特征的分析(可选增强功能) Web UI 内的数据集预览 # 关键学习点 我的项目展示了: 端到端的机器学习工作流 针对真实世界数据集的数据预处理 模型训练与评估 使用 Streamlit 部署 ML 模型 使用特征重要性的基本可解释性 处理真实世界输入数据问题(schema 不匹配、多余列) # 未来改进 为预测添加置信度得分 部署到 Streamlit Cloud 或 HuggingFace Spaces 添加实时文件扫描 API 通过 dashboard 和图表改进 UI 集成可解释 AI(SHAP 值) # 作者 Emmanuel Ray 计算机科学学生 | 创意与 AI 技术专家 专注于机器学习、机器人技术以及音频/软件系统
标签:Android, Apex, DSL, Kubernetes, Streamlit, 代码示例, 数据分析, 机器学习, 访问控制, 逆向工具, 随机森林