Python机器学习(⼆⼗六)Sklearn加载数据集
机器学习是计算机科学的⼀个分⽀,研究的是⽆需⼈类⼲预,能够⾃⼰学习的算法。
与TensorFlow不同,Scikit-learn(sklearn)的定位是通⽤机器学习库,⽽TensorFlow(tf)的定位主要是深度学习库。
数据科学中的第⼀步通常都是加载数据,我们⾸先学习怎么使⽤SciKit-Learn来加载数据集。
数据集的来源,通常有2个:
⾃⼰准备
第三⽅处获取
如果你不是研究⼈员,⼀般都会选择从第三⽅获取。有⼀些⽹站上,可以获取数据集:
注意:SciKit-Learn是SciKit库的⼀部分,SciKit意思是SciPy Tookits,名字来源于库,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)
执⾏结果:
C:\ "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\pydevconsole.py" --mode=client --port=62310
import sys; print('Python %s on %s' % (sys.version, sys.platform))
d(['C:\\app\\PycharmProjects', 'C:/app/PycharmProjects'])
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits'or'license'for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?'for help.
PyDev console: using IPython 7.12.0
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] on win32
runfile('C:/app/PycharmProjects/ArtificialIntelligence/test.py', wdir='C:/app/PycharmProjects/ArtificialIntelligence')
{'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.],
...,
[ 0., 4., 11., ..., 12., 7., 0.],
[ 0., 2., 14., ..., 12., 0., 0.],
[ 0., 0., 6., ..., 0., 0., 0.]],
[[ 0., 0., 0., ..., 5., 0., 0.],
pycharm下载第三方库[ 0., 0., 0., ..., 9., 0., 0.],
[ 0., 0., 3., ..., 6., 0., 0.],
...,
[ 0., 0., 1., ..., 6., 0., 0.],
[ 0., 0., 1., ..., 6., 0., 0.],
[ 0., 0., 0., ..., 10., 0., 0.]],
[[ 0., 0., 0., ..., 12., 0., 0.],
[ 0., 0., 3., ..., 14., 0., 0.],
[ 0., 0., 8., ..., 16., 0., 0.],
...,
[ 0., 9., 16., ..., 0., 0., 0.],
[ 0., 3., 13., ..., 11., 5., 0.],
[ 0., 0., 0., ..., 16., 9., 0.]],
...,
[[ 0., 0., 1., ..., 1., 0., 0.],
[ 0., 0., 13., ..., 2., 1., 0.],
[ 0., 0., 16., ..., 16., 5., 0.],
...,
[ 0., 0., 16., ..., 15., 0., 0.],
[ 0., 0., 15., ..., 16., 0., 0.],
[ 0., 0., 2., ..., 6., 0., 0.]],
[[ 0., 0., 2., ..., 0., 0., 0.],
[ 0., 0., 14., ..., 15., 1., 0.],
[ 0., 4., 16., ..., 16., 7., 0.],
...,
[ 0., 0., 0., ..., 16., 2., 0.],
[ 0., 0., 4., ..., 16., 2., 0.],
[ 0., 0., 5., ..., 12., 0., 0.]],
[[ 0., 0., 10., ..., 1., 0., 0.],
[ 0., 2., 16., ..., 1., 0., 0.],
[ 0., 0., 15., ..., 15., 0., 0.],
...,
[ 0., 4., 16., ..., 16., 6., 0.],
[ 0., 8., 16., ..., 16., 8., 0.],
[ 0., 1., 8., ..., 12., 1., 0.]]]), 'DESCR': ".. _digits_dataset:\n\nOptical recognition of handwritten digits dataset\n--------------------------------------------------\n\n**Data Set Characteristics:**\n\n :Number of Instances: 5620\n :Number of Attribute datasets模块中也包含了获取其他流⾏数据集的⽅法,例如datasets.fetch_openml可以从存储库获取数据集。
代码实现:
# 导⼊ `pandas` 库
import pandas as pd
# 使⽤ `read_csv()` 加载数据集
digits = pd.read_csv("archive.ics.uci.edu/ml/machine-learning-databases/a", header=None)
# 打印 `digits` 数据
print(digits)
执⾏结果:
C:\ "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\pydevconsole.py" --mode=client --port=62450
import sys; print('Python %s on %s' % (sys.version, sys.platform))
d(['C:\\app\\PycharmProjects', 'C:/app/PycharmProjects'])
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?' for help.
PyDev console: using IPython 7.12.0
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] on win32
runfile('C:/app/PycharmProjects/ArtificialIntelligence/test.py', wdir='C:/app/PycharmProjects/ArtificialIntelligence')
0 1 2 3 4 5 6 7 8 ... 56 57 58 59 60 61 62 63 64
0 0 1 6 15 12 1 0 0 0 ... 0 0 6 14 7 1 0 0 0
1 0 0 10 16 6 0 0 0 0 ... 0 0 10 16 15 3 0 0 0
2 0 0 8 15 16 1
3 0 0 0 ... 0 0 9 1
4 0 0 0 0 7
3 0 0 0 3 11 16 0 0 0 ... 0 0 0 1 15 2 0 0 4
4 0 0
5 14 4 0 0 0 0 ... 0 0 4 12 14 7 0 0 6
.. .. .. .. .. .. .. .. .. ... .. .. .. .. .. .. .. .. ..
3818 0 0 5 13 11 2 0 0 0 ... 0 0 8 13 15 10 1 0 9
3819 0 0 0 1 12 1 0 0 0 ... 0 0 0 4 9 0 0 0 4
3820 0 0 3 15 0 0 0 0 0 ... 0 0 4 14 16 9 0 0 6
3821 0 0 6 16 2 0 0 0 0 ... 0 0 5 16 16 16 5 0 6
3822 0 0 2 15 16 13 1 0 0 ... 0 0 4 14 1 0 0 0 7
[3823 rows x 65 columns]
可以看到,上⾯下载⽹址中的⽂件后缀是.tra,表⽰是训练(train)数据集,在这个页⾯内还可以看到.tes⽂件,表⽰是测试(test)数据集,所以上⾯加载的数据集,是已经分割好训练数据集和测试数据集的。上⾯⽰例中,只加载了训练数据集。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论