首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用model.predict测试Keras情感分类

用model.predict测试Keras情感分类
EN

Stack Overflow用户
提问于 2015-11-05 03:30:30
回答 2查看 2.9K关注 0票数 2

我在我的电脑上训练过imdb_lstm.py。现在我想通过输入一些我自己的文字来测试经过训练的网络。我该怎么做呢?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-08 11:40:59

因此,您需要做的基本工作如下:

  1. 标记sequnces:将字符串转换为单词(功能):例如:“你好,我的名字是georgio”,改为"hello"," my "," name "," is ","georgio“。
  2. 接下来,您想要删除停止词(查看Google中的停止词是什么)。
  3. 这个阶段是可选的,它可能导致错误的结果,但我认为值得一试。停止你的文字(特征),这样你将减少功能的数量,这将导致更快的运行。再说一遍,这是可选的,可能会导致一些失败,例如:如果你用“停车”这个词,你就会得到“公园”这个词,而这个词有着不同的含义。
  4. 下一件事是创建一本字典(请查看Google的相关信息)。每个单词都有一个唯一的数字,从这一点开始,我们将只使用这个数字。
  5. 计算机只懂数字,所以我们需要用他们的语言说话。我们将从第四阶段取字典,用匹配的编号替换语料库中的每个单词。
  6. 现在,我们需要将数据集分成两组:培训集和测试集。第一个(训练)将训练我们的神经网络模型,第二个(测试)将帮助我们找出我们的神经网络有多好。您可以使用Keras的交叉验证函数。
  7. 下一步是定义我们的NN作为输入可以得到的最大特征数。Keras调用这个参数- 'maxlen‘。但是你不需要手动完成这个任务,Keras可以通过搜索你的语料库中最长的句子就可以自动做到这一点。
  8. 接下来,假设Keras发现你的语料库中最长的句子有20个单词(特征),其中一个句子是第一阶段的例子,它的长度是5(如果我们删除停止词,它会更短),在这种情况下,我们需要添加零,实际上15个零。这就是所谓的pad序列,我们这样做,所以每个输入序列将在相同的长度。
票数 8
EN

Stack Overflow用户

发布于 2015-11-06 04:24:28

这可能会有帮助。http://keras.io/models/

这是一个示例用法。How to use keras for XOR

也许你必须先把你的语料库转换成ndarray,然后把它扔到你的model.predict上。

从目前来看,训练模型的model.predict输入应该是100字语料库,它代表词典中每个单词的索引。所以,如果你想用你的语料库来训练它,你必须根据那些字典转换你的语料库,看看结果是0还是1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33536182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档