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


Python sklearn cross_val_predict用法及代码示例


本文简要介绍python语言中 sklearn.model_selection.cross_val_predict 的用法。

用法:

sklearn.model_selection.cross_val_predict(estimator, X, y=None, *, groups=None, cv=None, n_jobs=None, verbose=0, fit_params=None, pre_dispatch='2*n_jobs', method='predict')

为每个输入数据点生成 cross-validated 估计值。

根据 cv 参数拆分数据。每个样本恰好属于一个测试集,并且它的预测是通过安装在相应训练集上的估计器来计算的。

将这些预测传递到评估指标中可能不是衡量泛化性能的有效方法。结果可能与 cross_validate cross_val_score 不同,除非所有测试集具有相同的大小并且度量标准在样本上分解。

在用户指南中阅读更多信息。

参数

estimator实现‘fit’和‘predict’的估计器对象

用于拟合数据的对象。

X形状类似数组 (n_samples, n_features)

要拟合的数据。例如,可以是一个列表,或者一个至少 2d 的数组。

y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类似数组,默认=无

在监督学习的情况下尝试预测的目标变量。

groups形状类似数组 (n_samples,),默认=None

将数据集拆分为训练/测试集时使用的样本的分组标签。仅与 “Group” cv 实例(例如 GroupKFold )结合使用。

cvint,交叉验证生成器或可迭代的,默认=无

确定交叉验证拆分策略。 cv 的可能输入是:

  • 无,使用默认的 5 折交叉验证,
  • int,指定 (Stratified)KFold 中的折叠数,
  • CV分配器,
  • 生成(训练,测试)拆分为索引数组的迭代。

对于 int/None 输入,如果估计器是分类器并且 y 是二进制或多类,则使用 StratifiedKFold 。在所有其他情况下,使用 KFold 。这些拆分器使用 shuffle=False 实例化,因此拆分在调用之间将是相同的。

有关可在此处使用的各种交叉验证策略,请参阅用户指南。

n_jobs整数,默认=无

并行运行的作业数。训练估计器和预测在交叉验证拆分上并行化。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关详细信息,请参阅词汇表。

verbose整数,默认=0

详细程度。

fit_params字典,默认=无

传递给估计器的 fit 方法的参数。

pre_dispatchint或str,默认=’2*n_jobs’

控制在并行执行期间分派的作业数。当调度的作业多于 CPU 可以处理的数量时,减少此数字有助于避免内存消耗的爆炸式增长。该参数可以是:

  • 无,在这种情况下,所有作业都会立即创建和生成。将此用于轻量级和 fast-running 作业,以避免由于生成作业 on-demand 造成的延迟

  • 一个 int,给出产生的总作业的确切数量

  • 一个 str,给出一个表达式作为 n_jobs 的函数,如 ‘2*n_jobs’

method{‘predict’, ‘predict_proba’,‘predict_log_proba’,‘decision_function’},默认='预测'

estimator 要调用的方法。

返回

predictionsndarray

这是调用 method 的结果。形状:

  • method 是 ‘predict’ 并且在 method 是 ‘decision_function’ 并且目标是二进制的特殊情况下:(n_samples,)

  • method 是 {‘predict_proba’, ‘predict_log_proba’, ‘decision_function’} 之一(除非上述特殊情况):(n_samples,n_classes)

  • 如果estimator 是多输出,则会在上面每个形状的末尾添加一个额外的维度‘n_outputs’。

注意

在训练部分中缺少一个或多个类的情况下,如果 method 为每个类生成列,则需要为该类的所有实例分配默认分数,如 {‘decision_function’, ‘predict_proba’, ‘predict_log_proba’}。对于predict_proba,此值为 0。为了确保有限输出,我们在其他情况下通过 dtype 的最小有限浮点值近似负无穷大。

例子

>>> from sklearn import datasets, linear_model
>>> from sklearn.model_selection import cross_val_predict
>>> diabetes = datasets.load_diabetes()
>>> X = diabetes.data[:150]
>>> y = diabetes.target[:150]
>>> lasso = linear_model.Lasso()
>>> y_pred = cross_val_predict(lasso, X, y, cv=3)

相关用法


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