原创不易,如果有转载需要的话,请在首行附上本文地址,谢谢。

第一步加载IMDB数据集,如若加载不成功,这里提供一种解决方法:点开IMDB数据下载链接(喜欢的话给个小星星和follow一下),fork到自己的仓库中下载imdb.pnz,或者直接下载imdb.pnz。下载好后将imdb.pnz放入你的keras数据库中如:~/.keras/datasets/,即可正常运行。

具体代码如下(放到编译器中可直接运行):

部分代码有注释,便于读者理解

from keras.datasets import imdb
(train_data,train_labels),(test_data,test_labels)=imdb.load_data(num_words=10000)import numpy as np
def vectorize_sequences(sequences,dimension=10000):results=np.zeros((len(sequences),dimension))for i,sequence in enumerate(sequences):results[i,sequence]=1return resultsx_train=vectorize_sequences(train_data)
x_test=vectorize_sequences(test_data)
print(x_train[0])y_train=np.asarray(train_labels).astype('float32')
y_test=np.asarray(test_labels).astype('float32')from keras import models
from keras import layersmodel= models.Sequential()
model.add(layers.Dense(16,activation='relu',input_shape=(10000,)))
model.add(layers.Dense(16,activation='relu'))
model.add(layers.Dense(1,activation='sigmoid'))
# =============================================================================
# #编译模型
# model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=['accuracy'])
# =============================================================================# =============================================================================
##配置优化器、损失函数
# from keras import optimezers
# from keras import losses
# from keras import metrics
# model.compile(optimezers=optimezers.RMSprop(lr=0.001),loss=losses.binary_crossentropy,metrics=[metrics.binary_accuracy])
# =============================================================================#留出验证集
x_val=x_train[:10000]
partial_x_train=x_train[10000:]
y_val=y_train[:10000]
partial_y_train=y_train[10000:]#训练模型
model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=['acc'])
history=model.fit(partial_x_train,partial_y_train,epochs=20,batch_size=512,validation_data=(x_val,y_val))#绘制训练损失和验证损失
import matplotlib.pyplot as plt
history_dict=history.history
loss_values=history_dict['loss']
val_loss_values=history_dict['val_loss']
epochs=range(1,len(loss_values)+1)
plt.plot(epochs,loss_values,'bo',label='Training loss')
plt.plot(epochs,val_loss_values,'b',label='Validation loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()#绘制训练精度和验证精度
plt.clf()  #清空图像
acc=history_dict['acc']
val_acc=history_dict['val_acc']
plt.plot(epochs,acc,'bo',label='Training acc')
plt.plot(epochs,val_acc,'b',label='Validation acc')
plt.title('Training and validation accuracy')
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend()
plt.show()# =============================================================================
# #重头开始训练,epoch改为4
# model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=['accuracy'])
# model.fit(x_train,y_train,epochs=4,batch_size=512)
# results=model.evaluate(x_test,y_test)
# =============================================================================# =============================================================================
# #使用训练好的网络在新数据上生成预测结果
# model.predict(x_test)
# =============================================================================

基于Keras的IMDB数据集电影评论情感二分类相关推荐

  1. 使用逻辑回归和词向量进行(英文)电影评论情感(二)分类

    问题描述:对电影评论进行情感分类,类型一共有两种:正面评价 (pos) 和负面评价 (neg). 训练数据集:英文电影评论及对应的分类标签,保存在工作路径下.样本举例如下: 使用的算法:sklearn ...

  2. 从爬取豆瓣影评到基于朴素贝叶斯的电影评论情感分析(下)

    基于朴素贝叶斯的电影评论情感分析 用到的包:pandas.jieba(分词工具) file=open(r"review.txt",'r',encoding='utf-8') rev ...

  3. Keras之DNN::基于Keras(sigmoid+binary_crossentropy+predict_classes)利用DNN实现二分类——DIY二分类数据集预测新数据点

    Keras之DNN::基于Keras(sigmoid+binary_crossentropy+predict_classes)利用DNN实现二分类--DIY二分类数据集&预测新数据点 目录 输 ...

  4. 朴素贝叶斯情感分析评分python_「豆瓣影评」从爬取豆瓣影评到基于朴素贝叶斯的电影评论情感分析(上) - seo实验室...

    豆瓣影评 一.爬取豆瓣影评 基本思路:先获取每个电影的评论区链接,然后依次进入其评论区爬取评论.选取10部电影,每部200条评论. 用到的包为:BeautifulSoup,urllib 这里选取的链接 ...

  5. 从爬取豆瓣影评到基于朴素贝叶斯的电影评论情感分析(上)

    一.爬取豆瓣影评 基本思路:先获取每个电影的评论区链接,然后依次进入其评论区爬取评论.选取10部电影,每部200条评论. 用到的包为:BeautifulSoup,urllib 这里选取的链接为:豆瓣电 ...

  6. 【自然语言处理(NLP)】基于FNN网络的电影评论情感分析

    [自然语言处理(NLP)]基于FNN网络的电影评论情感分析 作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建 ...

  7. 【自然语言处理】基于NLP的电影评论情感分析模型比较

    基于NLP的电影评论情感分析模型比较 一段时间以来,使用机器学习的 NLP 任务借助 BERT(Bidirectional Encoder Representations from Transform ...

  8. NLP之NBGBT:基于朴素贝叶斯(count/tfidf+网格搜索+4fCrva)、梯度提升树(w2c+网格搜索+4fCrva)算法对IMDB影评数据集进行文本情感分析(情感二分类预测)

    NLP之NB&GBT:基于朴素贝叶斯(count/tfidf+网格搜索+4fCrva).梯度提升树(w2c+网格搜索+4fCrva)算法对IMDB影评数据集进行文本情感分析(情感二分类预测) ...

  9. 4.使用Keras和Tensorflow Hub对电影评论进行文本分类

    使用Keras和Tensorflow Hub对电影评论进行文本分类 本指南使用tf.keras(一个在TensorFlow中用于构建和训练模型的高级API)和tensorflow_hub(一个用于在一 ...

最新文章

  1. Python 全栈开发 -- 开发环境篇
  2. MySQL 5.6 解决InnoDB: Error: Table “mysql“.“innodb_table_stats“ not found.问题
  3. js画布组件(canvas/canvas)
  4. python内置函数中的 IO文件系列 open和os
  5. 2016年6月TIOBE编程语言排行榜:涨幅最大的名字很长
  6. 鸡啄米vc++2010系列40(文档、视图和框架:分割窗口)
  7. python观察日志(part8)--文件名和路径
  8. 2020年中国网络安全市场全景图
  9. [Java] 蓝桥杯ADV-210 算法提高 2-1屏幕打印
  10. 【转】IDEA类和方法注释模板设置(非常详细)
  11. 老毛子 安装 mysql_老毛子固件mysql启动失败的解决方法
  12. 阿里云服务器突发性能型和共享型哪个好
  13. MA均线指标详解、价托、量托
  14. .Net 7里的函数.Ctor和.CCtor是干啥用的呢?你知道吗
  15. 华中科技大学计算机课程设计,华中科技大学计算机学院操作系统课程设计资料报告材料[1].doc...
  16. JS基本类型与无法定义的属性
  17. ADC0809转换器
  18. “智能对话机器人”离“智能”还有多远?
  19. IDL常见问题与总结
  20. 【Redis】孔夫子旧书网爬虫接入芝麻代理IP:代理IP利用效率最大化

热门文章

  1. 过滤器,监听器,拦截器的区别
  2. 基于R的FP树fp growth 关联数据挖掘技术在煤矿隐患管理
  3. oracle中的列在此处不,为什么列在此处不允许?
  4. svn没有对号等符号的问题
  5. 利用会声会影在局部,打马赛克
  6. iPhone12全面曝光10月上市 iPhone12是5g双卡双待手机
  7. 煮咖啡的动态页面演示动画
  8. 基于GAN的图像配准汇总
  9. 电容三点式LC振荡器电路组成及工作原理简述
  10. 对象认知全提升,成为 JS 高手