奇妙なのは、fitとpartial_fitのコードがまったく同じように見えるということです。Sklearn LatentDirichletAllocationのフィットとpartial_fitが異なる結果を返すのはなぜですか?
次のリンクでコードを見ることができます:
https://github.com/scikit-learn/scikit-learn/blob/c957249/sklearn/decomposition/online_lda.py#L478
奇妙なのは、fitとpartial_fitのコードがまったく同じように見えるということです。Sklearn LatentDirichletAllocationのフィットとpartial_fitが異なる結果を返すのはなぜですか?
次のリンクでコードを見ることができます:
https://github.com/scikit-learn/scikit-learn/blob/c957249/sklearn/decomposition/online_lda.py#L478
ないとまったく同じコード。 partial_fit
はtotal_samples
を使用しています。
" total_samples:文書のint型、オプション(= 1E6デフォルト) 総数のみpartial_fit方法で使用されます。。"
https://github.com/scikit-learn/scikit-learn/blob/c957249/sklearn/decomposition/online_lda.py#L184
(部分にフィット)https://github.com/scikit-learn/scikit-learn/blob/c957249/sklearn/decomposition/online_lda.py#L472
(がをフィット)https://github.com/scikit-learn/scikit-learn/blob/c957249/sklearn/decomposition/online_lda.py#L510
それはあなたの興味のある念のために:partial_fit
はいつでもあなたのデータセットを使用するための良い候補であります本当に本当に大きいです。可能であればのメモリ問題に入るのではなく、インクリメンタルラーニングと呼ばれる小さなバッチでフィッティングを実行します。
したがって、あなたの場合、total_samples
のデフォルト値は1000000.0
であることを考慮する必要があります。したがって、この数値を変更せずにサンプルの実数が大きい場合は、fit
メソッドとfit_partial
メソッドで異なる結果が得られます。または、fit_partial
でミニバッチを使用していて、fit
メソッドに提供したすべてのサンプルをカバーしていない場合があります。ドキュメントに記載されているように、あなたがこの権利を行う場合でも、あなたはまた、異なる結果を得ることができます:
sklearnドキュメント:http://scikit-learn.org/stable/modules/scaling_strategies.html#incremental-learning