light-data-engineering

Installation
SKILL.md

数据处理、质量分析与数据集构建

核心原则

数据先行:在 m03 提 idea 之前,先回答四问——数据是否足以支撑研究?质量是否可靠?规模是否足够?特征是否有挖掘价值?避免脱离数据基础的空想。

输入 / 触发

  • 上游(idea 前,主线):用户原始数据 / 现成数据集 / 自建需求 → 出四问结论喂给 m03/m04。
  • 回边(实验阶段,来自 m05):可接收 research-plan 实验矩阵「派生数据规格」区块的派生数据需求(基础数据集 + 变换类型 + 关键参数 + 划分策略),据此产出对应的加噪/缺失/跨域/扫参评测集与 dataset_card,回填 db04 供 ROB/GEN/SEN 实验使用。派生集构建沿用下文「处理流程」「划分」「自建数据集规划」的方法与防泄漏铁律。

数据体检(先做)

  1. 概览:行列、类型、内存、样例。
    • 中小数据 pandas:读入即定 dtype/parse_datesdf.info(memory_usage='deep') 看真实内存,df.isna().mean() 一行得缺失率,df.describe(include='all')。object 列转 category 省内存。
    • 大数据按场景选引擎:单机想要快+查询优化用 Polars 惰性管线 pl.scan_csv(...).filter(...).group_by(...).collect(),超大开 collect(streaming=True);想用 SQL 直查 parquet/csv 且 out-of-core 用 DuckDB(duckdb.sql("SELECT ... FROM 'data/*.parquet'"),超内存自动 spill);想保持 pandas 写法又超内存用 Dask dd.read_csv("*.csv")...compute()。(引擎选型矩阵以 a09 tool-selection decision_matrix.md 为单一口径;旧推荐的 Vaex 2023 后已停维护、勿新用。)
  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 断层,认版本。
    • 标准化交换/发布元数据用 Frictionless:frictionless describe 推断 Table Schema,frictionless validate datapackage.json 出 cell/row 级错误报告。
  3. 质量结论:给出“可直接用 / 需清洗 / 不足以支撑 / 需补采”的明确判断与理由。
Installs
1
Repository
light0305/light
GitHub Stars
79
First Seen
Jun 13, 2026
light-data-engineering — light0305/light