keras数据集主要有以下7种(可从keras官方文档阅读:https://keras.io/datasets/),对其中部分数据集我进行了学习和实践,并写了笔记。
另外加几个数据集的下载地址:
dog images: https://s3-us-west-1.amazonaws.com/udacity-aind/dog-project/dogImages.zip
CIFAR10:https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
1、CIFAR10小图像
训练集:50000张彩色图像,大小32*32,被分成10类
测试集:10000张彩色图像,大小32*32
from keras.datasets import cifar10
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
- x_train, x_test: 参数规格分别为(50000, 3, 32, 32)和(10000, 3, 32, 32)
- y_train, y_test: 标签取值范围 (0-9),shape (50000)和(10000)
我的博客"keras中用CNN实现CIFAR-10图像分类"对CIFAR10数据集进行了分类。
2、CIFAR100小图像
训练集:50000张彩色图像,大小32*32,被分成100类
测试集:10000张彩色图像,大小32*32
from keras.datasets import cifar100
(x_train, y_train), (x_test, y_test) = cifar100.load_data(label_mode='fine')
- x_train, x_test: 参数规格分别为(50000, 3, 32, 32)和(10000, 3, 32, 32)
- y_train, y_test: 标签取值范围 (0-99),shape (50000)和(10000)
3、IMDB电影影评情感分类
训练集:25000条评论,正面评价标为1,负面评价标为0
测试集:25000条评论
每条评论并不是具体的词构成,而是把每个词都已经转化为数字。比如,如果我们只想看到前1000个词,所以训练集中每条评论由0-999的数字构成,出现其他词的用参数:oov_char代替。
from keras.datasets import imdb
(x_train, y_train), (x_test, y_test) = imdb.load_data(path="imdb.npz",
num_words=None,
skip_top=0,
maxlen=None,
seed=113,
start_char=1,
oov_char=2,
index_from=3)
- x_train, x_test: 整数下标,如果num_words给定,则最大下标为num_words-1。
- y_train, y_test: 标签(1 or 0).
参数:
- path:数据存放位置,如果本地没有,会从网络下载
- num_words :要考虑的最常见的单词。如果你不想考虑一些很晦涩的词汇,比如“Ultracrepidarian”,这会很有用。
- skip_top :忽略的热门词汇。如果你不想考虑最常见的词,这会很有用。比如,单词“the”将不会在评论中添加任何信息,所以我们可以通过将
skip_top
设置为 2 或更高来跳过它。 - maxlen:序列最大长度,如果有超过maxlen的序列,会进行截断。None表示不限制长度。
- seed:数据再生的种子
- start_char:序列开始的标记
- oov_char:被去掉的单词(比如因为num_words的限制,或者skip_top的限制)就用这个字符代替
- index_from:找到当前索引和大于当前索引的词
我的博客“项目实战二:学生录取优化”对IMDB进行了分类。
4、路透社新闻专线主题分类
总数据集:11228条新闻专线,46个主题。
跟IMDB数据集一样,新闻不是具体的词,而是已经被转换成了数字。
from keras.datasets import reuters
(x_train, y_train), (x_test, y_test) = reuters.load_data(path="reuters.npz",
num_words=None,
skip_top=0,
maxlen=None,
test_split=0.2,
seed=113,
start_char=1,
oov_char=2,
index_from=3)
test_split=0.2,
seed=113,
start_char=1,
oov_char=2,
index_from=3)
跟IMDB区别在于,多一个参数:test_split,这个用来表示数据集中多少比例用来做为测试集。
5、手写数字MNIST数据集
训练集:60000张灰色图像,大小28*28,共10类(0-9)
测试集:10000张灰色图像,大小28*28
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
- x_train, x_test: 参数规格分别为(60000, 28, 28)和(10000, 28, 28)。
- y_train, y_test: 数字标签(0-9),参数规格分别为(60000,)和(10000,)
我的博客“MLP实现MNIST分类”对MNIST手写数字进行了分类。
6、时尚元素MNIST数据库
训练集:60000张灰色图像,大小28*28,共10类(0-9)
测试集:10000张灰色图像,大小28*28
from keras.datasets import fashion_mnist
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
- x_train, x_test: 参数规格分别为(60000, 28, 28)和(10000, 28, 28)。
- y_train, y_test: 数字标签(0-9),参数规格分别为(60000,)和(10000,)
7、波斯顿房价回归数据集
1970年代,波斯顿周边地区的房价。
from keras.datasets import boston_housing
(x_train, y_train), (x_test, y_test) = boston_housing.load_data()