当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。