|
MLP建模
模型结构:
嵌入层:用于转换为向量列表(NLP知识点)
平坦层
隐藏层
输出层
建立模型
- from keras.models import Sequential
- from keras.layers import Dense,Dropout,Embedding,Flatten
- model = Sequential()
- model.add(Embedding(output_dim=32,
- input_dim=10000,
- input_length=100))
- model.add(Dropout(0.2))
- model.add(Flatten())
- model.add(Dense(units=256,
- activation='relu' ))
- model.add(Dropout(0.2))
- model.add(Dense(units=1,
- activation='sigmoid' ))
复制代码
训练模型
- model.compile(loss='binary_crossentropy',
- optimizer='adam',
- metrics=['accuracy'])
- train_history =model.fit(X_train, y_train,batch_size=100,
- epochs=10,verbose=2,
- validation_split=0.2)
复制代码
测试
- scores = model.evaluate(X_test, y_test, verbose=1)
- scores[1]
- # result 0.7925
复制代码
LSTM建模
LSTM模型是一种递归神经网络,用来解决RNN的长期依赖问题的。
模型结构
嵌入层:用于转换为向量列表(NLP知识点)
LSTM层
隐藏层
输出层
建立模型
- from keras.models import Sequential
- from keras.layers import Dense,Dropout,Embedding,Flatten,LSTM
- model = Sequential()
- model.add(Embedding(output_dim=32,
- input_dim=10000,
- input_length=100))
- model.add(Dropout(0.2))
- model.add(LSTM(32))
- model.add(Dense(units=256,
- activation='relu' ))
- model.add(Dropout(0.2))
- model.add(Dense(units=1,
- activation='sigmoid' ))
复制代码
训练模型
- model.compile(loss='binary_crossentropy',
- optimizer='adam',
- metrics=['accuracy'])
- train_history =model.fit(X_train, y_train,batch_size=100,
- epochs=10,verbose=2,
- validation_split=0.2)
复制代码
测试
- scores = model.evaluate(X_test, y_test, verbose=1)
- scores[1]
- # result 0.8025
复制代码
|
|