新闻分类:多分类问题
2019-03-11 本文已影响0人
庵下桃花仙
多分类(multiclass classification):有多个类别;
单标签、多分类(single-label, multiclass classification):每个数据点只能划分到一个类别;
多标签、多分类(multilabel, multiclass classification):每个数据点可以划分到多个类别。
加载路透社数据集
from keras.datasets import reuters
(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)
print(len(train_data))
print(len(test_data))
print(train_data[10])
print(train_labels[10])
num_words=10000
:仅保留训练数据中前10000个最常出现的单词。低频单词将被舍弃。
8982
2246
[1, 245, 273, 207, 156, 53, 74, 160, 26, 14, 46, 296, 26, 39, 74, 2979, 3554, 14, 46, 4689, 4329, 86, 61, 3499, 4795, 14, 61, 451, 4329, 17, 12]
3
8982:表示8982个训练样本;
2246:表示2246个测试样本。
与IMDB一样,每个样本都是一个整数列表;
3:表示对应的标签是0到45范围内的整数。
将索引解码为新闻文本
word_index = reuters.get_word_index()
reverse_word_index = dict([(value, key) for (key, value) in word_index.items()])
decoded_newswire = ' '.join([reverse_word_index.get(i-3, '?') for i in train_data[0]])
print(decoded_newswire)