【问题标题】:How to RuntimeWarning: overflow encountered in exp in LDA如何运行时警告:LDA 中的 exp 中遇到溢出
【发布时间】:2018-10-11 15:10:35
【问题描述】:
ldamodel, fequency_list,vect = create_ldamodel(documents = chatTurn.case_content, num_topics = 6)

我正在运行上面的 LDA 代码,它出现的语句如下。

/Users/user/anaconda3/lib/python3.6/site-packages/gensim/models/ldamodel.py:497:RuntimeWarning:exp中遇到溢出 expElogthetad = np.exp(Elogthetad)

我使用的LDA模型函数如下:

def create_ldamodel(documents, num_topics):
    vect = CountVectorizer(stop_words = 'english')
    X = vect.fit_transform(documents.apply(lambda x:x.lower()))
    corpus = gensim.matutils.Sparse2Corpus(X, documents_columns=False)
    id_map = dict((v,k) for k, v in vect.vocabulary_.items())
    ldamodel = gensim.models.ldamodel.LdaModel(corpus,      num_topics=num_topics,
                                          id2word = id_map)

fequency_list = dict()
for i in list(ldamodel[corpus]):
    for j_k, j_v in i:
        if j_k in fequency_list:
            fequency_list[j_k] += j_v
        else:
            fequency_list[j_k] = 0

return (ldamodel, fequency_list,vect)

请问有什么解决办法吗?

【问题讨论】:

    标签: python lda


    【解决方案1】:

    我的运行时错误如下: RuntimeWarning:exp 中遇到溢出 expElogthetad = np.exp(Elogthetad) 在尝试了很多次和事情之后,我遇到了一个阅读建议卸载 numpy 并重新安装它:

    python3.6 pip卸载numpy 并将其安装回来: python3.6 -m pip install -U numpy

    【讨论】:

    • 非常感谢。我更改了版本,它可以工作
    【解决方案2】:

    因为您的 numpy 与 gensim 不匹配,可能在您当前的环境中更新 numpy 或指定 numpy 版本以匹配您的 gensim 版本。希望这对您有所帮助。 ^^

    【讨论】:

    • 是的。我更改了 numpy 的版本,它起作用了。谢谢。
    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2017-07-14
    相关资源
    最近更新 更多