Шаг 101.
Глубокое обучение на Python. ... . Классификация новостных лент: пример классификации в несколько классов. Набор данных Reuters

    На этом шаге мы рассмотрим особенности этого набора данных.

    Мы будем работать с набором данных Reuters - выборкой новостных лент и их тем, публиковавшихся агентством Reuters в 1986 году. Это простой набор данных, широко используемых для классификации текста. Существует 46 разных тем; некоторые темы представлены более широко, некоторые - менее, но для каждой из них в обучающем наборе имеется не менее десяти примеров.

    Подобно IMDB и MNIST, набор данных Reuters поставляется в составе Keras. Давайте заглянем в него.


Пример 4.11. Загрузка данных Reuters
from tensorflow.keras.datasets import reuters

(train_data, train_labels), (test_data, test_labels) = reuters.load_data(
    num_words=10000)

    По аналогии с примером IMDB аргумент num_words=10000 ограничивает данные десятью тысячами наиболее часто встречающихся слов. Всего у нас имеется 8982 обучающих и 2246 контрольных примеров:


print(len(train_data))
print(len(test_data))

8982
2246

    По аналогии с отзывами в базе данных IMDB каждый пример - это список целых чисел (индексов слов):


print(train_data[10])

[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]

    Вот как можно декодировать индексы в слова (если это вам интересно).


Пример 4.12. Декодирование новостей обратно в текст
word_index = reuters.get_word_index()
reverse_word_index = dict(
    [(value, key) for (key, value) in word_index.items()])
# Обратите внимание, что индексы смещены на 3, потому что 
# индексы 0, 1 и 2 зарезервированы для слов padding (отступ), 
# start of sequence (начало последовательности) и unknown (неизвестно)
decoded_newswire = " ".join(
    [reverse_word_index.get(i - 3, "?") for i in train_data[0]])

    Метка, определяющая класс примера, - целое число между 0 и 45 - это индекс темы:


print(train_labels[10])

3

    На следующем шаге мы рассмотрим подготовку данных.




Предыдущий шаг Содержание Следующий шаг