導讀:學習機器學習是一個不斷探索和實驗的過程,因此,本文將主要介紹常見的開源資料集,便於讀者學習和實驗各種機器學習演算法。
01 開源資料集介紹在學習機器學習演算法的過程中,我們經常需要資料來學習和試驗演算法,但是找到一組適合某種機器學習型別的資料卻不那麼方便。下文對常見的開源資料集進行了彙總。
1. UCI資料集
型別:比較全面,各型別資料都有涉及網址:http://archive.ics.uci.edu/ml/datasets.php2. Kaggle競賽資料集
型別:比較全面,各型別資料都有涉及網址:https://www.kaggle.com/datasets3. ImageNet
型別:計算機視覺資料網址:http://image-net.org/4. VisualData
型別:計算機視覺資料網址:https://www.visualdata.io/5. MS COCO
型別:計算機視覺資料網址:http://mscoco.org/6. Stanford CoreNLP
型別:情感分析資料網址:http://nlp.stanford.edu/sentiment/code.html7. IMDB
型別:情感分析資料網址:http://ai.stanford.edu/~amaas/data/sentiment/8. Sentiment140
型別:情感分析資料網址:http://help.sentiment140.com/for-students/9. HotspotQA
型別:自然語言處理網址:https://hotpotqa.github.io/10. Enron Email
型別:自然語言處理網址:https://www.cs.cmu.edu/~./enron/11. Amazon
型別:自然語言處理網址:https://snap.stanford.edu/data/web-Amazon.html12. 百度Apolloscapes
型別:自動駕駛網址:http://apolloscape.auto/13. Berkeley DeepDrive
型別:自動駕駛網址:http://bdd-data.berkeley.edu/14. Robotcar
型別:自動駕駛網址:http://robotcar-dataset.robots.ox.ac.uk/15. Data.gov
型別:公共政府資料集網址:https://www.data.gov/16. Food Environment Atlas
型別:公共政府資料集網址:https://catalog.data.gov/dataset/food-environment-atlas-f4a2217. Annual Survey of School System Finances
型別:公共政府資料集網址:https://catalog.data.gov/dataset/annual-survey-of-school-system-finances18. NCES
型別:公共政府資料集網址:https://nces.ed.gov/19. Data USA
型別:公共政府資料集網址:http://datausa.io/20. 中國國家統計局
型別:公共政府資料集網址:http://www.stats.gov.cn/21. Quandl
型別:金融與經濟資料集網址:https://www.quandl.com/22. WorldBank
型別:金融與經濟資料集網址:https://data.worldbank.org/23. IMF
型別:金融與經濟資料集網址:https://www.imf.org/en/Data24. Markets
型別:金融與經濟資料集網址:https://markets.ft.com/data/25. Google Trends
型別:金融與經濟資料集網址:http://www.google.com/trends?q=google&ctab=0&geo=all&date=all&sort=026. US Macro Regional
型別:金融與經濟資料集網址:https://www.aeaweb.org/resources/data/us-macro-regional27. Google Audioset
型別:語音資料集網址:https://research.google.com/audioset/28. 2000 HUB5 English
型別:語音資料集網址:https://catalog.ldc.upenn.edu/LDC2002T4329. LibriSpeech
型別:語音資料集網址:http://www.openslr.org/12/02 scikit-learn中的資料集scikit-learn是Python中進行資料探勘和建模中常用的機器學習工具包。scikit-learn的datasets模組主要提供了一些匯入、線上下載及本地生成資料集的方法。模組的主要函式如下所示。
sklearn.datasets.load_<name>:自帶資料集(資料量較小)sklearn.datasets.fetch_<name>:線上下載的資料集sklearn.datasets.make_<name>:生成指定型別的隨機資料集sklearn.datasets.load_svmlight_file:svmlight/libsvm格式的資料集sklearn.datasets.fetch_mldata:mldata.org線上下載資料集
自帶資料集的datasets模組裡包含自帶資料集,使用load_*載入即可,使用示例如下所示。
from sklearn.datasets import load_irisdata = load_iris()# 檢視資料描述print(data.DESCR)X = data.datay = data.target
自帶資料集的基本資訊及序號30、31、32的自帶資料集做簡單的介紹如下。讀者也可以使用data.DESCR,檢視其英文描述。
30. 波士頓房價資料集
呼叫方法:load_boston模型型別:迴歸資料規模(樣本*特徵):506*13這個資料集包含了506處波士頓不同地理位置的房產的房價資料(因變數),房屋以及房屋周圍的詳細資訊(自變數),其中包含城鎮犯罪率、一氧化氮濃度、住宅平均房間數等13個維度的資料,波士頓房價資料集能夠應用到迴歸問題上。波士頓房價資料集與屬性描述如下所示。
CRIM:城鎮人均犯罪率。ZN:住宅用地超過25000平方英尺的比例。INDUS:城鎮非零售商用土地的比例。CHAS:查理斯河空變數(如果邊界是河流,則為1;否則為0)。NOX:一氧化氮濃度。RM:住宅平均房間數。AGE:1940 年之前建成的自用房屋比例。DIS:到波士頓五個中心區域的加權距離。RAD:輻射性公路的接近指數。TAX:每10000 美元的全值財產稅率。PTRATIO:城鎮師生比例。MEDV:自住房的平均房價,以千美元計。31. 鳶尾花資料集
呼叫方法:load_iris模型型別:分類資料規模(樣本*特徵):105*4鳶尾花資料集是一個非常經典的資料集,著名的統計學家Fisher在研究判別分析問題時收集了一些關於鳶尾花的資料,包含了150個鳶尾花樣本,對應3種鳶尾花,各50個樣本,以及它們各自對應的4種關於外形的資料(自變數)。該資料集可用於多分類問題,測量資料如下所示。
sepal length (cm):萼片長度。sepal width (cm):萼片寬度。petal length (cm):花瓣長度。petal width (cm):花瓣寬度。類別共分為三類:Iris Setosa、Iris Versicolour和Iris Virginica。
32. 手寫數字資料集
呼叫方法:load_digits模型型別:分類資料規模(樣本*特徵):1797*64這個資料集是結構化資料的經典資料,共有1797個樣本,每個樣本有64個元素,對應一個8×8畫素點組成的矩陣,矩陣中值的範圍是0~16,代表顏色的深度,控制每一個畫素的黑白濃淡,所以每個樣本還原到矩陣後代表一個手寫體數字。
33. 糖尿病資料集
呼叫方法:load_diabetes模型型別:迴歸資料規模(樣本*特徵):422*1034. 葡萄酒資料集
呼叫方法:Load_wine模型型別:分類資料規模(樣本*特徵):178*1335. 乳腺癌資料集
呼叫方法:load_breast_cancer模型型別:分類資料規模(樣本*特徵):569*3036. 體能訓練資料集
呼叫方法:load_linnerud模型型別:多元迴歸資料規模(樣本*特徵):20*3scikit-learn線上下載資料集的datasets模組包含線上下載資料集的方法,呼叫fetch_*介面從網路下載,示例如下所示。
from sklearn.datasets import fetch_20newsgroupsnewsgroups_train = fetch_20newsgroups(subset='train')newsgroups_test = fetch_20newsgroups(subset='test')
注意,fetch_*介面由於需要從國外網址下載資料,速度可能很慢!
線上下載資料集的基本資訊如下所示。
37. Olivetti臉部影象資料集
呼叫方法:fetch_olivetti_faces模型型別:降維資料規模(樣本*特徵):400*64*6438. 20類新聞分類資料集(文字)
呼叫方法:fetch_20newsgroups模型型別:分類資料規模(樣本*特徵):18846*139. 20類新聞文字資料集(特徵向量)
呼叫方法:fetch_20newsgroups_vectorized模型型別:分類資料規模(樣本*特徵):18846*13010740. 帶標籤的人臉資料集
呼叫方法:fetch_lfw_people模型型別:分類資料規模(樣本*特徵):13233*582841. 路透社新聞語料資料集
呼叫方法:fetch_rcv1模型型別:分類資料規模(樣本*特徵):804414*4723642. 加州住房資料集
呼叫方法:fetch_california_housing模型型別:迴歸資料規模(樣本*特徵):20640*843. 森林植被
呼叫方法:fetch_covtype模型型別:多分類資料規模(樣本*特徵):581012*54scikit-learn包括用於以svmlight/libsvm格式載入資料集的實函式。在這種格式中,每一行都採用表格,此格式特別適用於稀疏資料集。在該模組中,使用SciPy稀疏CSR矩陣,並使用numpy陣列,示例如下。svmlight / libsvm格式的公共資料集可以從網上下載。
網址:
https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/
from sklearn.datasets import load_svmlight_file X_train , y_train = load_svmlight_file ("/ path / to / train_dataset.txt " )newsgroups_test = fetch_20newsgroups(subset='test')
openml.org是機器學習資料和實驗的公共儲存庫,允許每個人上傳開放資料集。sklearn.datasets能夠從儲存庫下載資料集。示例如下:
from sklearn.datasets import fetch_openmlmice = fetch_openml(name='miceprotein', version=4)print(mice.DESCR) mice.url
更多資料集資訊描述請檢視官網:
https://www.openml.org/search?type=data
張和平,現就職於某網際網路金融集團科技公司,任大資料模型工程師,負責機器學習在金融風控和使用者運營方面的應用工作,善於運用機器學習、資料探勘、知識圖譜和大資料技術解決實際的業務問題。在大資料風控建模、使用者畫像、大資料平臺建設等方面有豐富的實踐經驗。
本文摘編自《機器學習:軟體工程方法與實現》,經出版方授權釋出。
延伸閱讀《機器學習:軟體工程方法與實現》
推薦語:大型金融集團專家撰寫,將軟體工程方法、工具和策略應用到機器學習,提供高質量程式碼設計和工業應用框架。