TIL 191118_2

김상훈·2019년 11월 18일
0

케라스 창시자에게 배우는 딥러닝

심플한 감성분석

# IMDB 데이터셋 로드
from keras.datasets import imdb
(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words = 10000)
# print('first train data: ', train_data[0])
# print('first train label: ', train_labels[0])

# 리스트를 one-hot encoding
import numpy as np
def vectorize_sequences(sequences, dimension=10000):
  results = np.zeros((len(sequences), dimension))
  for i, sequence in enumerate(sequences):
    results[i, sequence] = 1.
  return results
x_train = vectorize_sequences(train_data)
x_test = vectorize_sequences(test_data)
# print('first data encoded as: ', x_train[0])
y_train = np.asarray(train_labels).astype('float32')
y_test = np.asarray(test_labels).astype('float32')

# 모델 정의하기 (신경망 구조 셋업)
from keras import models
from keras import layers
model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))

# 신경망 컴파일 방식 셋업
model.compile(optimizer='rmsprop',
  loss='binary_crossentropy',
  metrics=['accuracy'])

# 검증 세트 만들기 (원본 데이터에서 떼오기)
x_val = x_train[:10000]
partial_x_train = x_train[10000:]
y_val = y_train[:10000]
partial_y_train = y_train[10000:]

# 변수화 하는 이유는 그래프로 변환하기 위해서
history = model.fit(partial_x_train,
  partial_y_train,
  epochs=20,
  batch_size=512,
  validation_data=(x_val, y_val))
profile
남과 비교하지 말자.

0개의 댓글