版权所有,未经许可,禁止转载
章节
SciKit-Learn 加载数据集
SciKit-Learn 数据集基本信息
SciKit-Learn 使用matplotlib可视化数据
SciKit-Learn 可视化数据:主成分分析(PCA)
SciKit-Learn 预处理数据
SciKit-Learn K均值聚类
SciKit-Learn 支持向量机
SciKit-Learn 速查
数据科学中的第一步通常都是加载数据,我们首先学习怎么使用SciKit-Learn来加载数据集。
数据集的来源,通常有2个:
- 自己准备
- 第三方处获取
如果你不是研究人员,一般都会选择从第三方获取。有一些网站上,可以获取数据集:
- openml
- UCI 机器学习库
- Kaggle
这个网页上,列出了很多数据集分享地址: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)数据集,所以上面加载的数据集,是已经分割好训练数据集和测试数据集的。上面示例中,只加载了训练数据集。