名称:ai-ml-data-science 描述:“端到端数据科学和机器学习工程工作流程:问题定义、数据/探索性数据分析、特征工程(特征存储)、建模、评估/报告,以及使用SQLMesh的SQL变换。用于数据集探索、特征设计、模型选择、指标和切片分析、模型卡/评估报告、实验可重复性,以及生产交接(监控和重训练)。”
数据科学工程套件 - 快速参考
这个技能将原始数据和问题转化为已验证、有文档的模型,准备用于生产:
- 探索性数据分析工作流程:结构化探索,带漂移检测
- 特征工程:可重复的特征管道,防泄漏和训练/服务一致性
- 模型选择:首先基准模型;强表格默认值;仅在合理情况下增加复杂性
- 评估与报告:切片分析、不确定性、模型卡、生产指标
- SQL变换:使用SQLMesh进行暂存/中间/集市层
- MLOps:持续集成/持续部署、持续训练、持续监控
- 生产模式:数据合同、血统、反馈循环、流式特征
现代重点(2026年): 特征存储、自动化重训练、漂移监控(Evidently)、训练-服务一致性,以及代理ML循环(计划 -> 执行 -> 评估 -> 改进)。工具:LightGBM、CatBoost、scikit-learn、PyTorch、Polars(用于大于内存数据集的惰性评估)、lakeFS用于数据版本控制。
快速参考
| 任务 | 工具/框架 | 命令 | 使用时机 |
|---|---|---|---|
| 探索性数据分析与剖析 | Pandas、Great Expectations | df.describe()、ge.validate() |
初始数据探索和质量检查 |
| 特征工程 | Pandas、Polars、特征存储 | df.transform()、Feast物化 |
创建滞后、滚动、分类特征 |
| 模型训练 | 梯度提升、线性模型、scikit-learn | lgb.train()、model.fit() |
表格机器学习的强基准 |
| 超参数调优 | Optuna、Ray Tune | optuna.create_study()、tune.run() |
优化模型参数 |
| SQL变换 | SQLMesh | sqlmesh plan、sqlmesh run |
构建暂存/中间/集市层 |
| 实验跟踪 | MLflow、W&B | mlflow.log_metric()、wandb.log() |
版本控制实验和模型 |
| 模型评估 | scikit-learn、自定义指标 | metrics.roc_auc_score()、切片分析 |
验证模型性能 |
数据湖与湖仓
有关全面数据湖/湖仓模式(超出SQLMesh变换),请参阅**data-lake-platform**:
- 表格式: Apache Iceberg、Delta Lake、Apache Hudi
- 查询引擎: ClickHouse、DuckDB、Apache Doris、StarRocks
- 替代变换: dbt(替代SQLMesh)
- 摄取: dlt、Airbyte(连接器)
- 流式处理: Apache Kafka模式
- 编排: Dagster、Airflow
此技能专注于机器学习特征工程和建模。使用data-lake-platform进行通用数据基础设施。
相关技能
对于相邻主题,参考:
- ai-mlops - API、批处理作业、监控、漂移、数据摄取(dlt)
- ai-llm - LLM提示、微调、评估
- ai-rag - RAG管道、分块、检索
- ai-llm-inference - LLM推理优化、量化
- ai-ml-timeseries - 时间序列预测、回测
- qa-testing-strategy - 测试驱动开发、覆盖率
- data-sql-optimization - SQL优化、索引模式(补充SQLMesh)
- data-lake-platform - 数据湖/湖仓基础设施(ClickHouse、Iceberg、Kafka)
决策树:选择数据科学方法
用户需要ML用于:[问题类型]
- 表格数据?
- 小中型(<100万行)? -> LightGBM(快速、高效)
- 大型复杂(>100万行)? -> LightGBM优先,然后根据需要NN
- 高维稀疏(文本、计数)? -> 线性模型,然后浅层NN
- 时间序列?
- 季节性? -> LightGBM,然后参见ai-ml-timeseries
- 长期依赖? -> 变换器(参见ai-ml-timeseries)
- 文本或混合模态?
- LLMs/变换器 -> 参见ai-llm
- SQL变换?
- SQLMesh(暂存/中间/集市层)
经验法则: 对于表格数据,基于树的梯度提升是强基准,但必须针对替代方案和约束进行验证。
核心概念(供应商无关)
- 问题定义: 在建模前定义成功指标、基准和决策阈值。
- 防泄漏: 确保所有特征在预测时可用;在适当时按时间/组拆分。
- 不确定性: 报告置信区间和稳定性(折叠方差、引导法),而非单点指标。
- 可重复性: 版本代码/数据/特征,固定种子,记录环境。
- 操作交接: 与MLOps定义监控、重训练触发器和回滚标准。
实施实践(工具示例)
- 跟踪实验和构件(运行ID、提交哈希、数据版本)。
- 在管道中添加数据验证门(模式 + 分布 + 新鲜度)。
- 优先选择可重复、可测试的特征代码(共享变换、时间点正确性)。
- 使用数据表/模型卡和评估报告作为部署先决条件(数据集数据表:https://arxiv.org/abs/1803.09010;模型卡:https://arxiv.org/abs/1810.03993)。
做 / 避免
做
- 先从基准和简单模型开始,以早期暴露泄漏和数据问题。
- 运行切片分析并在推荐部署前记录失败模式。
- 保持不可变的评估集;在不污染评估的情况下刷新训练数据。
避免
- 避免对时间或用户相关数据进行随机拆分。
- 避免“指标博弈”(优化数字而不验证业务影响)。
- 避免在预测时间戳后创建的标签上训练(无声的未来泄漏)。
核心模式(概述)
模式1:端到端数据科学项目生命周期
使用时机: 启动或重组任何数据科学/机器学习项目。
阶段:
- 问题定义 - 业务目标、成功指标、基准
- 数据与可行性 - 来源、覆盖范围、粒度、标签质量
- 探索性数据分析与数据质量 - 模式、缺失值、异常值、泄漏检查
- 特征工程 - 按数据类型与特征存储集成
- 建模 - 首先基准模型,然后LightGBM,然后根据需要增加复杂性
- 评估 - 离线指标、切片分析、错误分析
- 报告 - 模型评估报告 + 模型卡
- MLOps - 持续集成/持续部署、持续训练、持续监控
详细指南: 探索性数据分析最佳实践
模式2:特征工程
使用时机: 在建模前或模型改进期间设计特征。
按数据类型:
- 数值: 标准化、处理异常值、转换偏斜、缩放
- 分类: 独热/序数编码(低基数)、目标/频率/哈希编码(高基数)
- 特征存储集成: 集中存储编码器、映射、统计
- 文本: 清理、TF-IDF、嵌入、简单统计
- 时间: 日历特征、最近性、滚动/滞后特征
关键现代实践: 使用特征存储(Feast、Tecton、Databricks)进行版本控制、共享和训练-服务一致性。
详细指南: 特征工程模式
模式3:数据合同与血统
使用时机: 构建具有数据质量要求的生产ML系统。
组件:
- 合同: 模式 + 范围/可空性 + 新鲜度服务水平协议
- 血统: 跟踪来源 -> 特征存储 -> 训练 -> 服务
- 特征存储卫生: 物化节奏、回填/重放、编码器版本控制
- 模式演进: 向后/向前兼容迁移与影子运行
详细指南: 数据合同与血统
模式4:模型选择与训练
使用时机: 选择模型家族并开始实验。
决策指南(现代基准):
- 表格: 从强基准开始(线性/逻辑回归,然后梯度提升),并根据错误分析迭代
- 基准: 始终首先实施简单基准(多数类、均值、朴素预测)
- 训练/验证/测试拆分: 基于时间(预测)、基于组(用户/物品泄漏)或随机(独立同分布)
- 超参数调优: 先手动,然后贝叶斯优化(Optuna、Ray Tune)
- 过拟合控制: 正则化、早停、交叉验证
详细指南: 建模模式
模式5:评估与报告
使用时机: 最终确定模型候选或移交生产。
关键组件:
- 指标选择: 主要(ROC-AUC、PR-AUC、均方根误差) + 护栏(校准、公平性)
- 阈值选择: ROC/PR曲线、成本敏感、F1最大化
- 切片分析: 按地理、用户细分、产品类别的性能
- 错误分析: 收集高错误示例,按错误类型聚类,识别系统性失败
- 不确定性: 置信区间(适当时引导法)、折叠间方差和稳定性检查
- 评估报告: 8部分报告(目标、数据、特征、模型、指标、切片、风险、推荐)
- 模型卡: 面向利益相关者的文档(预期用途、数据、性能、伦理、操作)
详细指南: 评估模式
模式6:可重复性与MLOps
使用时机: 确保实验可重复且生产就绪。
现代MLOps(持续集成/持续部署/持续训练/持续监控):
- 持续集成: 自动化测试、数据验证、代码质量
- 持续交付: 环境特定推广(开发 -> 暂存 -> 生产)、金丝雀部署
- 持续训练: 漂移触发和计划重训练
- 持续监控: 实时数据漂移、性能、系统健康
版本控制:
- 代码(git提交)、数据(DVC、LakeFS)、特征(特征存储)、模型(MLflow注册表)
- 种子(可重复性)、超参数(实验跟踪器)
详细指南: 可重复性检查清单
模式7:特征新鲜度与流式处理
使用时机: 管理实时特征和流式管道。
组件:
- 新鲜度合同: 按特征定义新鲜度服务水平协议,监控延迟,违反时告警
- 批处理 + 流式处理一致性: 批处理/流式处理间相同特征逻辑,幂等更新
- 模式演进: 版本模式,添加向前/向后兼容解析器,回滚回填
- 数据质量门: 个人可识别信息/格式检查、范围检查、分布漂移(Kullback-Leibler散度、Kolmogorov-Smirnov检验、PSI)
详细指南: 特征新鲜度与流式处理
模式8:生产反馈循环
使用时机: 捕获生产信号并实施持续改进。
组件:
- 信号捕获: 记录预测 + 用户编辑/接受/放弃(去除个人可识别信息)
- 标签: 路由失败/边缘案例到人工审核,创建平衡集
- 数据集刷新: 定期刷新(每周/每月)带血统,保护评估集
- 在线评估: 影子/金丝雀新模型,跟踪解决率、校准、成本、延迟
详细指南: 生产反馈循环
资源(详细指南)
有关全面操作模式和检查清单,请参阅:
- 探索性数据分析最佳实践 - 探索性数据分析的结构化工作流程
- 特征工程模式 - 按数据类型的操作模式
- 数据合同与血统 - 数据质量、版本控制、特征存储操作
- 建模模式 - 模型选择、超参数调优、训练/测试拆分
- 评估模式 - 指标、切片分析、评估报告、模型卡
- 可重复性检查清单 - 实验跟踪、MLOps(持续集成/持续部署/持续训练/持续监控)
- 特征新鲜度与流式处理 - 实时特征、模式演进
- 生产反馈循环 - 在线学习、标签、金丝雀部署
模板
使用这些作为复制粘贴起点:
项目与工作流程模板
- 标准数据科学项目模板:
assets/project/template-standard.md - 快速数据科学实验模板:
assets/project/template-quick.md
特征工程与探索性数据分析
- 特征工程模板:
assets/features/template-feature-engineering.md - 探索性数据分析检查清单与笔记本模板:
assets/eda/template-eda.md
评估与报告
- 模型评估报告:
assets/evaluation/template-evaluation-report.md - 模型卡:
assets/evaluation/template-model-card.md - 机器学习实验评审:
assets/review/experiment-review-template.md
SQL变换(SQLMesh)
对于基于SQL的数据变换和特征工程:
- SQLMesh项目设置:
../data-lake-platform/assets/transformation/sqlmesh/template-sqlmesh-project.md - SQLMesh模型类型:
../data-lake-platform/assets/transformation/sqlmesh/template-sqlmesh-model.md(FULL、INCREMENTAL、VIEW) - 增量模型:
../data-lake-platform/assets/transformation/sqlmesh/template-sqlmesh-incremental.md - 有向无环图与依赖:
../data-lake-platform/assets/transformation/sqlmesh/template-sqlmesh-dag.md - 测试与数据质量:
../data-lake-platform/assets/transformation/sqlmesh/template-sqlmesh-testing.md
使用SQLMesh时机:
- 构建基于SQL的特征管道
- 管理增量数据变换
- 创建暂存/中间/集市层
- 用单元测试和审计测试SQL逻辑
对于数据摄取(加载原始数据),使用:
- ai-mlops 技能(dlt模板用于REST API、数据库、数据仓库)
导航
资源
- references/reproducibility-checklist.md
- references/evaluation-patterns.md
- references/feature-engineering-patterns.md
- references/modelling-patterns.md
- references/feature-freshness-streaming.md
- references/eda-best-practices.md
- references/data-contracts-lineage.md
- references/production-feedback-loops.md
模板
- assets/project/template-standard.md
- assets/project/template-quick.md
- assets/features/template-feature-engineering.md
- assets/eda/template-eda.md
- assets/evaluation/template-evaluation-report.md
- assets/evaluation/template-model-card.md
- assets/review/experiment-review-template.md
- template-sqlmesh-project.md
- template-sqlmesh-model.md
- template-sqlmesh-incremental.md
- template-sqlmesh-dag.md
- template-sqlmesh-testing.md
数据
- data/sources.json - 精选外部参考
外部资源
参见data/sources.json获取精选基础和实施参考:
- 核心机器学习/深度学习: scikit-learn、XGBoost、LightGBM、PyTorch、TensorFlow、JAX
- 数据处理: pandas、NumPy、Polars、DuckDB、Spark、Dask
- SQL变换: SQLMesh、dbt(暂存/集市/增量模式)
- 特征存储: Feast、Tecton、Databricks特征存储(集中特征管理)
- 数据验证: Pydantic、Great Expectations、Pandera、Evidently(质量 + 漂移)
- 可视化: Matplotlib、Seaborn、Plotly、Streamlit、Dash
- MLOps: MLflow、W&B、DVC、Neptune(实验跟踪 + 模型注册表)
- 超参数调优: Optuna、Ray Tune、Hyperopt
- 模型服务: BentoML、FastAPI、TorchServe、Seldon、Ray Serve
- 编排: Kubeflow、Metaflow、Prefect、Airflow、ZenML
- 云平台: AWS SageMaker、Google Vertex AI、Azure ML、Databricks、Snowflake
使用此技能来端到端执行数据科学项目:具体检查清单、模式和模板,而非理论。