Как RuntimeWarning: переполнение, обнаруженное в exp в LDA - PullRequest
0 голосов
/ 01 мая 2018
ldamodel, fequency_list,vect = create_ldamodel(documents = chatTurn.case_content, num_topics = 6)

Я использую приведенный выше код LDA, и он выглядит следующим образом.

/ Users / пользователь / 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)

Могу я узнать, есть ли какое-то решение?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Мои ошибки выполнения были следующие: RuntimeWarning: переполнение, обнаруженное в exp expElogthetad = np.exp (Elogthetad) Попробовав столько и много раз, я натолкнулся на чтение, в котором рекомендовал удалить numpy и заново установить его снова:

python3.6 pip uninstall numpy и установить его обратно: python3.6 -m pip install -U numpy

0 голосов
/ 16 июня 2018

Поскольку ваша numpy не соответствует gensim, возможно, обновите numpy в вашей текущей среде или укажите версию numy, соответствующую вашей версии gensim. Надеюсь, что это полезно для вас. ^^

...