首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras one_hot编码--当不保证一致性时,有什么意义?

Keras one_hot编码--当不保证一致性时,有什么意义?
EN

Data Science用户
提问于 2019-09-23 08:37:32
回答 2查看 168关注 0票数 1

在以下示例中,文本:

“那只敏捷的棕色狐狸跳过了那只懒狗。”

获取编码[5, 9, 8, 7, 9, 1, 5, 3, 8]

我的代码:

这样,“brown”和“dog”这两个词就可以得到8、quickjumped 9的编码。

如果不保证一致性,编码的意义是什么?

https://machinelearningmastery.com/prepare-text-data-deep-learning-keras/ https://keras.io/preprocessing/text/

EN

回答 2

Data Science用户

发布于 2019-09-23 14:10:09

函数名的选择似乎很糟糕,因为one_hot函数实际上正在使用散列,并且等同于hashing_trick (具有标准设置)。

见本期:https://github.com/keras-team/keras/pull/6887

当我这么做时:

代码语言:javascript
复制
from keras.preprocessing.text import one_hot
from keras.preprocessing.text import hashing_trick

text = 'The quick brown fox jumped over the lazy dog.'
print(one_hot(text, n=9))
print(hashing_trick(text, n=9))

我得到了相同的结果:

代码语言:javascript
复制
[5, 6, 2, 6, 5, 8, 5, 4, 1]
[5, 6, 2, 6, 5, 8, 5, 4, 1]

因此,如果您想要“真正”(唯一)一个热编码结果,您需要求助于其他解决方案(目前没有Keras内置解决方案,正如我所相信的)。

票数 2
EN

Data Science用户

发布于 2019-09-23 14:03:37

你可以把它看作是降维,尽管知道它是如何和为什么把某些东西放入桶里是很重要的。我记得我读过关于Vowpal Wabbit做了一个复杂的版本(“特性散列”)来处理一个"terafeature“。

https://github.com/VowpalWabbit/vowpal_wabbit/wiki/特征-散列和提取

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

https://datascience.stackexchange.com/questions/60624

复制
相关文章

相似问题

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