Python中数据集压缩包的读取

除了一些有标准格式(如csv)的数据集是可以直接通过python或numpy、pandas模块读取外,也有很多数据集是无法直接读取的,因为这些文件不是任何标准的格式而是以字节的形式进行存储的,必须编写程序来打开它。

例如:MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。

如果还没有从网上下载到本地的数据集,可以使用TensorFlow中的input_data方法下载数据再提取数据,这种方式不用事先下载好数据集,它会自动下载并存放到指定的本地位置。

from tensorflow.examples.tutorials.mnist import imput_data    #导入tensorflow库

导入数据集到mnist实例会自动下载数据

mnist = input_data.read_data_sets('mnist_data')    #mnist_data是指定存放数据的本地文件夹路径,在文件夹中有下载的扩展名(后缀名)是gz的数据集

读取数据需要根据实例内的变量结构(mnist -> mnist.train(或mnist.test) -> mnist.train.images和mnist.train.labels(或mnist.test.images和mnist.test.labels))来获取数据集

x_train = mnist.train.images
y_train = minist.train.labels

查看mnist实例类型
type(mnist)得到的mnist实例的类型是
查看mnist数据集类型
type(mnist.train)得到的mnist实例中数据集的类型是
type(mnist.train.images)得到的mnist实例中数据的类型是

如果已经从网上下载到本地的数据集扩展名(后缀名)是npz压缩包,可以使用numpy中的load方法解压再提取数据:

import numpy as np    #导入numpy库

加载数据集压缩包需要用到numpy的load方法

MNIST = np.load('MNIST.npz')    #加载数据集压缩包到MNIST实例

数据集在压缩包内,使用files命令进行查看压缩包内容

MNIST.files    #实例查看压缩包内的文件(类似解压)

可看到压缩包内的数据集结构

['x_test', 'x_train', 'y_train', 'y_test']

可通过实例的关键字索引读取对应的数据集

x_train = MNIST['x_train']
y_train = MNIST['y_train']

查看MNIST实例类型
type(MNIST)得到MNIST实例的类型是
查看x_train数据类型
type(mnist['x_train'])得到MNIST实例中数据的类型是

你可能感兴趣的:(Python,python,机器学习,深度学习)