light-data-engineeringlisted
Install: claude install-skill Light0305/Light-skills
# 数据处理、质量分析与数据集构建
## 核心原则
**数据先行**:在 m03 提 idea 之前,先回答四问——数据是否足以支撑研究?质量是否可靠?规模是否足够?特征是否有挖掘价值?避免脱离数据基础的空想。
## 输入 / 触发
- **上游(idea 前,主线)**:用户原始数据 / 现成数据集 / 自建需求 → 出四问结论喂给 m03/m04。
- **回边(实验阶段,来自 m05)**:可接收 research-plan 实验矩阵「派生数据规格」区块的派生数据需求(基础数据集 + 变换类型 + 关键参数 + 划分策略),据此产出对应的**加噪/缺失/跨域/扫参**评测集与 dataset_card,回填 db04 供 ROB/GEN/SEN 实验使用。派生集构建沿用下文「处理流程」「划分」「自建数据集规划」的方法与防泄漏铁律。
## 数据体检(先做)
1. 概览:行列、类型、内存、样例。
- 中小数据 pandas:读入即定 `dtype`/`parse_dates`,`df.info(memory_usage='deep')` 看真实内存,`df.isna().mean()` 一行得缺失率,`df.describe(include='all')`。object 列转 `category` 省内存。
- 大数据按场景选引擎:单机想要快+查询优化用 Polars 惰性管线 `pl.scan_csv(...).filter(...).group_by(...).collect()`,超大开 `collect(streaming=True)`;想保持 pandas 写法又超内存用 Dask `dd.read_csv("*.csv")...compute()`;单机亿级表做聚合/扫描用 Vaex(先转 HDF5/Arrow,`vaex.open` 内存映射 + 虚拟列零内存)。
2. 质量画像:按需各取所长,别只跑一个。
- ydata-profiling 出整体 EDA 报告:`ProfileReport(df, title=...).to_file("r.html")`;列多/行多务必 `minimal=True`,时序 `tsmode=True`;对比清洗前后/train-test 用 `r1.compare(r2)`。看报告 Alerts(高相关、高基数、常量、缺失)。
- Deepchecks 跑结构化校验套件:`Dataset(df, label=, cat_features=[...])` 后 `data_integrity().run(ds)`(重复/混合类型/特征-标签泄漏/异常值)、`train_test_validation().run(train_ds, test_ds)`(漂移/新类别/train-test 样本重叠泄漏)。
- Great Expectations 做可复现质量门禁:`gx.get_context()` → Data Source/Asset/Batch → Expectation Suite(`ExpectColumnValuesToNotBeNull`/`ToBeBetween`/`ToBeInSet`/`ToBeUnique`/`ToMatchRegex`)→ Validation Definition → Checkpoint,产出 Data Docs。注意 GX 1.x 与 0.x API 断层,认版本。
- 标准化交换/发布元数据用 Frictio