机器学习:数据的获取

📅 2026/7/23 22:05:18 👁️ 阅读次数 📝 编程学习
机器学习:数据的获取

1.2数据的获取(发现或整合一个外部数据丶生成数据)



获取数据的三种途径:
1. 识别现有数据集Identify existing datasets:看公司内部或公开渠道已经有哪些数据可以用

2. 找基准数据集Find benchmark datasets :用标准数据集来“验证新想法/新算法”的效果 测试新的超参数调优算法→用一组小到中等规模的多样化数据集
测试大型深度神经网络→用大规模数据集

3. 收集新数据Collect new data:当现有数据不够时,主动去采集


三种不同的数据集:

类型

优点(Pros)

缺点(Cons)

学术数据集
Academic datasets

干净、难度适中

选择有限、过于简化、通常规模小

竞赛数据集
Competition datasets

更接近真实的ML应用

仍然经过简化,且只覆盖热门话题

原始数据
Raw Data

灵活性极高

需要大量精力来处理

学术界用的"干净数据集"和工业界的"原始数据"是两回事。 在学校做实验可以用现成的benchmark,但进了公司,大部分时间都在"洗数据",而且这不仅是技术活,还涉及法律、隐私、跨部门协作。

数据整合:
数据整合 = 把多个数据源的数据合并成一个连贯的数据集

怎么关联:通过"键"(Keys)

用实体ID作为"连接键"把不同表Join在一起


Inner Join只保留两个表都有的记录(交集)

Left Join保留左表全部记录,右表没有就填NULL

可能出现的问题:

识别ID:不同系统对同一个实体的ID可能不一样

缺失行:某些记录在部分表中不存在

冗余列:多个表有重复信息,需要去重

值冲突:同一个字段在不同表中数值不一致


生成数据的两种方法:

1. 生成合成数据(Generate synthetic data)

2. 数据增强(Data augmentations):在现有数据上做变换,"变出"更多训练样本