При использовании модели LDA каждый раз я получаю разные темы, и я хочу реплицировать один и тот же набор. Я искал аналогичный вопрос в Google, например this.Не удалось исправить начальное значение в модели LDA в gensim
Я фиксирую семена, как показано в статье, num.random.seed(1000)
, но это не сработает. Я прочитал ldamodel.py
и найти код ниже:
def get_random_state(seed):
"""
Turn seed into a np.random.RandomState instance.
Method originally from maciejkula/glove-python, and written by @joshloyal
"""
if seed is None or seed is numpy.random:
return numpy.random.mtrand._rand
if isinstance(seed, (numbers.Integral, numpy.integer)):
return numpy.random.RandomState(seed)
if isinstance(seed, numpy.random.RandomState):
return seed
raise ValueError('%r cannot be used to seed a numpy.random.RandomState'
' instance' % seed)
Поэтому я использую код:
lda = models.LdaModel(
corpus_tfidf,
id2word=dic,
num_topics=2,
random_state=numpy.random.RandomState(10)
)
Но это все еще не работает.