keras IMDB数据集 LSTM分类

在keras提供的IMDB数据集中,word被映射为一个大于0的整数,表示该单词出现频率的排名,这样处理的目的是为了方便按照词频过滤单词,其中0用于表示unknown word

载入数据
x_train.shape=(25000,) 是一个25000维的向量,每个元素是一个int型的list,表示该样本的word sequence
y_train.shape=(25000,) 是一个25000维的向量,其中包含12500个0,12500个1
x_test.shape=(25000,)
y_test.shape=(25000,) 包含12500个0,12500个1

调用sequence.pad_sequences对样本进行处理,使得所有样本的word sequence为指定长度(此处为80)
比指定长度短的word sequence填充0
比指定长度长的word sequence直接截断
x_train.shape=(25000, 80)
x_test.shape=(25000, 80)

model的第1层为Embedding层,将一个正整数编码为一个dense vector
输入:(batch_size, sequence_length)
输出:(batch_size, sequence_length, output_dim)

以x_train输入到Embedding( input_dim=200000, output_dim=128 )为例,input_dim表示正整数的最大值+1,output_dim为dense vector的维度
输入:x_train.shape=(25000, 80)
输出:x_train_embedding.shape=(25000, 80, 128)

在Embedding层之上添加
model.add( LSTM( 128, dropout=0.2, recurrent_dropout=0.2 ) )
model.add( Dense( 1, activation=’sigmoid’ ) )

源代码见https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值