mcpField
M
machine-learning

machine-learning

github.com/89jobrien数据与数据库461 次安装9 周前更新
代码仓库

关于 machine-learning

Machine Learning 是一份覆盖机器学习全生命周期的技能指南,面向构建和维护 ML 项目的从业者。内容从数据准备、特征工程和模型训练延伸到部署、监控及 MLOps 实践,并提供按需参考文件。

主要功能

  1. 01问题定义与评估指标选择
  2. 02数据质量检查和特征工程
  3. 03模型选择、训练与超参数调优
  4. 04模型评估和类别不平衡处理
  5. 05生产部署及模型服务模式
  6. 06实验追踪、版本管理与监控

适用场景

  1. 01规划分类、回归或聚类项目流程
  2. 02准备特征并选择数据切分策略
  3. 03比较模型并检查过拟合或误差
  4. 04部署模型并监测数据漂移与性能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/89jobrien/steve --skill machine-learning

安装后在 Claude Code 中输入/machine-learning确认已加载。

附带文件references/preprocessing.md

详细介绍

机器学习

涵盖机器学习完整生命周期的全面技能,从实验到生产部署。

何时使用此技能

  • 构建机器学习流水线
  • 特征工程和数据预处理
  • 模型训练、评估和选择
  • 超参数调优和优化
  • 模型部署和服务
  • ML 实验跟踪和版本管理
  • 生产环境中的 ML 监控和维护

ML 开发生命周期

1. 问题定义

分类类型:

  • 二元分类(垃圾邮件/非垃圾邮件)
  • 多分类(图像类别)
  • 多标签分类(文档标签)
  • 回归(价格预测)
  • 聚类(客户细分)
  • 排序(搜索结果)
  • 异常检测(欺诈检测)

按问题类型划分的成功指标:

问题类型主要指标次要指标
二元分类AUC-ROC、F1Precision、Recall、PR-AUC
多分类Macro F1、Accuracy各类别指标
回归RMSE、MAER²、MAPE
排序NDCG、MAPMRR
聚类Silhouette、Calinski-HarabaszDavies-Bouldin
2. 数据准备

数据质量检查:

  • 缺失值分析和填补策略
  • 异常值检测和处理
  • 数据类型验证
  • 分布分析
  • 目标泄漏检测

特征工程模式:

  • 数值型:缩放、分箱、对数变换、多项式特征
  • 分类型:独热编码、目标编码、频率编码、嵌入
  • 时间型:滞后特征、滚动统计量、周期性编码
  • 文本:TF-IDF、词嵌入、Transformer 嵌入
  • 地理空间:距离特征、聚类、网格编码

训练集/测试集拆分策略:

  • 随机拆分(标准)
  • 分层拆分(类别不平衡时)
  • 基于时间的拆分(时间序列数据)
  • 分组拆分(防止数据泄漏)
  • K 折交叉验证
3. 模型选择

算法选择指南:

数据规模问题推荐模型
小型(<10K)分类Logistic Regression、SVM、Random Forest
小型(<10K)回归Linear Regression、Ridge、SVR
中型(10K-1M)分类XGBoost、LightGBM、Neural Networks
中型(10K-1M)回归XGBoost、LightGBM、Neural Networks
大型(>1M)任意Deep Learning、分布式训练
表格数据任意Gradient Boosting(XGBoost、LightGBM、CatBoost)
图像分类CNN、ResNet、EfficientNet、Vision Transformers
文本NLPTransformers(BERT、RoBERTa、GPT)
序列数据时间序列LSTM、Transformer、Prophet
4. 模型训练

超参数调优:

  • 网格搜索:穷举搜索,适用于较小的搜索空间
  • 随机搜索:效率高,适用于较大的搜索空间
  • 贝叶斯优化:智能探索(Optuna、Hyperopt)
  • 提前停止:防止过拟合

常见超参数:

模型关键参数
XGBoostlearning_rate、max_depth、n_estimators、subsample
LightGBMnum_leaves、learning_rate、n_estimators、feature_fraction
Random Forestn_estimators、max_depth、min_samples_split
Neural Networkslearning_rate、batch_size、layers、dropout
5. 模型评估

评估最佳实践:

  • 最终评估始终使用留出的测试集
  • 开发过程中使用交叉验证
  • 检查是否过拟合(训练集与验证集之间的差距)
  • 使用多个指标进行评估
  • 定性分析错误

处理不平衡数据:

  • 重采样:SMOTE、欠采样
  • 类别权重:加权损失函数
  • 阈值调优:优化决策阈值
  • 评估:优先使用 PR-AUC,而非 ROC-AUC
6. 生产部署

模型服务模式:

  • REST API(Flask、FastAPI、TF Serving)
  • 批量推理(计划任务)
  • 流式处理(实时预测)
  • 边缘部署(移动设备、IoT)

生产环境注意事项:

  • 延迟要求(p50、p95、p99)
  • 吞吐量(每秒请求数)
  • 模型大小和内存占用
  • 回退策略
  • A/B 测试框架
7. 监控与维护

监控内容:

  • 预测延迟
  • 输入特征分布(数据漂移)
  • 预测分布(概念漂移)
  • 模型性能指标
  • 错误率和错误类型

重新训练触发条件:

  • 性能降至阈值以下
  • 检测到显著的数据漂移
  • 按计划重新训练(每天、每周)
  • 有新的训练数据可用

MLOps 最佳实践

实验跟踪

为每次实验跟踪以下内容:

  • 代码版本(git 提交)
  • 数据版本(哈希值或版本 ID)
  • 超参数
  • 指标(训练、验证、测试)
  • 模型工件
  • 环境(软件包、版本)
模型版本控制
models/
├── model_v1.0.0/
│   ├── model.pkl
│   ├── metadata.json
│   ├── requirements.txt
│   └── metrics.json
├── model_v1.1.0/
└── model_v2.0.0/
ML 的 CI/CD
  1. 持续集成:

    • 数据验证测试
    • 模型训练测试
    • 性能回归测试
  2. 持续部署:

    • 暂存环境验证
    • 影子模式测试
    • 渐进式发布(金丝雀)
    • 自动回滚

参考文件

如需详细模式和代码示例,请按需加载参考文件:

  • references/preprocessing.md - 数据预处理模式和特征工程技术
  • references/model_patterns.md - 模型架构模式和实现示例
  • references/evaluation.md - 全面的评估策略和指标

与其他技能集成

  • performance - 用于优化推理延迟
  • testing - 用于 ML 专项测试模式
  • database-optimization - 用于特征存储查询
  • debugging - 用于模型调试和错误分析

评论

支持 Markdown