导读:学习机器学习是一个不断探索和实验的过程,因此,本文将主要介绍常见的开源数据集,便于读者学习和实验各种机器学习算法。
在学习机器学习算法的过程中,我们经常需要数据来学习和试验算法,但是找到一组适合某种机器学习类型的数据却不那么方便。下文对常见的开源数据集进行了汇总。- http://archive.ics.uci.edu/ml/datasets.php
- 网址:https://www.kaggle.com/datasets
- 网址:https://www.visualdata.io/
- http://nlp.stanford.edu/sentiment/code.html
- http://ai.stanford.edu/~amaas/data/sentiment/
- http://help.sentiment140.com/for-students/
- 网址:https://hotpotqa.github.io/
- 网址:https://www.cs.cmu.edu/~./enron/
- https://snap.stanford.edu/data/web-Amazon.html
- 网址:http://apolloscape.auto/
- 网址:http://bdd-data.berkeley.edu/
- http://robotcar-dataset.robots.ox.ac.uk/
16. Food Environment Atlas- https://catalog.data.gov/dataset/food-environment-atlas-f4a22
17. Annual Survey of School System Finances- https://catalog.data.gov/dataset/annual-survey-of-school-system-finances
- 网址:http://www.stats.gov.cn/
- 网址:https://www.quandl.com/
- 网址:https://data.worldbank.org/
- 网址:https://www.imf.org/en/Data
- 网址:
https://markets.ft.com/data/
- http://www.google.com/trends?q=google&ctab=0&geo=all&date=all&sort=0
类型:金融与经济数据集
- https://www.aeaweb.org/resources/data/us-macro-regional
-
https://research.google.com/audioset/
- https://catalog.ldc.upenn.edu/LDC2002T43
- 网址:http://www.openslr.org/12/
scikit-learn是Python中进行数据挖掘和建模中常用的机器学习工具包。scikit-learn的datasets模块主要提供了一些导入、在线下载及本地生成数据集的方法。模块的主要函数如下所示。
- sklearn.datasets.load_:自带数据集(数据量较小)
- sklearn.datasets.fetch_:在线下载的数据集
- sklearn.datasets.make_:生成指定类型的随机数据集
- sklearn.datasets.load_svmlight_file:svmlight/libsvm格式的数据集
- sklearn.datasets.fetch_mldata:mldata.org在线下载数据集
自带数据集的datasets模块里包含自带数据集,使用load_*加载即可,使用示例如下所示。from sklearn.datasets import load_iris
data = load_iris()
# 查看数据描述
print(data.DESCR)
X = data.data
y = data.target
自带数据集的基本信息及序号30、31、32的自带数据集做简单的介绍如下。读者也可以使用data.DESCR,查看其英文描述。这个数据集包含了506处波士顿不同地理位置的房产的房价数据(因变量),房屋以及房屋周围的详细信息(自变量),其中包含城镇犯罪率、一氧化氮浓度、住宅平均房间数等13个维度的数据,波士顿房价数据集能够应用到回归问题上。波士顿房价数据集与属性描述如下所示。- CHAS:查理斯河空变量(如果边界是河流,则为1;否则为0)。
鸢尾花数据集是一个非常经典的数据集,著名的统计学家Fisher在研究判别分析问题时收集了一些关于鸢尾花的数据,包含了150个鸢尾花样本,对应3种鸢尾花,各50个样本,以及它们各自对应的4种关于外形的数据(自变量)。该数据集可用于多分类问题,测量数据如下所示。类别共分为三类:Iris Setosa、Iris Versicolour和Iris Virginica。这个数据集是结构化数据的经典数据,共有1797个样本,每个样本有64个元素,对应一个8×8像素点组成的矩阵,矩阵中值的范围是0~16,代表颜色的深度,控制每一个像素的黑白浓淡,所以每个样本还原到矩阵后代表一个手写体数字。scikit-learn在线下载数据集的datasets模块包含在线下载数据集的方法,调用fetch_*接口从网络下载,示例如下所示。from sklearn.datasets import fetch_20newsgroups
newsgroups_train = fetch_20newsgroups(subset='train')
newsgroups_test = fetch_20newsgroups(subset='test')
注意,fetch_*接口由于需要从国外网址下载数据,速度可能很慢!- 调用方法:fetch_olivetti_faces
- 调用方法:fetch_20newsgroups_vectorized
- 调用方法:fetch_california_housing
scikit-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_openml
mice = fetch_openml(name='miceprotein', version=4
)
print(mice.DESCR)
mice.url
https://www.openml.org/search?type=data本文摘编自《机器学习:软件工程方法与实现》,经出版方授权发布。