43种机器学习开源数据集(附地址/调用方法)

2022-12-06 14:47:07 浏览数 (1)

学习机器学习是一个不断探索和实验的过程,因此,本文将主要介绍常见的开源数据集,便于学习和实验各种机器学习算法

01 开源数据集介绍

在学习机器学习算法的过程中,我们经常需要数据来学习和试验算法,但是找到一组适合某种机器学习类型的数据却不那么方便。下文对常见的开源数据集进行了汇总。

1. UCI数据集

  • 类型:比较全面,各类型数据都有涉及
  • 网址:uci

2. Kaggle竞赛数据集

  • 类型:比较全面,各类型数据都有涉及
  • 网址:kaggle

3. ImageNet

  • 类型:计算机视觉数据
  • 网址:image-net

4. VisualData

  • 类型:计算机视觉数据
  • 网址:.visualdata

5. MS COCO

  • 类型:计算机视觉数据
  • 网址:mscoco

6. Stanford CoreNLP

  • 类型:情感分析数据
  • 网址:nlp.stanford

7. IMDB

  • 类型:情感分析数据
  • 网址:ai.stanford

8. Sentiment140

  • 类型:情感分析数据
  • 网址:sentiment140

9. HotspotQA

  • 类型:自然语言处理
  • 网址:hotpotqa

10. Enron Email

  • 类型:自然语言处理
  • 网址:cmu

11. Amazon

  • 类型:自然语言处理
  • 网址:Amazon

12. 百度Apollocapes

  • 类型:自动驾驶
  • 网址:apolloscape

13. Berkeley DeepDrive

  • 类型:自动驾驶
  • 网址:berkele

14. Robotcar

  • 类型:自动驾驶
  • 网址:robot

15. Data.gov

  • 类型:公共政府数据集
  • 网址:.data.gov

16. Food Environment Atlas

  • 类型:公共政府数据集
  • 网址:food-environment-atlas-f4a22

17. Annual Survey of School System Finances

  • 类型:公共政府数据集
  • 网址:annual-survey-of-school-system-finances

18. NCES

  • 类型:公共政府数据集
  • 网址:nces

19. Data USA

  • 类型:公共政府数据集
  • 网址:http://datausa.io/

20. 中国国家统计局

  • 类型:公共政府数据集
  • 网址:stats

21. Quandl

  • 类型:金融与经济数据集
  • 网址:quandl

22. WorldBank

  • 类型:金融与经济数据集
  • 网址:worldbank

23. IMF

  • 类型:金融与经济数据集
  • 网址:imf

24. Markets

  • 类型:金融与经济数据集
  • 网址:markets

25. Google Trends

  • 类型:金融与经济数据集
  • 网址:google

26. US Macro Regional

  • 类型:金融与经济数据集
  • 网址:us-macro-regional

27. Google Audioset

  • 类型:语音数据集
  • 网址:google

28. 2000 HUB5 English

  • 类型:语音数据集
  • 网址:ldc.upenn

29. LibriSpeech

  • 类型:语音数据集
  • 网址:openslr

02 scikit-learn中的数据集

scikit-learn是Python中进行数据挖掘和建模中常用的机器学习工具包。scikit-learn的datasets模块主要提供了一些导入、在线下载及本地生成数据集的方法。模块的主要函数如下所示。

  1. sklearn.datasets.load_<name>:自带数据集(数据量较小)
  2. sklearn.datasets.fetch_<name>:在线下载的数据集
  3. sklearn.datasets.make_<name>:生成指定类型的随机数据集
  4. sklearn.datasets.load_svmlight_file:svmlight/libsvm格式的数据集
  5. sklearn.datasets.fetch_mldata:mldata在线下载数据集

自带数据集的datasets模块里包含自带数据集,使用load_*加载即可,使用示例如下所示。

代码语言:javascript复制
from sklearn.datasets import load_iris
data = load_iris()
# 查看数据描述
print(data.DESCR)
X = data.data
y = 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*10

34. 葡萄酒数据集

  • 调用方法:Load_wine
  • 模型类型:分类
  • 数据规模(样本*特征):178*13

35. 乳腺癌数据集

  • 调用方法:load_breast_cancer
  • 模型类型:分类
  • 数据规模(样本*特征):569*30

36. 体能训练数据集

  • 调用方法:load_linnerud
  • 模型类型:多元回归
  • 数据规模(样本*特征):20*3

scikit-learn在线下载数据集的datasets模块包含在线下载数据集的方法,调用fetch_*接口从网络下载,示例如下所示。

代码语言:javascript复制
from sklearn.datasets import fetch_20newsgroups
newsgroups_train = fetch_20newsgroups(subset='train')
newsgroups_test = fetch_20newsgroups(subset='test')

注意,fetch_*接口由于需要从国外网址下载数据,速度可能很慢!

在线下载数据集的基本信息如下所示。

37. Olivetti脸部图像数据集

  • 调用方法:fetch_olivetti_faces
  • 模型类型:降维
  • 数据规模(样本*特征):400*64*64

38. 20类新闻分类数据集(文本)

  • 调用方法:fetch_20newsgroups
  • 模型类型:分类
  • 数据规模(样本*特征):18846*1

39. 20类新闻文本数据集(特征向量)

  • 调用方法:fetch_20newsgroups_vectorized
  • 模型类型:分类
  • 数据规模(样本*特征):18846*130107

40. 带标签的人脸数据集

  • 调用方法:fetch_lfw_people
  • 模型类型:分类
  • 数据规模(样本*特征):13233*5828

41. 路透社新闻语料数据集

  • 调用方法:fetch_rcv1
  • 模型类型:分类
  • 数据规模(样本*特征):804414*47236

42. 加州住房数据集

  • 调用方法:fetch_california_housing
  • 模型类型:回归
  • 数据规模(样本*特征):20640*8

43. 森林植被

  • 调用方法:fetch_covtype
  • 模型类型:多分类
  • 数据规模(样本*特征):581012*54

scikit-learn包括用于以svmlight/libsvm格式加载数据集的实函数。在这种格式中,每一行都采用表格,此格式特别适用于稀疏数据集。在该模块中,使用SciPy稀疏CSR矩阵,并使用numpy数组,示例如下。svmlight / libsvm格式的公共数据集可以从网上下载。

网址:csie.ntu

代码语言:javascript复制
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是机器学习数据和实验的公共存储库,允许每个人上传开放数据集。sklearn.datasets能够从存储库下载数据集。示例如下:

代码语言:javascript复制
from sklearn.datasets import fetch_openml
mice = fetch_openml(name='miceprotein', version=4)
print(mice.DESCR) 
mice.ur

0 人点赞