2016-08-11 8 views
2

問題の原因は一般的です。Sklearn Fitモデル複数回

大量の列車データが存在し、チャンクで読み込まれています。関心のあるポイントは、チャンクされたデータセットに所望のモデルを順番に適合させ、以前の適合の状態を維持することである。

partial_fit()以外の方法がありますか?異なるデータにsklearnを使用してモデルを適合させる方法はありますか?またはこの問題のためにカスタマイズするためにfit()関数のコードを書き換えるためのトリックがありますか?それともpickleでsomekowを実現できますか?

+1

のために()'を予測する必要がありますか? – 0x60

+0

@ 0x60、おそらくpartial_fitはモデルのサブセットのみで動作するからです。 – miku

+0

利用可能なメソッドの範囲が限られているので、正確に –

答えて

4

一部のモデルがpartial_fit()などを公開する理由があります。すべてのモデルは異なる機械学習アルゴリズムであり、これらのアルゴリズムの多くでは、モデルをゼロから再計算せずに要素を追加する方法はありません。

モデルを段階的に適合させる必要がある場合は、partial_fit()のインクリメンタルモデルを選択します。 this documentation pageに完全なリストがあります。

また、アンサンブルモデルを作成することもできます。あなたは持っているデータのすべての塊のための別のClassifier()またはRegression()を作成してください。そして、あなたは何か、することができますだけで

for classifier in classifiers: 
    votes[classifier.predict(X)] += 1 
prediction = numpy.argmax(votes) 

か、なぜあなたは `partial_fitを避けるためにしようとしている説明変数

prediction = numpy.mean([regressor.predict(X) for regressor in regressors] 
+0

はい、これは私が不思議に思っていた点です。私はMLアルゴリズムのいくつかが再構築することはほとんどできないことを理解しています。ですから、 'partial_fit()'のないメソッドに対しては大きなRAMを持つ方法はありませんか?私はフィットした結果を保存し、新しいフィット後に結果と何らかの形でそれを比較する方法があるかもしれないと思った。 –

+0

私は参照してください。答えに別の考えを投げた。 – 0x60

関連する問題