iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 29
0
AI & Data

大數據的世代需學會的幾件事系列 第 29

Day29-Keras多層感知器MLP進行IMDb情緒分析

在昨天介紹自然語言處理時,利用word embedding方法,已經將資料預處理完成,今天要來建立多層感知器MLP模型,其步驟如下:

https://ithelp.ithome.com.tw/upload/images/20181113/20107244AybSkLtRMA.png

完成前一天的資料處理,建立模型,加入emdedding將資料預處理後的數字集合轉換為向量集合

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation,Flatten
from keras.layers.embeddings import Embedding

model = Sequential()
model.add(Embedding(output_dim=32,
                    input_dim=2000, 
                    input_length=100))
model.add(Dropout(0.2))

再來,如上圖步驟建立多層感知器MLP模型

model.add(Flatten())
model.add(Dense(units=256,
                activation='relu' ))
model.add(Dropout(0.2))
model.add(Dense(units=1,
                activation='sigmoid' ))
model.summary()

https://ithelp.ithome.com.tw/upload/images/20181113/20107244UkP3RKqE87.png

利用反向演算法訓練模型

model.compile(loss='binary_crossentropy',metrics=['accuracy'])
#進行訓練
#batch_size:每一批次訓練100筆資料
#epochs:執行10個訓練週期
#verbose:顯示每次的訓練過程
#validation_split:測試資料的比例
train_history =model.fit(x_train, y_train,batch_size=100,
                         epochs=10,verbose=2,validation_split=0.25)
                      
#評估訓練模型的準確率
acu = model.evaluate(x_test, y_test, verbose=1)
acu[1]

https://ithelp.ithome.com.tw/upload/images/20181113/201072443c5fxTHpCL.png


上一篇
Day28-NLP自然語言處理 介紹
下一篇
Day30-Keras循環神經網路RNN進行IMDb情緒分析
系列文
大數據的世代需學會的幾件事30

尚未有邦友留言

立即登入留言