Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.78 KB | None | 0 0
  1. import numpy as np
  2. from keras.preprocessing import sequence
  3. from keras.models import Sequential
  4. from keras.layers import Dense, Activation, Embedding
  5. from keras.layers import LSTM, SpatialDropout1D
  6. from keras.datasets import imdb
  7.  
  8. # Устанавливаем seed для повторяемости результатов
  9. np.random.seed(42)
  10. # Максимальное количество слов (по частоте использования)
  11. max_features = 5000
  12. # Максимальная длина рецензии в словах
  13. maxlen = 80
  14.  
  15. # Загружаем данные
  16. (X_train, y_train), (X_test, y_test) = imdb.load_data(num_words=max_features)
  17.  
  18. # Заполняем или обрезаем рецензии
  19. X_train = sequence.pad_sequences(X_train, maxlen=maxlen)
  20. X_test = sequence.pad_sequences(X_test, maxlen=maxlen)
  21.  
  22. # Создаем сеть
  23. model = Sequential()
  24. # Слой для векторного представления слов
  25. model.add(Embedding(max_features, 32))
  26. model.add(SpatialDropout1D(0.2))
  27. # Слой долго-краткосрочной памяти
  28. model.add(LSTM(100, dropout=0.2, recurrent_dropout=0.2))
  29. # Полносвязный слой
  30. model.add(Dense(1, activation="sigmoid"))
  31.  
  32. # Копмилируем модель
  33. model.compile(loss='binary_crossentropy',
  34.               optimizer='adam',
  35.               metrics=['accuracy'])
  36.  
  37. # Обучаем модель
  38. model.fit(X_train, y_train, batch_size=64, epochs=7,
  39.           validation_data=(X_test, y_test), verbose=2)
  40. # Проверяем качество обучения на тестовых данных
  41. scores = model.evaluate(X_test, y_test,
  42.                         batch_size=64)
  43. print("Точность на тестовых данных: %.2f%%" % (scores[1] * 100))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement