[英]Gensim Word2Vec model floating point
我已经使用 gensim 训练了 word2vec model。 在模型矩阵中,一些值的浮点数如下所示:“-7.18556e-05”
我需要将矩阵上的值用作字符串。 有没有办法删除那些“e-05”、“e-04”等?
import nltk
from gensim.models import Word2Vec
from nltk.corpus import stopwords
text = "My text is here"
sentences = nltk.sent_tokenize(text)
for i in range(len(sentences)):
sentences[i] = [word for word in sentences[i] if word not in stopwords.words('english')]
model = Word2Vec(sentences, min_count=1)
words = model.wv.vocab
for word in words:
matrix = model.wv[words.keys()]
请注意,这些科学记数法打印输出是有效字符串,并且 Python 和许多可能在 output 上使用的读取例程都可以理解。
而且,当为某些非常特定的目的打印时,有各种格式选项(包括注释中提到的.format()
选项)可以准确地获得您需要的内容。 (您还没有展示您当前使用的触发矩阵/阵列显示的方法,因此不清楚在关键 output 点上更改显示的建议是最好的。)
而且:来自gensim
和大多数类似库的所有向量/矩阵通常由numpy
提供,它具有更改显示选项的全局设置,包括用于完全停止此类符号的suppress
参数。 有关更多详细信息,请参见其他答案:
https://stackoverflow.com/a/2891805/130288
最终,您可能不想依赖此设置,在某个特定时间和全球范围内,在一个特定的有意位置获得您想要的 output。 为此目的明确格式化结果会更清晰,更健壮的代码。 但作为一种快速解决方法,以上内容可能适合您的需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.