當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python dask_ml.wrappers.Incremental用法及代碼示例

用法:

class dask_ml.wrappers.Incremental(estimator=None, scoring=None, shuffle_blocks=True, random_state=None, assume_equal_chunks=True, predict_meta=None, predict_proba_meta=None, transform_meta=None)

Metaestimator 用於將 Dask Arrays 逐塊饋送到估計器。

這個包裝器在 Dask 對象和實現partial_fitAPI。這些增量學習者可以訓練批量數據。這非常適合 Dask 的阻塞數據結構。

注意

此 meta-estimator 不適用於 larger-than-memory 數據集上的超參數優化。為此,請參閱 IncrementalSearchCVHyperbandSearchCV

請參閱scikit-learn 文檔中的list of incremental learners,了解實現partial_fit API 的估算器列表。請注意,Incremental 不僅限於這些類,它適用於實現 partial_fit 的任何估計器,包括那些在 scikit-learn 本身之外定義的估計器。

調用Incremental.fit()使用 Dask 數組會將 Dask 數組或數組的每個塊傳遞給estimator.partial_fit 依次.

ParallelPostFit 一樣,擬合後可用的方法(例如 Incremental.predict() 等)都是並行和延遲的。

estimator_ 屬性是在調用 fit 期間實際使用的 estimator 的克隆。在訓練期間學習的所有屬性都可以直接在Incremental 上使用。

參數

estimator估計器

任何支持 scikit-learn partial_fit API 的對象。

scoring字符串或可調用,可選

單個字符串(參見評分參數:定義模型評估規則)或可調用的(見從度量函數定義你的評分策略) 來評估對測試集的預測。

為了評估多個指標,或者給出一個(唯一的)字符串列表,或者給出一個名稱作為鍵、可調用對象作為值的字典。

請注意,使用自定義記分器時,每個記分器應返回一個值。返回值列表/數組的度量函數可以包裝到多個記分器中,每個記分器返回一個值。

有關示例,請參閱指定多個指標進行評估。

警告

如果沒有,則使用估計器的默認記分器(如果可用)。大多數 scikit-learn 估計器會將大型 Dask 數組轉換為單個 NumPy 數組,這可能會耗盡您的工作人員的內存。您可能希望始終指定 scoring

random_stateint 或 numpy.random.RandomState,可選

確定如何Shuffle[洗牌]塊的隨機對象。

shuffle_blocks布爾值,默認為真

確定是在隨機選擇的 Dask 數組塊(默認)上調用 partial_fit,還是按順序排列。這不控製塊之間的洗牌或洗牌每個塊。

predict_meta: pd.Series, pd.DataFrame, np.array deafult: None(infer)

與估計器 predict 調用的輸出類型匹配的空 pd.Series , pd.DataFrame , np.array。對於某些估算器使用 dask.dataframedask.array 而言,此元是必需的

predict_proba_meta: pd.Series, pd.DataFrame, np.array deafult: None(infer)

與估計器 predict_proba 調用的輸出類型匹配的空 pd.Series , pd.DataFrame , np.array。對於某些估算器使用 dask.dataframedask.array 而言,此元是必需的

transform_meta: pd.Series, pd.DataFrame, np.array deafult: None(infer)

與估計器 transform 調用的輸出類型匹配的空 pd.Series , pd.DataFrame , np.array。對於某些估算器使用 dask.dataframedask.array 而言,此元是必需的

屬性

estimator_估計器

.fit 調用期間實際適合的 estimator 的克隆。

例子

>>> from dask_ml.wrappers import Incremental
>>> from dask_ml.datasets import make_classification
>>> import sklearn.linear_model
>>> X, y = make_classification(chunks=25)
>>> est = sklearn.linear_model.SGDClassifier()
>>> clf = Incremental(est, scoring='accuracy')
>>> clf.fit(X, y, classes=[0, 1])

在網格搜索中使用時,在底層估計器的參數名稱前加上 estimator__

>>> from sklearn.model_selection import GridSearchCV
>>> param_grid = {"estimator__alpha": [0.1, 1.0, 10.0]}
>>> gs = GridSearchCV(clf, param_grid)
>>> gs.fit(X, y, classes=[0, 1])

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask_ml.wrappers.Incremental。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。