2016-02-12 30 views

回答

5

不完全相同的代碼; 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方法的所有樣品。而且,即使你這樣做的權利,你也可以得到不同的結果,如文檔中表示:

  • 「增量學習者本身可能無法應付新的/看不見的目標類在這種情況下,你必須使用classes =參數將所有可能的類傳遞給第一個partial_fit調用。「
  • 「[...]選擇適當的算法是,他們都不要把每個例如隨着時間的推移同樣的重要性[...]」

sklearn文檔:http://scikit-learn.org/stable/modules/scaling_strategies.html#incremental-learning

相關問題