设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1666|回复: 0

中文文本的分类(建模篇)

[复制链接]

17

主题

158

金钱

257

积分

入门用户

发表于 2019-8-13 15:52:26 | 显示全部楼层 |阅读模式

MLP建模
模型结构:
嵌入层:用于转换为向量列表(NLP知识点)
平坦层
隐藏层
输出层

建立模型
  1. from keras.models import Sequential
  2. from keras.layers import Dense,Dropout,Embedding,Flatten
  3. model = Sequential()
  4. model.add(Embedding(output_dim=32,
  5.                     input_dim=10000,
  6.                     input_length=100))
  7. model.add(Dropout(0.2))
  8. model.add(Flatten())
  9. model.add(Dense(units=256,
  10.                 activation='relu' ))
  11. model.add(Dropout(0.2))

  12. model.add(Dense(units=1,
  13.                 activation='sigmoid' ))
复制代码



训练模型
  1. model.compile(loss='binary_crossentropy',
  2.               optimizer='adam',
  3.               metrics=['accuracy'])

  4. train_history =model.fit(X_train, y_train,batch_size=100,
  5.                          epochs=10,verbose=2,
  6.                          validation_split=0.2)
复制代码


1.png

测试
  1. scores = model.evaluate(X_test, y_test, verbose=1)
  2. scores[1]

  3. # result 0.7925
复制代码




LSTM建模
LSTM模型是一种递归神经网络,用来解决RNN的长期依赖问题的。

模型结构
嵌入层:用于转换为向量列表(NLP知识点)
LSTM层
隐藏层
输出层

建立模型
  1. from keras.models import Sequential
  2. from keras.layers import Dense,Dropout,Embedding,Flatten,LSTM

  3. model = Sequential()
  4. model.add(Embedding(output_dim=32,
  5.                     input_dim=10000,
  6.                     input_length=100))
  7. model.add(Dropout(0.2))
  8. model.add(LSTM(32))
  9. model.add(Dense(units=256,
  10.                 activation='relu' ))
  11. model.add(Dropout(0.2))
  12. model.add(Dense(units=1,
  13.                 activation='sigmoid' ))
复制代码


训练模型
  1. model.compile(loss='binary_crossentropy',
  2.               optimizer='adam',
  3.               metrics=['accuracy'])

  4. train_history =model.fit(X_train, y_train,batch_size=100,
  5.                          epochs=10,verbose=2,
  6.                          validation_split=0.2)
复制代码

2.png

测试
  1. scores = model.evaluate(X_test, y_test, verbose=1)
  2. scores[1]

  3. # result 0.8025
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表