Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- from keras.preprocessing import sequence
- from keras.models import Sequential
- from keras.layers import Dense, Activation, Embedding
- from keras.layers import LSTM, SpatialDropout1D
- from keras.datasets import imdb
- # Устанавливаем seed для повторяемости результатов
- np.random.seed(42)
- # Максимальное количество слов (по частоте использования)
- max_features = 5000
- # Максимальная длина рецензии в словах
- maxlen = 80
- # Загружаем данные
- (X_train, y_train), (X_test, y_test) = imdb.load_data(num_words=max_features)
- # Заполняем или обрезаем рецензии
- X_train = sequence.pad_sequences(X_train, maxlen=maxlen)
- X_test = sequence.pad_sequences(X_test, maxlen=maxlen)
- # Создаем сеть
- model = Sequential()
- # Слой для векторного представления слов
- model.add(Embedding(max_features, 32))
- model.add(SpatialDropout1D(0.2))
- # Слой долго-краткосрочной памяти
- model.add(LSTM(100, dropout=0.2, recurrent_dropout=0.2))
- # Полносвязный слой
- model.add(Dense(1, activation="sigmoid"))
- # Копмилируем модель
- model.compile(loss='binary_crossentropy',
- optimizer='adam',
- metrics=['accuracy'])
- # Обучаем модель
- model.fit(X_train, y_train, batch_size=64, epochs=7,
- validation_data=(X_test, y_test), verbose=2)
- # Проверяем качество обучения на тестовых данных
- scores = model.evaluate(X_test, y_test,
- batch_size=64)
- print("Точность на тестовых данных: %.2f%%" % (scores[1] * 100))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement