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


Python dask_ml.wrappers.ParallelPostFit用法及代码示例


用法:

class dask_ml.wrappers.ParallelPostFit(estimator=None, scoring=None, predict_meta=None, predict_proba_meta=None, transform_meta=None)

Meta-estimator 用于并行预测和变换。

参数

estimator估计器

适合的基础估计量。

scoring字符串或可调用,可选

单个字符串(参见评分参数:定义模型评估规则)或可调用的(见从度量函数定义你的评分策略) 来评估对测试集的预测。

为了评估多个指标,或者给出一个(唯一的)字符串列表,或者给出一个名称作为键、可调用对象作为值的字典。

请注意,使用自定义记分器时,每个记分器应返回一个值。返回值列表/数组的度量函数可以包装到多个记分器中,每个记分器返回一个值。

有关示例,请参阅指定多个指标进行评估。

警告

如果没有,则使用估计器的默认记分器(如果可用)。大多数 scikit-learn 估计器会将大型 Dask 数组转换为单个 NumPy 数组,这可能会耗尽您的工作人员的内存。您可能希望始终指定 scoring

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 而言,此元是必需的

注意

警告

此类不适用于并行或分布式训练在大型数据集上。为此,请参阅dask_ml.wrappers.Incremental,它提供分布式(但顺序)训练。如果您正在 larger-than-memory 数据集上进行分布式超参数优化,请参阅dask_ml.model_selection.IncrementalSearch.

此估计器不会并行化训练步骤。这只是调用底层估计器的fit方法,然后将学习的属性复制到self

这对于您的训练数据集相对较小(适合单台机器)但您需要预测或转换更大的数据集的情况很有帮助。 predict , predict_probatransform 将并行完成(如果您已连接到 dask.distributed.Client 则可能分发)。

请注意,许多scikit-learn 估计器已经并行预测和转换。当您的数据集大于内存时,此meta-estimator 可能仍然有用,因为分布式调度程序将确保数据不会一次全部读入内存。

例子

>>> from sklearn.ensemble import GradientBoostingClassifier
>>> import sklearn.datasets
>>> import dask_ml.datasets

制作一个包含 1,000 个样本的小型 2 训练数据集并正常拟合。

>>> X, y = sklearn.datasets.make_classification(n_samples=1000,
...                                             random_state=0)
>>> clf = ParallelPostFit(estimator=GradientBoostingClassifier(),
...                       scoring='accuracy')
>>> clf.fit(X, y)
ParallelPostFit(estimator=GradientBoostingClassifier(...))
>>> clf.classes_
array([0, 1])

转换和预测 dask 输入的返回 dask 输出。

>>> X_big, y_big = dask_ml.datasets.make_classification(n_samples=100000,
                                                        random_state=0)
>>> clf.predict(X)
dask.array<predict, shape=(10000,), dtype=int64, chunksize=(1000,)>

可以并行计算。

>>> clf.predict_proba(X).compute()
array([[0.99141094, 0.00858906],
       [0.93178389, 0.06821611],
       [0.99129105, 0.00870895],
       ...,
       [0.97996652, 0.02003348],
       [0.98087444, 0.01912556],
       [0.99407016, 0.00592984]])

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask_ml.wrappers.ParallelPostFit。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。