sklearn-stubs/utils/validation.pyi/ "ensure_finite" needs updates in check_X_y and check_array for sklearn >= 1.8
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 58/100
Research direction
Open sklearn-stubs/utils/validation.pyi and inspect the check_X_y and check_array signatures. Compare their parameter names with the scikit-learn 1.8 API, then update the affected annotations so the newer keyword is represented in both functions. Done means the stubs match scikit-learn 1.8 and later for these arguments.
Written by the indexing model from the issue text.
Description
In sklearn 1.8, the "enforce" arguments of check_X_y and check_array have been changed to "ensure" in order to reach a more coherent notation
"enforce" was deprecated as of 1.7, and has been dropped in 1.8.
As of now, the stub is :
def check_X_y(
X: MatrixLike | ArrayLike,
y: MatrixLike | ArrayLike,
accept_sparse: Sequence[str] | tuple[str, str] | list[str] | str | bool = False,
*,
accept_large_sparse: bool = True,
dtype: None | Sequence[type] | Literal["numeric"] | type = "numeric",
order: Literal["F", "C"] | None = None,
copy: bool = False,
force_all_finite: str | bool = True, ### This is the offending line
ensure_2d: bool = True,
allow_nd: bool = False,
multi_output: bool = False,
ensure_min_samples: Int = 1,
ensure_min_features: Int = 1,
y_numeric: bool = False,
estimator: None | str | BaseEstimator = None,
) -> tuple[Any, Any]: ...
When it should really be (for sklearn >=1.8) :
def check_X_y(
X: MatrixLike | ArrayLike,
y: MatrixLike | ArrayLike,
accept_sparse: Sequence[str] | tuple[str, str] | list[str] | str | bool = False,
*,
accept_large_sparse: bool = True,
dtype: None | Sequence[type] | Literal["numeric"] | type = "numeric",
order: Literal["F", "C"] | None = None,
copy: bool = False,
ensure_all_finite: str | bool = True, ### This is the corrected line
ensure_2d: bool = True,
allow_nd: bool = False,
multi_output: bool = False,
ensure_min_samples: Int = 1,
ensure_min_features: Int = 1,
y_numeric: bool = False,
estimator: None | str | BaseEstimator = None,
) -> tuple[Any, Any]: ...
Note : Same applies for check_array
This only applies from 1.8 and onwards
- Dominant language
- Python
- Stars
- 304
- Forks
- 104
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/python-type-stubs
-
Maintenance Status Open
Difficulty 3/5 1-2 days Newbie friendliness 35/100
microsoft/python-type-stubs#395 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
microsoft/python-type-stubs#345 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
microsoft/python-type-stubs#315 · 1 comment ·
-
Unparameterized `np.ndarray` typings produce "Type of ... is partially unknown" Pyright type errors. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
microsoft/python-type-stubs#309 · 4 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
microsoft/python-type-stubs#211 · 8 comments · 29 reactions ·
All issues in microsoft/python-type-stubs
Similar issues
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#117848 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100