2016-02-12 9 views

答えて

5

ないとまったく同じコード。 partial_fittotal_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メソッドに提供したすべてのサンプルをカバーしていない場合があります。ドキュメントに記載されているように、あなたがこの権利を行う場合でも、あなたはまた、異なる結果を得ることができます:

  • 「インクリメンタル学習者自身が新しい/目に見えないターゲットクラスに対処できないことがあります。この場合、あなたがする必要があります。 classes =パラメータを使用して、すべての可能なクラスを最初のpartial_fit呼び出しに渡します。
  • 「[...]適切なアルゴリズムを選択すると、それらのすべてが時間をかけて、各例に同じ重要性を入れていないということです[...]」

sklearnドキュメント:http://scikit-learn.org/stable/modules/scaling_strategies.html#incremental-learning

関連する問題