外观
数据集与工具档案
本文是《机器学习手册》的工具箱页:在哪里找数据、用什么工具标注、用什么库建模、如何版本化与工程化,以及"下一个练习该选哪个数据集"。
数据是机器学习的起点,也是上限——特征质量决定模型上限,而特征来自数据本身。站内的术语表教你看懂概念,本页负责告诉你"手边该有什么工具、该去哪里取数"。建议与数据与数据工程、特征工程两篇文章配合阅读。
使用方法
本章节式速查。做练习时先翻「数据集速查表」选数据,再按「获取渠道」下载,用「常用库工具箱」里的库建模;数据多了以后,用「数据工程工具」管版本、管质量、管上线。
数据集速查表
以下数据全部真实存在,规模与用途均以官方描述为准。表内"获取方式"列给出官方出处;标注 ⭐ 的表示该数据集还内置在 scikit-learn / Hugging Face 中,一条 import 或一行 load_dataset 即可加载。
分类任务
| 数据集 | 规模与结构 | 典型用途 | 获取方式 |
|---|---|---|---|
| Iris 鸢尾花 ⭐ | 150 样本、4 特征、3 类(setosa/versicolor/virginica) | 入门二分类/多分类、KNN、逻辑回归教学 | scikit-learn load_iris();UCI |
| Titanic 泰坦尼克 | 891 条训练记录、约 12 个特征(含缺失) | 入门二分类 + 特征工程全流程练习 | Kaggle 竞赛 |
| Adult 人口普查收入 ⭐ | 48,842 样本、14 特征 | 收入二分类、类别不平衡、公平性研究 | UCI;OpenML ID 1590 |
| 威斯康星乳腺癌 ⭐ | 569 样本、30 特征 | 二分类入门、模型对比 | scikit-learn load_breast_cancer();UCI |
| Wine Quality 红酒品质 | 红 1,599 + 白 4,898 样本、11 化学特征 | 多分类 / 回归双重练习 | UCI |
| Credit Card Fraud 信用卡欺诈 | 284,807 笔交易、仅 492 笔欺诈(0.17%) | 极度不平衡分类、代价敏感学习 | Kaggle 数据集 |
| Heart Disease 心脏病 | 303 样本、14 特征 | 小样本二分类、交叉验证实践 | UCI |
回归任务
| 数据集 | 规模与结构 | 典型用途 | 获取方式 |
|---|---|---|---|
| California Housing 加州房价 ⭐ | 20,640 样本、8 特征 | 回归入门、线性模型教学 | scikit-learn fetch_california_housing() |
| House Prices(Kaggle 房价) | 1,460 训练样本、79 个特征 | 真实房价回归、特征工程大赛 | Kaggle 竞赛 |
| Boston Housing 波士顿房价 | 506 样本、13 特征 | 经典回归教学(有历史争议,scikit-learn 已移除,用 OpenML 版) | OpenML ID 531 |
| Medical Cost 医疗费用 | 1,338 样本、7 特征 | 保险费用预测、类别特征编码 | Kaggle 数据集 |
波士顿房价的教训
Boston Housing 因包含与房价强相关的"非裔人口比例"特征、且数据年代久远,已被 scikit-learn 1.2 移除,学术社区普遍建议用 California Housing 替代。它提醒我们:数据集的伦理与时效问题,本身就是数据工程的一部分。
图像任务
| 数据集 | 规模与结构 | 典型用途 | 获取方式 |
|---|---|---|---|
| MNIST 手写数字 ⭐ | 70,000 张 28×28 灰度图、10 类 | 视觉入门、"Hello World" | 原始出处;Kaggle、Hugging Face |
| Fashion-MNIST ⭐ | 70,000 张 28×28 灰度图、10 类服饰 | MNIST 的更难替代品 | GitHub;Hugging Face |
| CIFAR-10 / CIFAR-100 | 各 60,000 张 32×32 彩色图(10 类 / 100 类) | CNN 入门、数据增强练习 | 官方页;Hugging Face |
| SVHN 街景门牌号 | 超过 60 万张 32×32 彩色数字图 | 真实场景 OCR、迁移学习 | Stanford UFLDL |
| Oxford-IIIT Pets 宠物 | 7,349 张图、37 个品种 | 小数据图像分类 / 分割练习 | VGG 官方页 |
| ImageNet(ILSVRC 子集) | 约 128 万张训练图、1,000 类 | 大规模预训练与模型基准 | 官方站 |
| COCO 通用物体上下文 | 约 33 万张标注图像、80 个物体类、150 万实例 | 检测、分割、关键点、图像字幕 | 官方站 |
文本与 NLP
| 数据集 | 规模与结构 | 典型用途 | 获取方式 |
|---|---|---|---|
| IMDB 影评 ⭐ | 50,000 条(25k 训练 / 25k 测试),二分类情感 | 情感分析入门、词嵌入 | Stanford 官方;Hugging Face |
| SST-2(GLUE 子任务) ⭐ | 67,349 条训练句子 | 句子级情感二分类、BERT 评测 | GLUE 基准;Hugging Face |
| AG News 新闻 ⭐ | 约 12 万训练条、4 个主题类 | 文本分类、baseline 对比 | Hugging Face |
| SQuAD 抽取式问答 | 2.0 版约 15 万个问题、5 万篇维基文章 | 抽取式阅读理解、BERT 微调 | SQuAD 官方;Hugging Face |
| GLUE / SuperGLUE 基准 | 多任务合集(含语言可接受性、蕴含、指代消解等) | 预训练模型通用评测 | GLUE / SuperGLUE |
| THUCNews 中文新闻 | 74 万条中文新闻、14 个主题类 | 中文文本分类 | GitHub 镜像;Hugging Face |
推荐系统
| 数据集 | 规模与结构 | 典型用途 | 获取方式 |
|---|---|---|---|
| MovieLens | 100K / 1M / 25M 三个规模档位 | 协同过滤、矩阵分解教学标配 | GroupLens 官方 |
| Netflix Prize | 1 亿条评分(原始数据已停发,用镜像) | 推荐比赛历史标杆 | Kaggle 镜像 |
| Amazon Reviews 亚马逊评论 | 超过 2.3 亿条评论、多领域切分 | 基于评论的推荐、隐式反馈 | UCSD 官方 |
| Last.fm 听歌记录 | 用户-曲目隐式交互 | 隐式反馈推荐、图方法 | GroupLens 页面 |
时间序列
| 数据集 | 规模与结构 | 典型用途 | 获取方式 |
|---|---|---|---|
| Air Passengers 航空乘客 | 1949–1960 共 144 个月度观测 | 时序入门、ARIMA / 朴素基线 | 内置 R datasets 包 / statsmodels |
| ETTh1/ETTh2 变压器温度 | 2 年、每 15 分钟 / 每小时、7 个变量 | 长序列预测、Transformer 时序基准 | ETDataset GitHub |
| Jena Climate 耶拿气候 | 2003 年起逐 10 分钟、14 个气象变量 | 多变量时序、LSTM/Transformer 示例 | Keras 示例页;Kaggle 镜像 |
| M5 Forecasting | 沃尔玛 30,490 个商品的历史销售 | 多层级销售预测竞赛 | Kaggle 竞赛 |
| 股票行情(Yahoo Finance) | 任意标的的历史 OHLCV 行情 | 金融时序(注意:用于练习而非交易) | yfinance 拉取 |
时序数据的"最后一公里"
时序数据自带时间顺序,不能随机打乱,切分必须用 TimeSeriesSplit。拿航空乘客练手时,先做"上一期值"这样的朴素基线,任何模型都要先打过它再谈价值。
数据集获取渠道
| 渠道 | 地址 | 特点 | 适合场景 |
|---|---|---|---|
| Kaggle | kaggle.com | 竞赛 + 数据集 + Notebook 一体化;社区活跃、题解丰富 | 竞赛刷题、真实业务数据、练"比赛心态" |
| Hugging Face Datasets | huggingface.co/datasets | 一行 load_dataset() 加载;与 Transformers 无缝衔接;托管社区数据集 | NLP/CV 模型微调、快速原型 |
| UCI ML Repository | archive.ics.uci.edu | 最老牌的教学数据仓库,600+ 经典数据集 | 教学经典(Iris、Adult、Wine 等) |
| Papers with Code | paperswithcode.com | 论文 + 代码 + 基准成绩绑定,数据集页有各 SOTA 榜单 | 复现论文、了解某任务当前最好成绩 |
| OpenML | openml.org | 数据集带稳定 ID 与元数据、可直接与 scikit-learn 打通 | 可复现实验、研究基准 |
| Google Dataset Search | datasetsearch.research.google.com | 全网数据集搜索引擎 | 找冷门 / 领域特定数据 |
| Awesome Public Datasets | GitHub | 按领域分类整理的开源数据清单 | 按行业(金融、医疗、地理…)漫游找灵感 |
在 Kaggle 上取数的正确姿势
Kaggle 上除了官方竞赛数据,还有大量个人上传的数据集。判断质量看三点:用途是否说明清楚、最近是否有人更新、notebook 里是否有验证脚本。热门竞赛题(Titanic、House Prices)自带官方评价指标与 leaderboard,是最适合练手的"带答案的题"。
标注与合成工具
监督学习离不开标签,而人工标注贵且慢。工具分三类:人工标注平台、弱监督/自动纠错、合成数据生成。
人工标注
| 工具 | 地址 | 一句话简介 |
|---|---|---|
| Label Studio | labelstud.io | 开源标注平台,图像/文本/音频/视频/时序全覆盖,支持多人协作与机器学习辅助标注,个人练手首选 |
| Labelbox | labelbox.com | 企业级标注与数据管理平台,CV 场景成熟 |
| Prodigy | prodi.gy | Explosion 出品的可编程标注工具,与 spaCy/Transformers 深度集成,适合 NLP 主动学习 |
| Scale AI | scale.com | 商业众包标注服务,自动驾驶等大规模数据常见 |
| AWS SageMaker Ground Truth | 官方页 | 云上托管标注,可内置人审 + 自动标注流程 |
弱监督与标签纠错
| 工具 | 地址 | 一句话简介 |
|---|---|---|
| Snorkel | snorkel.org | 程序化弱监督框架:把"标注规则"写成函数,自动融合出带噪声的训练标签 |
| Cleanlab | cleanlab.ai | 用置信学习自动发现并修正数据集中的标签错误 |
| Argilla | argilla.io | 面向 LLM 时代的开源数据标注与反馈工具,可对模型预测做"审核标注" |
合成数据
| 工具 | 地址 | 一句话简介 |
|---|---|---|
| SDV(Synthetic Data Vault) | docs.sdv.dev | 用生成模型从真实数据合成新数据,保分布、保隐私 |
| Faker | faker.readthedocs.io | 生成"看起来真实"的人名/地址/邮箱等假数据,做表格/测试数据极方便 |
| Mimesis | mimesis.name | Faker 的高性能替代,支持多语言 |
| scikit-learn 合成器 | 官方文档 | make_classification / make_regression / make_blobs,一行生成指定形状与难度的数据,算法教学神器 |
什么数据不该靠合成
合成数据永远无法替代真实数据里的"不规律"——缺失、脏值、长尾、隐藏偏差恰恰是真实世界数据最有价值的部分。合成数据适合:隐私受限场景、补足长尾类别、测试代码正确性。学特征工程,请务必用真实数据(详见特征工程)。
常用库工具箱
按使用频率从高到低,每类一句"什么时候用它"。
数据处理与可视化
- NumPy——Python 数值计算的地基,多维数组与向量化运算,一切库的底层。
- pandas——表格数据的事实标准,
DataFrame完成清洗、透视、分组、连接。 - Polars——Rust 实现的更快 DataFrame,处理上亿行时比 pandas 快数倍,接口更现代。
- Dask——pandas 的大数据分身,超出内存时用它做分布式/惰性计算。
- matplotlib——最基础的绘图库,万物皆可画但 API 繁琐。
- seaborn——建立在 matplotlib 上的统计绘图库,画分布/相关性图一行搞定。
传统机器学习
- scikit-learn——传统 ML 的标准库:模型、预处理、交叉验证、指标、Pipeline 一站式,学算法用它。
- XGBoost——梯度提升树的事实标准,表格数据的夺冠利器。
- LightGBM——微软出品的更快梯度提升,大数据量下常优于此前的 XGBoost。
- statsmodels——统计建模与检验专用:线性回归的 p 值、时间序列 ARIMA、假设检验。
深度学习
- PyTorch——当前研究界与工业界的主流深度学习框架,动态图、生态最大。详见站内深度学习基础与优化章节。
- TensorFlow / Keras——老牌框架,Keras 高层 API 对新手友好,生产部署(TFLite/TF Serving)成熟。
- Hugging Face Transformers(库)——加载预训练模型的统一接口:BERT、GPT、LLaMA、T5 一行可用,配套 Trainer 简化微调。
- Hugging Face Datasets(库)——与 Transformers 配套的数据集库,惰性加载、内存映射、分片,处理大文本数据集不爆内存。
选库的黄金法则
学原理用 scikit-learn,做生产用 XGBoost/LightGBM,做深度学习用 PyTorch,做 NLP 用 Transformers。 不要用深度学习打表格数据,也不要用 sklearn 训练大模型——工具选择本身就是工程决策。
数据工程工具
数据量一大,光"有数据"不够,还得"管数据"。这套工具链把数据变成可持续演进的资产,完整流程见数据与数据工程。
| 工具 | 地址 | 解决什么问题 |
|---|---|---|
| DVC(Data Version Control) | dvc.org | 用 Git 管代码的方式管数据:数据集版本化、可回滚、可复现实验 |
| Feast | feast.dev | 开源特征存储:训练特征与线上推理特征用同一份定义,根治"训练/线上不一致" |
| Apache Airflow | airflow.apache.org | 最主流的批处理工作流调度:数据管道定时/依赖编排 |
| Prefect | www.prefect.io | 更易上手的现代数据流编排,Python 原生,动态调度能力强 |
| Dagster | dagster.io | 面向数据资产的编排框架,把"数据依赖"作为一等公民 |
| Great Expectations | greatexpectations.io | 数据质量测试框架:声明"数据应该长什么样",管道跑完自动校验 |
| dbt | www.getdbt.com | 用 SQL 做数据转换的工程化工具,分析工程师的标配 |
| MLflow | mlflow.org | 实验追踪 + 模型注册 + 部署的统一入口,MLOps 落地第一站 |
| DuckDB | duckdb.org | 嵌入式分析数据库,直接在 pandas/Parquet 文件上跑 SQL,单机大数据分析神器 |
别一上来就上全套
对初学者和中小项目,DVC + MLflow + Great Expectations 三件套覆盖了"版本、实验、质量"最核心的三个痛点,且都是开源、单机可跑。Airflow/Feast 等你真正有上线与多团队协作需求再引入,过早引入工具链是反模式。
如何选择数据集做练习
选数据是练习的第一步,也是很多学习者卡住的地方。给出四条经验。
1. 按学习阶段选难度
- 入门(前 3 个项目):选小、干净、文档全的——Iris、Titanic、MNIST。目标是跑通全流程,不是刷分数。
- 进阶(掌握基本功后):换有噪声、有缺失、有真实痛点的数据——House Prices(79 个特征教你做特征工程)、Credit Card Fraud(极不平衡教你换指标)。
- 再进阶:按方向深耕——做 CV 用 CIFAR-10 → ImageNet 子集;做 NLP 用 IMDB → SQuAD;做推荐用 MovieLens;做时序用 Air Passengers → ETTh。路线规划见学习路径。
2. 按练习目标选任务
| 想练的能力 | 推荐数据 | 为什么 |
|---|---|---|
| 特征工程 | House Prices、Titanic | 大量缺失值、类别特征、长尾分布,可做的操作最多 |
| 模型调参 | CIFAR-10、IMDB | 社区题解海量,方便对照自己的超参选择 |
| 深度学习 | MNIST → Fashion-MNIST → CIFAR-10 | 难度平滑上升,每一级都在加"真问题"(如数据增强) |
| 工程化落地 | 任何真实数据 + 自己造的数据管道 | 重点不在模型精度,而在 DVC 版本化、可复现、可监控 |
| 面试作品 | 挑一个能讲出"业务故事"的 | 见作品集项目与从零到作品 |
3. 检查数据是否"配得上"你的时间
- 许可:Kaggle 竞赛数据有明确的竞赛协议;UCI/OpenML 大多宽松。商用与公开前务必确认许可条款。
- 来源与时效:2010 年前的数据集适合教学,不适合讲"现状"。标注质量存疑的数据(如爬虫数据)要留个心眼。
- 是否还有"可做的事":如果某个数据集已被刷到 99%+ 准确率,就别指望靠它出成绩——去 Papers with Code 找更难的基准。
- 是否真的感兴趣:愿意为"这个话题"多投入 20 小时,是完成项目的最大动力。
4. 建一个属于自己的"数据花园"
把用过的好数据集、踩过的坑(哪个数据集脏、哪个标注有误)、验证过的加载代码记下来,沉淀成个人笔记。这个习惯配合精选资源清单和术语表,会让你的学习积累越来越厚。
延伸阅读
- 数据与数据工程 —— 数据泄露、清洗、版本化的完整方法论
- 特征工程 —— 把原始数据变成模型能吃的特征
- 术语表 —— 本页出现术语的准确定义
- 精选资源清单 —— 更多书籍、课程与论文
- 学习路径 —— 从入门到进阶的路线规划
- 从零到作品 与作品集项目 —— 如何把练习做成能展示的成果
本页所有链接均指向官方出处。数据集规模信息以各官方页面当前说明为准,下载前建议核对许可条款。