IMDB网络电影数据集与自然语言处理(二)

步骤5:Embedding层将“数字列表”转化为"向量列表"(加入嵌入层)

1.导入所需模块

from keras.models import Sequential

from keras.layers.core import Dense, Dropout, Activation,Flatten

from keras.layers.embeddings import Embedding

2.建立模型

建立一个线性堆叠模型,后续只需将各个神经网络加入模型即可

model = Sequential()

3.将嵌入层加入模型

model.add(Embedding(output_dim=32, #输出维度为32,我们希望将数字列表转化为32维的向量

                    input_dim=2000, #输入的维度是2000,因为之前建立的字典有2000单词

                    input_length=100)) #数字列表每一项有100个数字

model.add(Dropout(0.2))   #加入dropout避免过度拟合

步骤6:将向量列表送入深度学习模型进行训练

1.多层感知机

1.1 建立多层感知机模型

(1)将平坦层加入模型

model.add(Flatten())

每一项100个数字,一个数字转化为32维向量,所以转换为平坦层的神经元有3200个

(2)将隐藏层加入模型

model.add(Dense(units=256,   #共256个神经元

                activation='relu' ))    #激活函数为relu

model.add(Dropout(0.2))   #  #加入dropout避免过度拟合

(3)将输出层加入模型

model.add(Dense(units=1,    #输出层只有一个神经元

                activation='sigmoid' ))  #定义激活函数sigmoid

(4)查看模型摘要


1.2 训练模型

(1)定义训练方法

model.compile(loss='binary_crossentropy',  #损失函数

              optimizer='adam',  #定义优化器

              metrics=['accuracy']) #定义评估方式

(2)开始训练

train_history =model.fit(x_train, y_train,batch_size=100, #每批次100项

                        epochs=10,verbose=2,  #训练周期为10,显示训练过程

                        validation_split=0.2)  #训练集比例为80%(20000)训练,20%验证(25000*0.2=5000)


以上执行界面可知,共执行了10个训练周期,可以发现误差越来越小,准确率越来越高。

准确率:


损失函数:

1.3 评估模型准确率

使用test测试

scores = model.evaluate(x_test, y_test, verbose=1)

scores[1]


1.4 进行预测

(1)执行预测

predict=model.predict_classes(x_test)

(2)查看预测结果


(3)使用一维数组查看预测结果

predict_classes=predict.reshape(-1)

predict_classes[:10]

结果:

1.5 查看测试集数据预测结果

(1)创建display_test_Sentiment函数

SentimentDict={1:'正面的',0:'负面的'}

def display_test_Sentiment(i):

    print(test_text[i])

    print('标签label:',SentimentDict[y_test[i]],

          '预测结果:',SentimentDict[predict_classes[i]])

(2)显示预测结果

display_test_Sentiment(2)



1.6 使用较大字典提取更多文字

2000改为3800



2. RNN

使用simpleRNN建立16个神经元的RNN层

from keras.models import Sequential

from keras.layers.core import Dense, Dropout, Activation

from keras.layers.embeddings import Embedding

from keras.layers.recurrent import SimpleRNN

model = Sequential()

model.add(Embedding(output_dim=32,

                    input_dim=3800,

                    input_length=380))

model.add(Dropout(0.35))

model.add(SimpleRNN(units=16))

model.add(Dense(units=256,activation='relu' ))

model.add(Dropout(0.35))

model.add(Dense(units=1,activation='sigmoid' ))

model.summary()



3. LSTM

from keras.models import Sequential

from keras.layers.core import Dense, Dropout, Activation,Flatten

from keras.layers.embeddings import Embedding

from keras.layers.recurrent import LSTM



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341

推荐阅读更多精彩内容