amoheric/ai-anomaly-detection-system

GitHub: amoheric/ai-anomaly-detection-system

基于Isolation Forest算法的端到端异常检测系统,用于识别金融交易等数据中的异常模式。

Stars: 0 | Forks: 0

# AI 异常检测系统 一种机器学习系统,旨在使用 Isolation Forest 算法检测大型数据集中的异常模式。 本项目演示了人工智能如何从运营数据中学习正常行为,并自动识别可能代表欺诈、系统故障或其他异常事件的异常情况。 该模型使用 Python 和 scikit-learn 实现,工作流程包括数据预处理、特征工程、异常检测和可视化。 ## 项目概述 在许多现实世界的系统中,异常行为虽然罕见但至关重要。金融欺诈、网络入侵、制造故障和运营事件通常表现为隐藏在大量正常活动中的异常模式。 本项目演示了如何利用异常检测通过以下方式识别这些罕见事件: - 预处理交易数据 - 为模型输入进行特征工程 - 训练 Isolation Forest 模型 - 检测异常交易 - 可视化可疑行为 ## 问题陈述 传统的基于规则的系统往往难以检测新颖或细微的异常行为。异常检测提供了一种机器学习方法,用于识别异常模式,而无需完全依赖预定义的规则。 本项目的目标是构建一个系统,学习**“正常”行为**的样子,并标记统计上异常的观察结果以供进一步审查。 ## 如何运行 # 1. 克隆仓库 ``` git clone https://github.com/amoheric/ai-anomaly-detection-system.git cd ai-anomaly-detection-system Install dependencies pip install -r requirements.txt Download the dataset from Kaggle and place it in: data/creditcard.csv Run the anomaly detection pipeline python run_detection.py ``` ## 数据集设置 本项目使用 **Credit Card Fraud Detection dataset**,该数据集通常用于异常检测和欺诈分析研究。 典型字段包括: - 交易时间 - 交易金额 - 匿名化主成分 - 欺诈标签 (`Class`) 从以下地址下载数据集: https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud 下载后,将 CSV 文件放置在此处: ``` data/creditcard.csv ``` ## 使用的技术 - Python - pandas - NumPy - scikit-learn - Matplotlib - Jupyter Notebook ## 机器学习方法 本项目使用的主要模型是 **Isolation Forest**。 Isolation Forest 通过随机划分数据并测量单个观察结果被隔离的速度来工作。罕见或异常的点往往比正常点更快被隔离,从而更容易被归类为异常。 ## 项目架构 ``` Data Source ↓ Data Cleaning & Preprocessing ↓ Feature Engineering ↓ Isolation Forest Model ↓ Anomaly Prediction ↓ Visualization & Analysis ``` - 该架构反映了金融服务、网络安全和运营分析中使用的现实世界 AI 监控系统。 ## 项目结构 ``` ai-anomaly-detection-system/ │ ├── data/ │ └── creditcard.csv (Kaggle) │ ├── notebooks/ │ └── anomaly_detection.ipynb │ ├── src/ │ └── anomaly_model.py │ ├── run_detection.py ├── requirements.txt ├── README.md └── LICENSE ``` ## 工作流程 1. 加载并检查交易数据 2. 分离特征和标签 3. 训练 Isolation Forest 模型 4. 预测异常观察结果 5. 评估模型性能 6. 可视化检测到的异常 ## 示例用例 虽然本项目使用金融交易数据,但相同的架构可以应用于许多领域: - 欺诈检测 - 医疗健康监控 - 网络安全异常检测 - 设备故障检测 - 运营风险监控 异常检测系统广泛应用于企业 AI 平台,以自动识别需要调查的异常事件。 ## 结果 本项目演示了**端到端异常检测工作流程**,包括: - 数据预处理 - 特征处理 - 无监督 / 半监督机器学习逻辑 - 异常预测 - 面向业务的结果解读 结果和性能指标将随着模型的持续发展而更新。 该模型识别可能表明欺诈活动或运营异常的异常交易模式。 ## 未来改进 计划的增强功能包括: - 超参数调整 - 额外的异常检测算法 - 使用 **Streamlit** 构建的用于异常探索的交互式仪表板 - 用于实时推理的 **FastAPI** 模型端点 - 实时交易模拟 - 向命令行运行器添加评估指标摘要 - 添加合成样本数据以便于演示设置 - 模型监控、漂移检测和警报 ## 作者 **Eric Amoh Adjei** Atlanta, GA - LinkedIn: https://linkedin.com/in/amoheric - GitHub: https://github.com/amoheric ## 许可证 本项目根据 **MIT License** 授权。
标签:Apex, Kaggle数据集, NoSQL, Python, Scikit-learn, 人工智能, 代码示例, 信用卡欺诈, 反欺诈系统, 孤立森林, 开源安全, 异常检测, 数据分析, 数据预处理, 无后门, 无监督学习, 机器学习, 模式识别, 欺诈检测, 特征工程, 用户模式Hook绕过, 算法实现, 网络安全, 逆向工具, 金融风控, 随机森林, 隐私保护