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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。