From a0a4a50c662ef478e0f6dfed55eec9169a78d4b9 Mon Sep 17 00:00:00 2001 From: Haoyin Xu Date: Wed, 29 Apr 2026 21:48:01 -0400 Subject: [PATCH 1/2] FIX remove checks on X and y to allow 3D data --- sklearn/ensemble/_forest.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sklearn/ensemble/_forest.py b/sklearn/ensemble/_forest.py index c85ac03b47640..703a469e31834 100644 --- a/sklearn/ensemble/_forest.py +++ b/sklearn/ensemble/_forest.py @@ -453,6 +453,7 @@ def fit(self, X, y, sample_weight=None, classes=None): accept_sparse="csc", dtype=DTYPE, ensure_all_finite=False, + skip_check_array=True, ) # _compute_missing_values_in_feature_mask checks if X has missing values and # will raise an error if the underlying tree base estimator can't handle missing @@ -786,6 +787,7 @@ def _validate_X_predict(self, X): accept_sparse="csr", reset=False, ensure_all_finite=ensure_all_finite, + skip_check_array=True, ) if issparse(X) and (X.indices.dtype != np.intc or X.indptr.dtype != np.intc): raise ValueError("No support for np.int64 index based sparse matrices") @@ -1277,6 +1279,7 @@ def partial_fit(self, X, y, sample_weight=None, classes=None): dtype=DTYPE, ensure_all_finite=False, reset=first_call, + skip_check_array=True, ) if issparse(y): From 4ebe04d4307f065e25f128fe6e3cd769b3d4261d Mon Sep 17 00:00:00 2001 From: Haoyin Xu Date: Thu, 30 Apr 2026 16:56:57 -0400 Subject: [PATCH 2/2] FIX shape assignment for n_samples and n_features_in --- sklearn/tree/_classes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/tree/_classes.py b/sklearn/tree/_classes.py index dc08bee65d3d9..28f9b40ac095d 100644 --- a/sklearn/tree/_classes.py +++ b/sklearn/tree/_classes.py @@ -292,7 +292,7 @@ def _fit( ) # Determine output settings - n_samples, self.n_features_in_ = X.shape + n_samples, self.n_features_in_ = X.shape[0], X.shape[1] # Do preprocessing if 'y' is passed is_classification = False