Keras内置数据集

目录

1、MNIST数字分类数据集

2、CIFAR10小图像分类数据集  

3、CIFAR100小图像分类数据集

 4、IMDB电影评论情感分类数据集

 参数说明

imdb_word_index.json

示例

 5、路透社新闻专线分类数据集

reuters_word_index.json

6、Fashion MNIST数据集

7、加州房价回归数据集 

参数说明 


1、MNIST数字分类数据集

包含60000个10位数的28x28灰度图像的数据集,以及10000个图像的测试集

1、加载本地mnist.npz格式数据

keras.datasets.mnist.load_data(path="mnist.npz")

2、 使用keras.datasets.mnist.load_data()函数加载MNIST数据集

(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

#检查训练集和测试集的形状
assert x_train.shape == (60000, 28, 28)
assert x_test.shape == (10000, 28, 28)
assert y_train.shape == (60000,)
assert y_test.shape == (10000,)

2、CIFAR10小图像分类数据集  

这是一个由50000张32x32彩色训练图像和10000张测试图像组成的数据集,标记为10个类别。

标签 类别
0 airplane
1 automobile
2 bird
3 cat
4 deer
5 dog
6 frog
7 horse
8 ship
9 truck

使用 keras.datasets.cifar10.load_data()加载数据集

(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()

#检查训练集和测试集的形状
assert x_train.shape == (50000, 32, 32, 3)
assert x_test.shape == (10000, 32, 32, 3)
assert y_train.shape == (50000, 1)
assert y_test.shape == (10000, 1)

3、CIFAR100小图像分类数据集

该数据集与 CIFAR-10 类似,不同之处在于它有 100 个类,每个类包含 600 张图像。每类有 500 张训练图像和 100 张测试图像。CIFAR-100 中的 100 个类分为 20 个超类。每个图像都带有一个“精细”标签(它所属的类)和一个“粗略”标签(它所属的超类)

超类 类别
aquatic mammals beaver, dolphin, otter, seal, whale
fish aquarium fish, flatfish, ray, shark, trout
flowers orchids, poppies, roses, sunflowers, tulips
food containers bottles, bowls, cans, cups, plates
fruit and vegetables apples, mushrooms, oranges, pears, sweet peppers
household electrical devices clock, computer keyboard, lamp, telephone, television
household furniture bed, chair, couch, table, wardrobe
insects bee, beetle, butterfly, caterpillar, cockroach
large carnivores bear, leopard, lion, tiger, wolf
large man-made outdoor things bridge, castle, house, road, skyscraper
large natural outdoor scenes cloud, forest, mountain, plain, sea
large omnivores and herbivores camel, cattle, chimpanzee, elephant, kangaroo
medium-sized mammals fox, porcupine, possum, raccoon, skunk
non-insect invertebrates crab, lobster, snail, spider, worm
people baby, boy, girl, man, woman
reptiles crocodile, dinosaur, lizard, snake, turtle
small mammals hamster, mouse, rabbit, shrew, squirrel
trees maple, oak, palm, pine, willow
vehicles 1 bicycle, bus, motorcycle, pickup truck, train
vehicles 2 lawn-mower, rocket, streetcar, tank, tractor

 使用 keras.datasets.cifar100.load_data()加载数据集 

(x_train, y_train), (x_test, y_test) = keras.datasets.cifar100.load_data()

#检查训练集和测试集的形状
assert x_train.shape == (50000, 32, 32, 3)
assert x_test.shape == (10000, 32, 32, 3)
assert y_train.shape == (50000, 1)
assert y_test.shape == (10000, 1)

 4、IMDB电影评论情感分类数据集

这是来自IMDB的25000条电影评论的数据集,按情绪(积极/消极)进行标记。评论已经过预处理,每个评论都被编码为单词索引(整数)列表。

keras.datasets.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,
    **kwargs
)
 参数说明
  • path:数据存储的位置。
  • num_words:integer或None。单词根据它们出现的频率(在训练集中)进行排名,并且只保留最频繁的num_Words单词。任何不太频繁的单词都将在序列数据中显示为oov_char值。如果“无”,则保留所有单词。默认为“无”。
  • skip_top:跳过前N个最频繁出现的单词(可能没有信息)。这些单词将在数据集中显示为oov_char值。当为0时,不跳过任何单词。默认值为0。
  • maxlen:int或None。最大序列长度。任何较长的序列都将被截断。无,意味着没有截断。默认为“无”。
  • seed:int,用于可再现数据混洗的种子。
  • start_char:int。序列的开头将用这个字符标记。0通常是填充字符。默认值为1。
  • oov_char:int,词汇表外的字符。由于num_Words或skip_top限制而被剪切掉的单词将被替换为此字符。
  • index_from:int,使用此索引或更高的索引实际单词。
imdb_word_index.json

单词索引词典。键是字符串,值是它们的索引

使用keras.datasets.imdb.get_word_index函数加载imdb_word_index.json

keras.datasets.imdb.get_word_index(path="imdb_word_index.json")
示例
# 导入Keras库中的IMDB数据集
import keras.datasets.imdb

# 设置起始字符的索引为1
start_char = 1

# 设置未知字符的索引为2
oov_char = 2

# 设置索引从3开始
index_from = 3

# 使用默认参数加载IMDB数据集的训练数据,并只获取训练序列(不获取测试序列)
(x_train, _), _ = keras.datasets.imdb.load_data(
    start_char=start_char, oov_char=oov_char, index_from=index_from
)

# 获取单词到索引的映射文件
word_index = keras.datasets.imdb.get_word_index()

# 反转单词索引,得到一个将索引映射到单词的字典
# 并将`index_from`添加到索引中,以与`x_train`同步
inverted_word_index = dict(
    (i + index_from, word) for (word, i) in word_index.items()
)

# 更新`inverted_word_index`,包含`start_char`和`oov_char`
inverted_word_index[start_char] = "[START]"
inverted_word_index[oov_char] = "[OOV]"

# 解码数据集中的第一个序列
decoded_sequence = " ".join(inverted_word_index[i] for i in x_train[0])

 5、路透社新闻专线分类数据集

这是一个由路透社11228条新闻专线组成的数据集,标签超过46个主题。

keras.datasets.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,
)

 参数说明

  • path:指定了保存数据的npz文件路径,这里设置为"reuters.npz"。
  • num_words:用于指定要保留的单词数量,设置为None表示保留所有单词。
  • skip_top用于指定要跳过的最常见的单词数量,设置为0表示不跳过任何单词。
  • maxlen:用于指定每个输入序列的最大长度,设置为None表示使用默认值。
  • test_split:参数用于指定测试集所占的比例,设置为0.2表示测试集占20%。
  • seed:参数用于指定随机数生成器的种子,设置为113以确保结果可重复。
  • start_charoov_char:分别用于指定未知单词的起始字符和未知单词的输出字符,设置为1和2。
  • index_from:参数用于指定索引的起始值,设置为3表示从3开始编号。
reuters_word_index.json

检索一个dict,将单词映射到路透社数据集中的索引。实际的单词索引从3开始,保留了3个索引:0(填充)、1(开始)、2(oov)。例如,“the”的单词索引为1,但在实际的训练数据中,“the”的索引将为1+3=4。反之亦然,要使用此映射将训练数据中的单词索引翻译回单词,索引需要减去3。

使用keras.datasets.reuters.get_word_index加载imdb_word_index.json

keras.datasets.reuters.get_word_index(path="reuters_word_index.json")

6、Fashion MNIST数据集

这是一个由10个时尚类别的60000张28x28灰度图像组成的数据集,以及10000张图像的测试集

标签 类别
0 T-shirt/top
1 Trouser
2 Pullover
3 Dress
4 Coat
5 Sandal
6 Shirt
7 Sneaker
8 Bag
9 Ankle boot

 使用fashion_mnist.load_data()加载

(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()

#检查测试集和训练集
assert x_train.shape == (60000, 28, 28)
assert x_test.shape == (10000, 28, 28)
assert y_train.shape == (60000,)
assert y_test.shape == (10000,)

7、加州房价回归数据集 

这是一个连续回归数据集,包含20640个样本,每个样本有8个特征。目标变量是一个标量:加利福尼亚地区的房屋中值,单位为美元。

使用keras.datasets.california_housing.load_data加载

keras.datasets.california_housing.load_data(
    version="large", path="california_housing.npz", test_split=0.2, seed=113
)
参数说明 
  • version:“小”或“大”。小版本包含600个样本,大版本包含20640个样本。
  • path:本地数据集的路径。
  • testsplit:作为测试集保留的数据的一部分。
  • seed:在计算测试分割之前对数据进行混洗的随机种子。

相关推荐

  1. Keras数据

    2024-01-08 17:30:03       31 阅读
  2. Keras的预训练模型架构介绍

    2024-01-08 17:30:03       26 阅读
  3. awk的数值函数

    2024-01-08 17:30:03       29 阅读
  4. Python数据类型等入门语(句)法

    2024-01-08 17:30:03       35 阅读
  5. python数据类型方法(部分明天补充)

    2024-01-08 17:30:03       11 阅读
  6. Python的数据结构:深入理解与应用

    2024-01-08 17:30:03       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 17:30:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 17:30:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 17:30:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 17:30:03       18 阅读

热门阅读

  1. 云水苍苍走四方

    2024-01-08 17:30:03       29 阅读
  2. MW Open - 高效率的API接口管理工具

    2024-01-08 17:30:03       34 阅读
  3. Android debug带系统签名

    2024-01-08 17:30:03       46 阅读
  4. React组件中如何通讯

    2024-01-08 17:30:03       37 阅读