cakedev0

Results 9 issues of cakedev0

I've been working quite a lot on trees lately (and on partitioning/sorting too, which helps here). And I have some ideas to optimize some things in `sklearn/tree`. Some of those...

RFC

This PR refactors how missing values are handled in trees by: - removing missing-values handling from `Criterion` subclasses - making it the responsability of the splitter & partitionner only This...

module:ensemble
module:tree
cython

### Describe the bug In `sklearn/tree/_criterion.pyx`, criteria `"friedman_mse"` (class `FriedmanMSE(MSE)`) and `"squared_error"` (class `MSE`) are mathematically equivalent, they use different but equivalent formulas. This is confusing, and I think that:...

API
module:tree

### Describe the bug When missing values are present in `X`, `DecisionTreeRegressor(criterion="poisson", ...)` sometimes computes invalid impurities. Impurity should match with half-poisson deviance according to the documentation. And it is...

Bug
Needs Triage

**Note: the new test doesn't pass for now** as the 3 issues mentioned bellow are not fixed yet. Those 3 issues have opened PRs to fix them (and I tested...

module:tree

### Describe the bug The calculation implemented in `FriedmanMSE.proxy_impurity_improvement` is plain wrong for the multi-output case. When reading the code, it's fairly obvious that outputs are mixed in a way...

Bug

### Describe the bug Well, everything is in the title. I noticed that while writing the issue #32700 I'm opening this issue just for the records, as we plan to...

Bug

#### Related issues/PRs: Fixes: https://github.com/numpy/numpy/issues/29709 Also fixes partially (for the weighted case): https://github.com/numpy/numpy/issues/16575 Inspired by `sklearn.utils.stats._weighted_percentile`. #### What does this implement/fix? I refactored the logic of weighted `nanquantile`: - **Before:**...

In `xp.sort` and `xp.argsort`, the sort is stable by default. I understand very well the interest for argsort: I've seen a lot of bugs because people expected `np.argsort` to be...