gensim の models.ldamodel の再現性に関するメモ

gensim の ldamodel を使ってモデル化、推定するとどうにも毎回異なる結果になってしまう。

アルゴリズムにランダム性があるかなのかよくわからないが、素人なので調べようもない。

で、公式を見ていたらそれっぽいオプショナルパラメタがあり、そいつを設定したらとりあえず再現性を担保できるようになった(何回やっても同じ結果が得られるようになった)ので、方法として有用なのかどうかわからないがメモしておく。

random_state ({np.random.RandomState, int}, optional) – Either a randomState object or a seed to generate one. Useful for reproducibility.

[日本語訳 Google 翻訳]
random_state({np.random.RandomState、int}、オプション)–randomStateオブジェクトまたはシードを生成します。 再現性に役立ちます。
LdaModel(corpus=corpus, num_topics=NUM_TOPICS, id2word=dictionary, random_state=1)

とりあえず random_state を指定することで再現性は担保されたが、じゃあこれいくつなら良いの?ということになる。

つづく

いいなと思ったら応援しよう!