parametrize_with_checks#

sklearn.utils.estimator_checks.parametrize_with_checks(estimators, *, legacy: bool = True, expected_failed_checks: Callable | None = None)[原始碼]#

用於參數化估計器檢查的 Pytest 特定裝飾器。

檢查分為以下幾類

每個檢查的 id 都會設定為估計器的 pprint 版本以及檢查的名稱及其關鍵字參數。這允許使用 pytest -k 來指定要運行的測試

pytest test_check_estimators.py -k check_estimators_fit_returns_self
參數:
estimators估計器實例列表

要為其生成檢查的估計器。

在 0.24 版中變更:在 0.23 版中已棄用傳遞類別,並在 0.24 版中移除了對類別的支援。請改為傳遞實例。

在 0.24 版中新增。

legacybool,預設值為 True

是否包含 legacy 檢查。隨著時間的推移,我們會從此類別中刪除檢查,並將它們移至其特定類別。

在 1.6 版中新增。

expected_failed_checkscallable,預設值為 None

一個可調用物件,它將估計器作為輸入,並返回以下形式的字典

{
    "check_name": "my reason",
}

其中 "check_name" 是檢查的名稱,而 "my reason" 是檢查失敗的原因。如果檢查失敗,這些測試將標記為 xfail。

在 1.6 版中新增。

返回:
decoratorpytest.mark.parametrize

另請參閱

check_estimator

檢查估計器是否符合 scikit-learn 慣例。

範例

>>> from sklearn.utils.estimator_checks import parametrize_with_checks
>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.tree import DecisionTreeRegressor
>>> @parametrize_with_checks([LogisticRegression(),
...                           DecisionTreeRegressor()])
... def test_sklearn_compatible_estimator(estimator, check):
...     check(estimator)