diff --git a/stubs/sklearn/preprocessing/__init__.pyi b/stubs/sklearn/preprocessing/__init__.pyi index ea623258..7c548a89 100644 --- a/stubs/sklearn/preprocessing/__init__.pyi +++ b/stubs/sklearn/preprocessing/__init__.pyi @@ -28,6 +28,7 @@ from ._label import ( label_binarize as label_binarize, ) from ._polynomial import PolynomialFeatures as PolynomialFeatures, SplineTransformer as SplineTransformer +from ._target_encoder import TargetEncoder as TargetEncoder __all__ = [ "Binarizer", @@ -36,26 +37,27 @@ __all__ = [ "KernelCenterer", "LabelBinarizer", "LabelEncoder", - "MultiLabelBinarizer", - "MinMaxScaler", "MaxAbsScaler", - "QuantileTransformer", + "MinMaxScaler", + "MultiLabelBinarizer", "Normalizer", "OneHotEncoder", "OrdinalEncoder", + "PolynomialFeatures", "PowerTransformer", + "QuantileTransformer", "RobustScaler", "SplineTransformer", "StandardScaler", + "TargetEncoder", "add_dummy_feature", - "PolynomialFeatures", "binarize", - "normalize", - "scale", - "robust_scale", + "label_binarize", "maxabs_scale", "minmax_scale", - "label_binarize", - "quantile_transform", + "normalize", "power_transform", + "quantile_transform", + "robust_scale", + "scale", ] diff --git a/stubs/sklearn/preprocessing/_target_encoder.pyi b/stubs/sklearn/preprocessing/_target_encoder.pyi new file mode 100644 index 00000000..31a178d9 --- /dev/null +++ b/stubs/sklearn/preprocessing/_target_encoder.pyi @@ -0,0 +1,34 @@ +from typing import ClassVar, Literal +from typing_extensions import Self + +from numpy import ndarray + +from .._typing import ArrayLike, Int, MatrixLike +from ..base import OneToOneFeatureMixin +from ._encoders import _BaseEncoder + +class TargetEncoder(OneToOneFeatureMixin, _BaseEncoder): + encodings_: list[ndarray] + categories_: list[ndarray] + target_type_: str + target_mean_: float + n_features_in_: int + feature_names_in_: ndarray + classes_: ndarray | None + + _parameter_constraints: ClassVar[dict] = ... + + def __init__( + self, + categories: list[ArrayLike] | Literal["auto"] = "auto", + target_type: Literal["auto", "continuous", "binary", "multiclass"] = "auto", + smooth: Literal["auto"] | float = "auto", + cv: int = 5, + shuffle: bool = True, + random_state: Int | None = None, + ) -> None: ... + def fit(self, X: MatrixLike, y: ArrayLike) -> Self: ... + def fit_transform(self, X: MatrixLike, y: ArrayLike) -> ndarray: ... + def transform(self, X: MatrixLike) -> ndarray: ... + def get_feature_names_out(self, input_features: ArrayLike | None = None) -> ndarray: ... + def __sklearn_tags__(self) -> dict: ...