李沐【实用机器学习】 1.2数据获取

文章目录

  • 前言
  • 一、常见数据集来源
  • 二、数据集的查找
  • 三、数据集的分类
  • 四、数据融合
  • 五、生成数据集
  • 总结


前言

假设已经将问题转化为机器学习的问题,首先需要问自己,是否由足够多的数据?是不是有不同的数据源数据集使得你能用?yes,则`找数据、融合数据`。no,则问怎么样生成这样的数据?

一、常见数据集来源

MNIST:手写数据集
ImageNet:(比较大的数据集)百万级的图片,图片搜索引擎来的,比如将百度Google等引擎搜索下来的图片放在一起,进行一些人工的标注,可以训练比较大的神经网络
AudioSet:youtube上一些声音的切片,可以做声音的分类
Kinetics:youtube上面一些视频的切片,可以做人类动作的一个分类
KITTI:无人驾驶的数据集
Amazon Review:Amazon产品的用户的评论
SQuAD:从Wikipedia种抽出问题和答案对
LibriSpeech:1000h有声读物的数据集

来源:爬网站(比如Amazon Review)、人去采集行为(比如手写数据集)

二、数据集的查找

paperswithcodes Datasets:论文的常见的数据集,可以看到各个论文在其上面的数据集
Kaggle Datasets:机器学习竞赛数据集,用户提交的数据集
Google Dataset search:把网页上的各种数据集的搜索,统一的搜索引擎的入口
ternsoeflow,huggingface(提供大量文本数据集):开源工具包,里面就会有一些数据集
Open Data on AWS:100+大量的数据集(比如气象卫星每个小时的数据集,可能有几百个T)
可以在自己公司找数据(但可能有权限限制)

三、数据集的分类

学术数据集、竞赛数据集、原始数据集
学术数据集:做过大量的清洗处理,适合机器学习,难度适中 //种类少,选择面小,不适合做产品和应用,只适合用于测试新的算法

竞赛数据集:与实际应用较近//比较干净的数据集,专注在一些比较火的应用(比如无人车等),数据集种类还是比较小

原始数据集:比较灵活,任何数据都有办法找到//需要特别多的精力去处理数据,处理完之后得到的数据可能特别小

四、数据融合

把不同源的数据融合成一个比较一致的数据集。
比如不同的表关注于不同的信息,比如都是关于学生的,有些数据表表示学生的成绩情况,有些数据表表示学生的分班情况,等等。所以相当于table join的事情,也就是表的合并。
1、找到key是谁,通常是找到id这些东西。
2、有些表中没有这个id,所以要考虑是填入none,还是丢弃,还是填入其他
3、数据可能是重复的,或者数据的单元不一样(比如单价不一样,比如以元或者dollar)

五、生成数据集

1.使用GANs,无监督方法,生成的图片或者数据和你原先的东西比较像。
2.Data augmentations(数据增强),图片旋转,噪音,拉升,使数据集变大。文本数据集可以通过反复翻译的方法。

总结

提示:这里对文章进行总结:
1.找到合适的数据(非常困难)。学术界,处理好的数据集。工业界,野生的数据集。所以在工业界,不要太在意自己的算法在学术界数据集的正确率怎么样,因为实际要用的还是野生的数据
2.收集不了那么多数据。1.数据融合2.数据增强。将现在的数据变形一下,变成稍微不一样的数据集将数据变多。

你可能感兴趣的:(机器学习,机器学习,人工智能)