探索性数据分析
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/cn-exploratory-data-analysis。
技能介绍
建模之前,数据里到底有什么
特征工程和模型调参之前,团队往往凭假设对待表格数据:列类型「看起来对」、缺失「应该不多」、目标分布「大概均衡」。等到训练集泄漏或某列全是常量时,才发现 EDA 被跳过。本技能把探索性数据分析写成 Agent 可执行的固定流程,用可核对的事实(形状、缺失率、相关矩阵、离群值计数)替代口头描述。
技能如何推进一次 EDA
Agent 按六步工作流处理你提供的数据集路径(可指定目标列、类别展示上限、是否生成 HTML 报告):
- 结构与抽样预览:行/列规模、 dtypes、内存;
head/tail各 5 行,抓表头错位、尾部脏行。 - 质量记分卡:空值绝对值与占比;零方差列、高基数类别列、混合类型列;重复行统计。
- 单变量分布:数值列的均值、中位数、偏度、峰度与直方图/KDE;类别列 Top-N 频次;标记严重不平衡目标。
- 变量关系:数值相关矩阵与热力图;类别—数值用箱线/小提琴;类别—类别用列联表;突出 |r| > 0.7 的配对。
- 离群与异常:数值列 IQR 离群比例与箱线图;多列同时为离群值的行单独标注。
- EDA 报告:汇总概览、质量问题、分布要点、显著相关、离群摘要及后续建议(删列、变换、候选特征)。
底层依赖 pandas 做加载与统计,matplotlib/seaborn 做图,可选 ydata-profiling 生成自动化 HTML,scipy.stats 辅助分布检验。
适用边界与注意点
- 宽表(数百列):避免逐列手动画图,优先自动化 profiling,并用相关阈值只保留强相关对。
- 极不平衡目标:在报告中显式写出正类占比,并提示分层抽样或再平衡。
- 全空/零方差列:流程中建议丢弃并记入发现;类数值字符串(>90% 可解析为数字)建议先类型转换再统计。
- 无时区 datetime:多地区数据时标记,避免静默聚合错误。
- 建模前检查数据泄漏:与目标近乎完美相关的特征可能是未来信息;分布要看图,均值/标准差相同的分布形态可能完全不同。
使用场景
- 业务方刚交付一份 CSV,你在建模或写分析报告前,需要系统核对行数、缺失率、类别分布与数值相关性。
- 特征工程尚未开始,你要先筛掉零方差列、标记高基数字段,并检查是否存在与目标近乎完美相关的泄漏列。
- 主清洗逻辑(去重、填缺失、类型转换)已改完,你要对同一文件重跑 EDA,确认分布与缺失是否达到预期。
- 宽表有数百列,手工逐列画图不现实,需要自动化 profiling 报告并只突出 |r| 较高的变量对。
适合人员
- 要把业务导出的 Excel/CSV 整理成可建模表格、且必须先验收缺失与目标分布的数据分析师。
- 上线预测模型前负责数据验收的机器学习工程师,需要可发给同事的图文 EDA 摘要或 HTML 报告。
- 接手遗留或第三方数据集、在写 SQL 聚合或报表前要先摸清列类型与脏行情况的数仓或后端开发。
- 需要向业务方解释「某列为何不能入模」并留下可审查推理过程的数据科学或分析顾问。