SciKit-Learn 加载数据集


章节


数据科学中的第一步通常都是加载数据,我们首先学习怎么使用SciKit-Learn来加载数据集。

数据集的来源,通常有2个:

  • 自己准备
  • 第三方处获取

如果你不是研究人员,一般都会选择从第三方获取。有一些网站上,可以获取数据集:

这个网页上,列出了很多数据集分享地址:https://www.kdnuggets.com/datasets/index.html。

注意:SciKit-Learn是SciKit库的一部分,SciKit意思是SciPy Tookits,名字来源于SciPy库,SciKit基于SciPy库构建,除了SciKit-Learn,还包含其他很多模块,可以打开这个网址查看。SciKit-Learn库是专注于机器学习和数据挖掘的模块。

SciKit-Learn库中也自带一些数据集,我们可以尝试加载。

先从sklearn导入数据集模块,然后,可以使用数据集中的load_digits()方法加载数据:

# Import `datasets` from `sklearn`
from sklearn import datasets

# 加载 `digits` 数据集
digits = datasets.load_digits()

# 打印 `digits` 数据 
print(digits)

输出

{'data': array([[ 0.,  0.,  5., ...,  0.,  0.,  0.],
       [ 0.,  0.,  0., ..., 10.,  0.,  0.],
       [ 0.,  0.,  0., ..., 16.,  9.,  0.],
       ...,
       [ 0.,  0.,  1., ...,  6.,  0.,  0.],
       [ 0.,  0.,  2., ..., 12.,  0.,  0.],
       [ 0.,  0., 10., ..., 12.,  1.,  0.]]), 'target': array([0, 1, 2, ..., 8, 9, 8]), 'target_names': array([0, 1, 2, 3, 4, 5, 6, 7,
8, 9]), 'images': array([[[ 0.,  0.,  5., ...,  1.,  0.,  0.],
        [ 0.,  0., 13., ..., 15.,  5.,  0.],
        [ 0.,  3., 15., ..., 11.,  8.,  0.],

        ...

datasets模块中也包含了获取其他流行数据集的方法,例如datasets.fetch_openml可以从openml存储库获取数据集。

上面示例中的数据集,也可以从这个网址获取:http://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/

# 导入 `pandas` 库
import pandas as pd

# 使用 `read_csv()` 加载数据集
digits = pd.read_csv("http://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/optdigits.tra", header=None)

# 打印 `digits` 数据
print(digits)

可以看到,上面下载网址中的文件后缀是.tra,表示是训练(train)数据集,在这个页面内还可以看到.tes文件,表示是测试(test)数据集,所以上面加载的数据集,是已经分割好训练数据集和测试数据集的。上面示例中,只加载了训练数据集。

原文地址:https://www.cnblogs.com/jinbuqi/p/11430102.html