用途:在数据集中识别异常与离群点,适用于分析异常模式、离群值或意外情况。支持 Isolation Forest、One-Class SVM、Local Outlier Factor 及自编码器等统计与机器学习算法,覆盖从数据读取、特征缩放到算法选择、阈值调整和结果解读的完整流程。
前置条件:Python 3.9+,scikit-learn >= 1.3(pip install scikit-learn),pandas 与 NumPy(pip install pandas numpy),matplotlib 或 seaborn(pip install matplotlib seaborn);数据为 CSV、JSON、Parquet 或可查询数据库格式;建议至少 500 个数据点,1000+ 更佳;复杂模式可选 PyTorch 或 TensorFlow 自编码器。
主要步骤:读取数据并校验模式、列类型与行数;用描述性统计剖析特征分布;缺失值用中位数(数值)或众数(类别)填补或删行;用 StandardScaler 或 MinMaxScaler 归一化数值特征;按数据特点选算法(Isolation Forest 适合高维、无分布假设;One-Class SVM 适合正常类明确、决策边界清晰;LOF 适合密度变化、局部异常;自编码器适合复杂时序或图像非线性关系);将 contamination 设为预期异常比例(可从 0.01–0.05 起);训练模型并生成异常评分;按阈值分类为正常(-1)或异常(1);分析被标记点的共同特征、时间聚集或特征相关性;生成含检出数量、评分分布与可视化图的摘要报告。详细实现见 ${CLAUDE_SKILL_DIR}/references/implementation.md。
输出:异常检测摘要(总点数、异常数、污染率)、逐条异常评分与分类标签、算法配置(模型类型、contamination、距离度量、阈值)、特征重要性排名,以及异常评分散点图、分布直方图、t-SNE 聚类图,并可导出含评分与贡献特征的 CSV。
错误处理:数据量不足(少于 100 点)需补充数据或改用 z-score、IQR 等简单统计方法;误报率高可下调 contamination 至 0.01、确认已做缩放并优化特征选择;大数据集内存溢出可抽样训练、使用 max_samples 或流式处理;混合数值与类别特征需分别独热编码与缩放;无真实标签时采用领域专家复核 Top-N 异常并建立反馈回路。详见 ${CLAUDE_SKILL_DIR}/references/errors.md。
示例场景:网络入侵检测(对 5 万条网络流应用 Isolation Forest,预期污染率 2%,标记端口扫描与 DDoS)、制造质量控制(对 1 万次生产周期的传感器读数运行 LOF,检测设备退化)、金融交易监控(在 10 万条正常交易上训练自编码器,以重构误差超过第 99 百分位标记异常)。资源包括 scikit-learn 异常检测、PyOD、Keras/PyTorch 重构误差法、特征缩放选择指南及无标签评估方法。限制:评测需领域专家参与;收费、价格等信息暂未提供。