/

常用数据集

Scikit-learn Toy

Scikit-learn数据集内嵌在Scikit-learn工具包中,可以通过Python导入命令直接加载,不需要从任何外部网络资源中下载。
加载:

1
2
from sklearn import datasets
iris=datasets.load_iris()

基本上,所有的Scikit-learn数据集都提供以下方法:
.DESCR:提供数据集总体描述(description前五个字母)
.data:
.feature_names:
.target:用数值或类别号表示的分类值
.target_names:
.shape:可用于.data和.target方法,描述的是观测数据(第一个值)和特征(第二个值,如有)的数量。

数据集对象包含的主要数据结构是两个数组:date和target

Toy数据集聚焦一个易于获得又不复杂的数据问题,能帮助你快速建立数据科学的基础。

mldata.org公共资源库

可从机器学习数据资源库或LIBSVM数据网站上直接下载,需要访问互联网。

1
2
3
4
from sklearn.datasets import fetch_mldata
earthquakes=fetch_mldata('global-earthquakes')
print(earthquakes.data)
print(earthquakes.data.shape)

得到对象结构类似字典,预测变量earthquakes.data,预测目标earthquakes.target

LIBSVM Data样本

提供了多种回归、二值化、多标号分类等LIBSVM格式的数据集,如果要用支持向量机的算法进行实验,这个资源库相当有用。
要加载数据集先要访问数据集所在的网页。

1
2
3
4
5
6
7
# 注意:在python3中,urllib2库已拆分为urllib.request与urllib.error
from urllib.request import urlopen
target_page='http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/a1a'
a2a=urlopen(target_page)
from sklearn.datasets import load_svmlight_file
X_train,y_train=load_svmlight_file(a2a)
print(X_train.shape,y_train.shape)

结果将得到两个对象:一组稀疏矩阵格式的训练样本和一个响应数组。

直接从CSV或文本文件加载数据

可以通过网页浏览器或wget命令从资源库直接下载数据集
加载数据可以用Numpyt的loadtxt函数和pandas的read_csv函数

1
2
3
4
import numpy as np
housing = np.loadtxt('regression-datasets-housing.csv',delimiter=',')
print(type(housing))
print(housing.shape)