1.2 數(shù)據(jù)獲取【斯坦福21秋季:實(shí)用機(jī)器學(xué)習(xí)中文版】

數(shù)據(jù)的獲取
- 這一講主要講在沒有現(xiàn)成的數(shù)據(jù)情況下,
?如何去找到數(shù)據(jù)集,并對(duì)各種現(xiàn)有的數(shù)據(jù)集有個(gè)大致的概念
?以及實(shí)在找不到數(shù)據(jù)集的時(shí)候, 該用什么方法來生成數(shù)據(jù).
什么時(shí)候需要考慮數(shù)據(jù)的獲取?
- 如果你要開始機(jī)器學(xué)習(xí)項(xiàng)目
?但是手頭沒有足夠多現(xiàn)成數(shù)據(jù).
?你就要考慮獲取數(shù)據(jù)

獲取數(shù)據(jù)的途徑
?獲取數(shù)據(jù)主要是兩個(gè)途徑:
1. 首先尋找 現(xiàn)有數(shù)據(jù)集
2. 如果沒有現(xiàn)成的數(shù)據(jù),那就要考慮 生成數(shù)據(jù)
?這里的數(shù)據(jù)集(dataset)指的是, 已經(jīng)被人整理過,能直接拿來用
尋找現(xiàn)有數(shù)據(jù)集
- 一般來說你需要尋找多個(gè)被人用過的公共數(shù)據(jù)集
- 對(duì)于不同目的來說,你選擇數(shù)據(jù)集的標(biāo)準(zhǔn)也是會(huì)有所微調(diào),
- 為了驗(yàn)證自己的一個(gè)想法,需要 **多個(gè)各有特點(diǎn)的小規(guī)模數(shù)據(jù)集**
- 如果是深度學(xué)習(xí), 需要一些大規(guī)模的數(shù)據(jù)
- 收集新的數(shù)據(jù)
- 你的數(shù)據(jù)應(yīng)該能夠覆蓋所有可能遇到的所有問題
常見數(shù)據(jù)集
- 維基百科中關(guān)于數(shù)據(jù)集的列表 https://en.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research?其中收錄了一系列的數(shù)據(jù)集
- MNIST: 手寫數(shù)字?jǐn)?shù)據(jù)集 http://yann.lecun.com/exdb/mnist/
- imageNet : 大規(guī)模圖片數(shù)據(jù)集?https://www.image-net.org/
- AudioSet: 油管的聲音片段數(shù)據(jù) https://research.google.com/audioset/
- Kinetic : 油管人類動(dòng)作視頻片段 https://deepmind.com/research/open-source/kinetics
- KITTI : 無人駕駛數(shù)據(jù)集 http://www.cvlibs.net/datasets/kitti/
- Amazon Review: 亞馬遜用戶評(píng)價(jià)數(shù)據(jù) https://s3.amazonaws.com/amazon-reviews-pds/readme.html
- SQuAD: 維基百科問答 https://rajpurkar.github.io/SQuAD-explorer/
- LibriSpeech : 有聲書數(shù)據(jù)集 https://www.tensorflow.org/datasets/catalog/librispeech
去哪找數(shù)據(jù)集?
- Paperwithcodes 論文相關(guān)數(shù)據(jù)集?https://paperswithcode.com/
- 提供了學(xué)術(shù)論文和相關(guān)的數(shù)據(jù),并且給出了這個(gè)論文在數(shù)據(jù)集上面的運(yùn)行表現(xiàn)
- Kaggle https://www.kaggle.com/
- 除了競賽數(shù)據(jù)集以外,很多用戶也上傳數(shù)據(jù)集, 這些用戶上傳的數(shù)據(jù)集質(zhì)量魚龍混雜.
- google 數(shù)據(jù)集搜索. https://datasetsearch.research.google.com/
- 這是谷歌的一個(gè)搜索入口. 可以搜到其他各種來源的數(shù)據(jù).
- 開源工具自帶的數(shù)據(jù)集
- 比如tensow flow深度學(xué)習(xí)軟件, 往往會(huì)自帶一些數(shù)據(jù)集
- 各種數(shù)據(jù)比賽的競賽數(shù)據(jù) 往往質(zhì)量比較高.
- 保存在云盤上的數(shù)據(jù)集,比如說 open data on AWS
- 公司本身的數(shù)據(jù)倉庫或者數(shù)據(jù)湖(data lakes)
-
數(shù)據(jù)集的分類和比較
數(shù)據(jù)集和數(shù)據(jù)集是不一樣的, 學(xué)術(shù)界的數(shù)據(jù)集(academic datasets)和工業(yè)界的原始數(shù)據(jù)(raw data)是兩個(gè)極端
- 學(xué)術(shù)界的數(shù)據(jù)集是精心挑選且人工處理過的, 數(shù)據(jù)干凈, 拿來就用,方便在上面測(cè)試算法.
?但是這些數(shù)據(jù)集不僅數(shù)量少, 往往和真實(shí)數(shù)據(jù)差別很大
- 比如 UCL 數(shù)據(jù)集 https://archive.ics.uci.edu/ml/datasets.php
- 工業(yè)界的原始數(shù)據(jù)是最多樣, 而且是真實(shí)的. 但往往需要消耗非常多的人力才能讓這個(gè)數(shù)據(jù)變得"好用"
- 各種數(shù)據(jù)比賽的競賽數(shù)據(jù)介于工業(yè)界和學(xué)術(shù)界之間.
數(shù)據(jù)融合
- 數(shù)據(jù)融合就是把多個(gè)表合并(join)成一個(gè)表.
- sql之類數(shù)據(jù)庫中這個(gè)操作對(duì)應(yīng) join 命令
- R中常常使用merge 函數(shù), 或者 tidyverse 中的 dplyr::*join 函數(shù). 可以參考 https://www.jianshu.com/p/1f4c7bfed3d4
- 數(shù)據(jù)往往被存放在多個(gè)位置, 用的時(shí)候需要把他們合起來
- 比如說很多數(shù)據(jù), 分屬于不同的部門,或者說不同數(shù)據(jù)更新的頻率不同, 分開存儲(chǔ)會(huì)靈活.
- 為了方便數(shù)據(jù)融合, 你的數(shù)據(jù)要有一個(gè) **不重復(fù)的主鍵(key)**
- 主鍵(key)往往表現(xiàn)為數(shù)據(jù)表的一列,往往是某種ID
- 在數(shù)據(jù)融合的時(shí)候,你可能會(huì)碰到重復(fù)的主鍵或者數(shù)據(jù)缺失, 或者不同表上記錄相互沖突.
生成數(shù)據(jù)
- 實(shí)在找不到數(shù)據(jù)集的時(shí)候, 嘗試生成數(shù)據(jù), 就是自己制造一批數(shù)據(jù)
- GAN 生成圖像
- 數(shù)據(jù)增強(qiáng) Data augmentation
- 比如說以一張圖片為藍(lán)本, 生成一系列相似,但又有差別的圖片
- 另一個(gè)例子, 使用翻譯引擎,來回翻譯一段話
-
- 小結(jié) 28:55
- 找數(shù)據(jù)很麻煩,而且還要區(qū)分這個(gè)數(shù)據(jù)是否合用.
- 學(xué)術(shù)界使用的數(shù)據(jù)和工業(yè)界使用的數(shù)據(jù)差異很大
- 很多時(shí)候,多個(gè)數(shù)據(jù)表要融合成一張表