관리 메뉴

솜씨좋은장씨

[Kaggle DAY02]Real or Not? NLP with Disaster Tweets! 본문

Kaggle/Real or Not? NLP with Disaster Tweets

[Kaggle DAY02]Real or Not? NLP with Disaster Tweets!

솜씨좋은장씨 2020. 2. 14. 22:07
728x90
반응형

Kaggle 2회차 도전!

오늘은 데이터 전처리는 그대로 두고

저번 LSTM 모델을 Bi-LSTM으로만 바꾸어서 시도해보았습니다.

 

첫번째 시도

model = Sequential()
model.add(Embedding(max_words, 100, input_length=max_len))
model.add(Bidirectional(LSTM(128)))
model.add(Dropout(0.2))
model.add(Dense(2, activation='sigmoid'))

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history = model.fit(X_train_vec, y_train, epochs=3, batch_size=32, validation_split=0.1)

결과

 

두번째 시도

model2 = Sequential()
model2.add(Embedding(max_words, 100, input_length=max_len))
model2.add(Bidirectional(LSTM(128)))
model2.add(Dropout(0.2))
model2.add(Dense(2, activation='sigmoid'))

model2.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history2 = model2.fit(X_train_vec, y_train, epochs=1, batch_size=32, validation_split=0.1)

결과

 

세번째 시도

model2 = Sequential()
model2.add(Embedding(max_words, 100, input_length=max_len))
model2.add(Bidirectional(LSTM(64)))
model2.add(Dropout(0.2))
model2.add(Dense(2, activation='sigmoid'))

model2.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history2 = model2.fit(X_train_vec, y_train, epochs=1, batch_size=32, validation_split=0.1)

결과

 

네번째 시도

model2 = Sequential()
model2.add(Embedding(max_words, 100, input_length=max_len))
model2.add(Bidirectional(LSTM(32)))
model2.add(Dropout(0.1))
model2.add(Dense(2, activation='sigmoid'))

model2.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history2 = model2.fit(X_train_vec, y_train, epochs=1, batch_size=32, validation_split=0.1)

결과

 

다섯번째 시도

model2 = Sequential()
model2.add(Embedding(max_words, 100, input_length=max_len))
model2.add(Bidirectional(LSTM(32)))
model2.add(Dropout(0.1))
model2.add(Dense(2, activation='sigmoid'))

model2.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history2 = model2.fit(X_train_vec, y_train, epochs=1, batch_size=16, validation_split=0.1)

결과

 

Comments