scikit-learn-intelex 2025.0.1__py312-none-win_amd64.whl → 2025.2.0__py312-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +21 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +11 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +9 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +35 -16
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +12 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +91 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +4 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +3 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +1 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +15 -40
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +34 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +16 -72
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +16 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +22 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +4 -3
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +121 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +475 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +87 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +30 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +86 -52
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +72 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +64 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +110 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +55 -70
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +10 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +8 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +25 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +4 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +19 -24
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +12 -22
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +52 -20
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +1 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +19 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +17 -12
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +45 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +123 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +65 -34
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +190 -36
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +99 -28
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +12 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +56 -42
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +15 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +9 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +32 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +61 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +30 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +72 -59
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +40 -20
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +52 -40
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +18 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +114 -75
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +49 -39
- {scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -419
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +70 -6
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +41 -41
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +16 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +4 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +20 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +18 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +22 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +4 -2
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +18 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +30 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +4 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +7 -8
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +4 -3
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +17 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +1 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +58 -47
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +68 -29
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +40 -18
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +66 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +36 -18
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +491 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +69 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +1 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +43 -13
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +117 -9
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.2.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -95
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +0 -235
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -54
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -43
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -103
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
- scikit_learn_intelex-2025.0.1.dist-info/RECORD +0 -255
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- /scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py → /scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
|
@@ -20,13 +20,13 @@ from abc import ABC
|
|
|
20
20
|
|
|
21
21
|
import numpy as np
|
|
22
22
|
from scipy import sparse as sp
|
|
23
|
-
from sklearn.base import clone
|
|
24
|
-
from sklearn.ensemble import ExtraTreesClassifier as
|
|
25
|
-
from sklearn.ensemble import ExtraTreesRegressor as
|
|
26
|
-
from sklearn.ensemble import RandomForestClassifier as
|
|
27
|
-
from sklearn.ensemble import RandomForestRegressor as
|
|
28
|
-
from sklearn.ensemble._forest import ForestClassifier as
|
|
29
|
-
from sklearn.ensemble._forest import ForestRegressor as
|
|
23
|
+
from sklearn.base import BaseEstimator, clone
|
|
24
|
+
from sklearn.ensemble import ExtraTreesClassifier as _sklearn_ExtraTreesClassifier
|
|
25
|
+
from sklearn.ensemble import ExtraTreesRegressor as _sklearn_ExtraTreesRegressor
|
|
26
|
+
from sklearn.ensemble import RandomForestClassifier as _sklearn_RandomForestClassifier
|
|
27
|
+
from sklearn.ensemble import RandomForestRegressor as _sklearn_RandomForestRegressor
|
|
28
|
+
from sklearn.ensemble._forest import ForestClassifier as _sklearn_ForestClassifier
|
|
29
|
+
from sklearn.ensemble._forest import ForestRegressor as _sklearn_ForestRegressor
|
|
30
30
|
from sklearn.ensemble._forest import _get_n_samples_bootstrap
|
|
31
31
|
from sklearn.exceptions import DataConversionWarning
|
|
32
32
|
from sklearn.metrics import accuracy_score, r2_score
|
|
@@ -57,6 +57,8 @@ from onedal.ensemble import RandomForestClassifier as onedal_RandomForestClassif
|
|
|
57
57
|
from onedal.ensemble import RandomForestRegressor as onedal_RandomForestRegressor
|
|
58
58
|
from onedal.primitives import get_tree_state_cls, get_tree_state_reg
|
|
59
59
|
from onedal.utils import _num_features, _num_samples
|
|
60
|
+
from sklearnex import get_hyperparameters
|
|
61
|
+
from sklearnex._utils import register_hyperparameters
|
|
60
62
|
|
|
61
63
|
from .._device_offload import dispatch, wrap_output_data
|
|
62
64
|
from .._utils import PatchingConditionsChain
|
|
@@ -67,12 +69,18 @@ if sklearn_check_version("1.2"):
|
|
|
67
69
|
if sklearn_check_version("1.4"):
|
|
68
70
|
from daal4py.sklearn.utils import _assert_all_finite
|
|
69
71
|
|
|
72
|
+
if sklearn_check_version("1.6"):
|
|
73
|
+
from sklearn.utils.validation import validate_data
|
|
74
|
+
else:
|
|
75
|
+
validate_data = BaseEstimator._validate_data
|
|
76
|
+
|
|
70
77
|
|
|
71
78
|
class BaseForest(ABC):
|
|
72
79
|
_onedal_factory = None
|
|
73
80
|
|
|
74
81
|
def _onedal_fit(self, X, y, sample_weight=None, queue=None):
|
|
75
|
-
X, y =
|
|
82
|
+
X, y = validate_data(
|
|
83
|
+
self,
|
|
76
84
|
X,
|
|
77
85
|
y,
|
|
78
86
|
multi_output=True,
|
|
@@ -394,7 +402,7 @@ class BaseForest(ABC):
|
|
|
394
402
|
self.estimator = estimator
|
|
395
403
|
|
|
396
404
|
|
|
397
|
-
class ForestClassifier(
|
|
405
|
+
class ForestClassifier(_sklearn_ForestClassifier, BaseForest):
|
|
398
406
|
# Surprisingly, even though scikit-learn warns against using
|
|
399
407
|
# their ForestClassifier directly, it actually has a more stable
|
|
400
408
|
# API than the user-facing objects (over time). If they change it
|
|
@@ -458,7 +466,7 @@ class ForestClassifier(sklearn_ForestClassifier, BaseForest):
|
|
|
458
466
|
"fit",
|
|
459
467
|
{
|
|
460
468
|
"onedal": self.__class__._onedal_fit,
|
|
461
|
-
"sklearn":
|
|
469
|
+
"sklearn": _sklearn_ForestClassifier.fit,
|
|
462
470
|
},
|
|
463
471
|
X,
|
|
464
472
|
y,
|
|
@@ -592,12 +600,13 @@ class ForestClassifier(sklearn_ForestClassifier, BaseForest):
|
|
|
592
600
|
|
|
593
601
|
@wrap_output_data
|
|
594
602
|
def predict(self, X):
|
|
603
|
+
check_is_fitted(self)
|
|
595
604
|
return dispatch(
|
|
596
605
|
self,
|
|
597
606
|
"predict",
|
|
598
607
|
{
|
|
599
608
|
"onedal": self.__class__._onedal_predict,
|
|
600
|
-
"sklearn":
|
|
609
|
+
"sklearn": _sklearn_ForestClassifier.predict,
|
|
601
610
|
},
|
|
602
611
|
X,
|
|
603
612
|
)
|
|
@@ -607,27 +616,13 @@ class ForestClassifier(sklearn_ForestClassifier, BaseForest):
|
|
|
607
616
|
# TODO:
|
|
608
617
|
# _check_proba()
|
|
609
618
|
# self._check_proba()
|
|
610
|
-
|
|
611
|
-
self._check_feature_names(X, reset=False)
|
|
612
|
-
if hasattr(self, "n_features_in_"):
|
|
613
|
-
try:
|
|
614
|
-
num_features = _num_features(X)
|
|
615
|
-
except TypeError:
|
|
616
|
-
num_features = _num_samples(X)
|
|
617
|
-
if num_features != self.n_features_in_:
|
|
618
|
-
raise ValueError(
|
|
619
|
-
(
|
|
620
|
-
f"X has {num_features} features, "
|
|
621
|
-
f"but {self.__class__.__name__} is expecting "
|
|
622
|
-
f"{self.n_features_in_} features as input"
|
|
623
|
-
)
|
|
624
|
-
)
|
|
619
|
+
check_is_fitted(self)
|
|
625
620
|
return dispatch(
|
|
626
621
|
self,
|
|
627
622
|
"predict_proba",
|
|
628
623
|
{
|
|
629
624
|
"onedal": self.__class__._onedal_predict_proba,
|
|
630
|
-
"sklearn":
|
|
625
|
+
"sklearn": _sklearn_ForestClassifier.predict_proba,
|
|
631
626
|
},
|
|
632
627
|
X,
|
|
633
628
|
)
|
|
@@ -647,23 +642,24 @@ class ForestClassifier(sklearn_ForestClassifier, BaseForest):
|
|
|
647
642
|
|
|
648
643
|
@wrap_output_data
|
|
649
644
|
def score(self, X, y, sample_weight=None):
|
|
645
|
+
check_is_fitted(self)
|
|
650
646
|
return dispatch(
|
|
651
647
|
self,
|
|
652
648
|
"score",
|
|
653
649
|
{
|
|
654
650
|
"onedal": self.__class__._onedal_score,
|
|
655
|
-
"sklearn":
|
|
651
|
+
"sklearn": _sklearn_ForestClassifier.score,
|
|
656
652
|
},
|
|
657
653
|
X,
|
|
658
654
|
y,
|
|
659
655
|
sample_weight=sample_weight,
|
|
660
656
|
)
|
|
661
657
|
|
|
662
|
-
fit.__doc__ =
|
|
663
|
-
predict.__doc__ =
|
|
664
|
-
predict_proba.__doc__ =
|
|
665
|
-
predict_log_proba.__doc__ =
|
|
666
|
-
score.__doc__ =
|
|
658
|
+
fit.__doc__ = _sklearn_ForestClassifier.fit.__doc__
|
|
659
|
+
predict.__doc__ = _sklearn_ForestClassifier.predict.__doc__
|
|
660
|
+
predict_proba.__doc__ = _sklearn_ForestClassifier.predict_proba.__doc__
|
|
661
|
+
predict_log_proba.__doc__ = _sklearn_ForestClassifier.predict_log_proba.__doc__
|
|
662
|
+
score.__doc__ = _sklearn_ForestClassifier.score.__doc__
|
|
667
663
|
|
|
668
664
|
def _onedal_cpu_supported(self, method_name, *data):
|
|
669
665
|
class_name = self.__class__.__name__
|
|
@@ -794,10 +790,10 @@ class ForestClassifier(sklearn_ForestClassifier, BaseForest):
|
|
|
794
790
|
return patching_status
|
|
795
791
|
|
|
796
792
|
def _onedal_predict(self, X, queue=None):
|
|
797
|
-
check_is_fitted(self, "_onedal_estimator")
|
|
798
793
|
|
|
799
794
|
if sklearn_check_version("1.0"):
|
|
800
|
-
X =
|
|
795
|
+
X = validate_data(
|
|
796
|
+
self,
|
|
801
797
|
X,
|
|
802
798
|
dtype=[np.float64, np.float32],
|
|
803
799
|
force_all_finite=False,
|
|
@@ -810,16 +806,29 @@ class ForestClassifier(sklearn_ForestClassifier, BaseForest):
|
|
|
810
806
|
dtype=[np.float64, np.float32],
|
|
811
807
|
force_all_finite=False,
|
|
812
808
|
) # Warning, order of dtype matters
|
|
809
|
+
if hasattr(self, "n_features_in_"):
|
|
810
|
+
try:
|
|
811
|
+
num_features = _num_features(X)
|
|
812
|
+
except TypeError:
|
|
813
|
+
num_features = _num_samples(X)
|
|
814
|
+
if num_features != self.n_features_in_:
|
|
815
|
+
raise ValueError(
|
|
816
|
+
(
|
|
817
|
+
f"X has {num_features} features, "
|
|
818
|
+
f"but {self.__class__.__name__} is expecting "
|
|
819
|
+
f"{self.n_features_in_} features as input"
|
|
820
|
+
)
|
|
821
|
+
)
|
|
813
822
|
self._check_n_features(X, reset=False)
|
|
814
823
|
|
|
815
824
|
res = self._onedal_estimator.predict(X, queue=queue)
|
|
816
825
|
return np.take(self.classes_, res.ravel().astype(np.int64, casting="unsafe"))
|
|
817
826
|
|
|
818
827
|
def _onedal_predict_proba(self, X, queue=None):
|
|
819
|
-
check_is_fitted(self, "_onedal_estimator")
|
|
820
828
|
|
|
821
829
|
if sklearn_check_version("1.0"):
|
|
822
|
-
X =
|
|
830
|
+
X = validate_data(
|
|
831
|
+
self,
|
|
823
832
|
X,
|
|
824
833
|
dtype=[np.float64, np.float32],
|
|
825
834
|
force_all_finite=False,
|
|
@@ -842,7 +851,7 @@ class ForestClassifier(sklearn_ForestClassifier, BaseForest):
|
|
|
842
851
|
)
|
|
843
852
|
|
|
844
853
|
|
|
845
|
-
class ForestRegressor(
|
|
854
|
+
class ForestRegressor(_sklearn_ForestRegressor, BaseForest):
|
|
846
855
|
_err = "out_of_bag_error_r2|out_of_bag_error_prediction"
|
|
847
856
|
_get_tree_state = staticmethod(get_tree_state_reg)
|
|
848
857
|
|
|
@@ -1123,7 +1132,8 @@ class ForestRegressor(sklearn_ForestRegressor, BaseForest):
|
|
|
1123
1132
|
check_is_fitted(self, "_onedal_estimator")
|
|
1124
1133
|
|
|
1125
1134
|
if sklearn_check_version("1.0"):
|
|
1126
|
-
X =
|
|
1135
|
+
X = validate_data(
|
|
1136
|
+
self,
|
|
1127
1137
|
X,
|
|
1128
1138
|
dtype=[np.float64, np.float32],
|
|
1129
1139
|
force_all_finite=False,
|
|
@@ -1148,7 +1158,7 @@ class ForestRegressor(sklearn_ForestRegressor, BaseForest):
|
|
|
1148
1158
|
"fit",
|
|
1149
1159
|
{
|
|
1150
1160
|
"onedal": self.__class__._onedal_fit,
|
|
1151
|
-
"sklearn":
|
|
1161
|
+
"sklearn": _sklearn_ForestRegressor.fit,
|
|
1152
1162
|
},
|
|
1153
1163
|
X,
|
|
1154
1164
|
y,
|
|
@@ -1158,43 +1168,46 @@ class ForestRegressor(sklearn_ForestRegressor, BaseForest):
|
|
|
1158
1168
|
|
|
1159
1169
|
@wrap_output_data
|
|
1160
1170
|
def predict(self, X):
|
|
1171
|
+
check_is_fitted(self)
|
|
1161
1172
|
return dispatch(
|
|
1162
1173
|
self,
|
|
1163
1174
|
"predict",
|
|
1164
1175
|
{
|
|
1165
1176
|
"onedal": self.__class__._onedal_predict,
|
|
1166
|
-
"sklearn":
|
|
1177
|
+
"sklearn": _sklearn_ForestRegressor.predict,
|
|
1167
1178
|
},
|
|
1168
1179
|
X,
|
|
1169
1180
|
)
|
|
1170
1181
|
|
|
1171
1182
|
@wrap_output_data
|
|
1172
1183
|
def score(self, X, y, sample_weight=None):
|
|
1184
|
+
check_is_fitted(self)
|
|
1173
1185
|
return dispatch(
|
|
1174
1186
|
self,
|
|
1175
1187
|
"score",
|
|
1176
1188
|
{
|
|
1177
1189
|
"onedal": self.__class__._onedal_score,
|
|
1178
|
-
"sklearn":
|
|
1190
|
+
"sklearn": _sklearn_ForestRegressor.score,
|
|
1179
1191
|
},
|
|
1180
1192
|
X,
|
|
1181
1193
|
y,
|
|
1182
1194
|
sample_weight=sample_weight,
|
|
1183
1195
|
)
|
|
1184
1196
|
|
|
1185
|
-
fit.__doc__ =
|
|
1186
|
-
predict.__doc__ =
|
|
1187
|
-
score.__doc__ =
|
|
1197
|
+
fit.__doc__ = _sklearn_ForestRegressor.fit.__doc__
|
|
1198
|
+
predict.__doc__ = _sklearn_ForestRegressor.predict.__doc__
|
|
1199
|
+
score.__doc__ = _sklearn_ForestRegressor.score.__doc__
|
|
1188
1200
|
|
|
1189
1201
|
|
|
1202
|
+
@register_hyperparameters({"infer": get_hyperparameters("decision_forest", "infer")})
|
|
1190
1203
|
@control_n_jobs(decorated_methods=["fit", "predict", "predict_proba", "score"])
|
|
1191
1204
|
class RandomForestClassifier(ForestClassifier):
|
|
1192
|
-
__doc__ =
|
|
1205
|
+
__doc__ = _sklearn_RandomForestClassifier.__doc__
|
|
1193
1206
|
_onedal_factory = onedal_RandomForestClassifier
|
|
1194
1207
|
|
|
1195
1208
|
if sklearn_check_version("1.2"):
|
|
1196
1209
|
_parameter_constraints: dict = {
|
|
1197
|
-
**
|
|
1210
|
+
**_sklearn_RandomForestClassifier._parameter_constraints,
|
|
1198
1211
|
"max_bins": [Interval(numbers.Integral, 2, None, closed="left")],
|
|
1199
1212
|
"min_bin_size": [Interval(numbers.Integral, 1, None, closed="left")],
|
|
1200
1213
|
}
|
|
@@ -1397,14 +1410,14 @@ class RandomForestClassifier(ForestClassifier):
|
|
|
1397
1410
|
self.min_bin_size = min_bin_size
|
|
1398
1411
|
|
|
1399
1412
|
|
|
1400
|
-
@control_n_jobs(decorated_methods=["fit", "predict"])
|
|
1413
|
+
@control_n_jobs(decorated_methods=["fit", "predict", "score"])
|
|
1401
1414
|
class RandomForestRegressor(ForestRegressor):
|
|
1402
|
-
__doc__ =
|
|
1415
|
+
__doc__ = _sklearn_RandomForestRegressor.__doc__
|
|
1403
1416
|
_onedal_factory = onedal_RandomForestRegressor
|
|
1404
1417
|
|
|
1405
1418
|
if sklearn_check_version("1.2"):
|
|
1406
1419
|
_parameter_constraints: dict = {
|
|
1407
|
-
**
|
|
1420
|
+
**_sklearn_RandomForestRegressor._parameter_constraints,
|
|
1408
1421
|
"max_bins": [Interval(numbers.Integral, 2, None, closed="left")],
|
|
1409
1422
|
"min_bin_size": [Interval(numbers.Integral, 1, None, closed="left")],
|
|
1410
1423
|
}
|
|
@@ -1600,12 +1613,12 @@ class RandomForestRegressor(ForestRegressor):
|
|
|
1600
1613
|
|
|
1601
1614
|
@control_n_jobs(decorated_methods=["fit", "predict", "predict_proba", "score"])
|
|
1602
1615
|
class ExtraTreesClassifier(ForestClassifier):
|
|
1603
|
-
__doc__ =
|
|
1616
|
+
__doc__ = _sklearn_ExtraTreesClassifier.__doc__
|
|
1604
1617
|
_onedal_factory = onedal_ExtraTreesClassifier
|
|
1605
1618
|
|
|
1606
1619
|
if sklearn_check_version("1.2"):
|
|
1607
1620
|
_parameter_constraints: dict = {
|
|
1608
|
-
**
|
|
1621
|
+
**_sklearn_ExtraTreesClassifier._parameter_constraints,
|
|
1609
1622
|
"max_bins": [Interval(numbers.Integral, 2, None, closed="left")],
|
|
1610
1623
|
"min_bin_size": [Interval(numbers.Integral, 1, None, closed="left")],
|
|
1611
1624
|
}
|
|
@@ -1808,14 +1821,14 @@ class ExtraTreesClassifier(ForestClassifier):
|
|
|
1808
1821
|
self.min_bin_size = min_bin_size
|
|
1809
1822
|
|
|
1810
1823
|
|
|
1811
|
-
@control_n_jobs(decorated_methods=["fit", "predict"])
|
|
1824
|
+
@control_n_jobs(decorated_methods=["fit", "predict", "score"])
|
|
1812
1825
|
class ExtraTreesRegressor(ForestRegressor):
|
|
1813
|
-
__doc__ =
|
|
1826
|
+
__doc__ = _sklearn_ExtraTreesRegressor.__doc__
|
|
1814
1827
|
_onedal_factory = onedal_ExtraTreesRegressor
|
|
1815
1828
|
|
|
1816
1829
|
if sklearn_check_version("1.2"):
|
|
1817
1830
|
_parameter_constraints: dict = {
|
|
1818
|
-
**
|
|
1831
|
+
**_sklearn_ExtraTreesRegressor._parameter_constraints,
|
|
1819
1832
|
"max_bins": [Interval(numbers.Integral, 2, None, closed="left")],
|
|
1820
1833
|
"min_bin_size": [Interval(numbers.Integral, 1, None, closed="left")],
|
|
1821
1834
|
}
|
|
@@ -2010,7 +2023,7 @@ class ExtraTreesRegressor(ForestRegressor):
|
|
|
2010
2023
|
|
|
2011
2024
|
|
|
2012
2025
|
# Allow for isinstance calls without inheritance changes using ABCMeta
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2026
|
+
_sklearn_RandomForestClassifier.register(RandomForestClassifier)
|
|
2027
|
+
_sklearn_RandomForestRegressor.register(RandomForestRegressor)
|
|
2028
|
+
_sklearn_ExtraTreesClassifier.register(ExtraTreesClassifier)
|
|
2029
|
+
_sklearn_ExtraTreesRegressor.register(ExtraTreesRegressor)
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ===============================================================================
|
|
16
16
|
|
|
17
|
-
import numpy as np
|
|
18
17
|
import pytest
|
|
19
18
|
from numpy.testing import assert_allclose
|
|
20
19
|
from sklearn.datasets import make_classification, make_regression
|
|
@@ -26,9 +25,19 @@ from onedal.tests.utils._dataframes_support import (
|
|
|
26
25
|
get_dataframes_and_queues,
|
|
27
26
|
)
|
|
28
27
|
|
|
28
|
+
hparam_values = [
|
|
29
|
+
(None, None, None, None),
|
|
30
|
+
(8, 100, 32, 0.3),
|
|
31
|
+
(16, 100, 32, 0.3),
|
|
32
|
+
(32, 100, 32, 0.3),
|
|
33
|
+
(64, 10, 32, 0.1),
|
|
34
|
+
(128, 100, 1000, 1.0),
|
|
35
|
+
]
|
|
29
36
|
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
|
|
38
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues())
|
|
39
|
+
@pytest.mark.parametrize("block, trees, rows, scale", hparam_values)
|
|
40
|
+
def test_sklearnex_import_rf_classifier(dataframe, queue, block, trees, rows, scale):
|
|
32
41
|
from sklearnex.ensemble import RandomForestClassifier
|
|
33
42
|
|
|
34
43
|
X, y = make_classification(
|
|
@@ -42,14 +51,20 @@ def test_sklearnex_import_rf_classifier(dataframe, queue):
|
|
|
42
51
|
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
43
52
|
y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
|
|
44
53
|
rf = RandomForestClassifier(max_depth=2, random_state=0).fit(X, y)
|
|
54
|
+
hparams = RandomForestClassifier.get_hyperparameters("infer")
|
|
55
|
+
if hparams and block is not None:
|
|
56
|
+
hparams.block_size = block
|
|
57
|
+
hparams.min_trees_for_threading = trees
|
|
58
|
+
hparams.min_number_of_rows_for_vect_seq_compute = rows
|
|
59
|
+
hparams.scale_factor_for_vect_parallel_compute = scale
|
|
45
60
|
assert "sklearnex" in rf.__module__
|
|
46
61
|
assert_allclose([1], _as_numpy(rf.predict([[0, 0, 0, 0]])))
|
|
47
62
|
|
|
48
63
|
|
|
49
64
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
50
65
|
def test_sklearnex_import_rf_regression(dataframe, queue):
|
|
51
|
-
if queue and queue.sycl_device.is_gpu:
|
|
52
|
-
pytest.skip("
|
|
66
|
+
if (not daal_check_version((2025, "P", 200))) and queue and queue.sycl_device.is_gpu:
|
|
67
|
+
pytest.skip("Skipping due to bug in histogram merges fixed in 2025.2.")
|
|
53
68
|
from sklearnex.ensemble import RandomForestRegressor
|
|
54
69
|
|
|
55
70
|
X, y = make_regression(n_features=4, n_informative=2, random_state=0, shuffle=False)
|
|
@@ -59,19 +74,20 @@ def test_sklearnex_import_rf_regression(dataframe, queue):
|
|
|
59
74
|
assert "sklearnex" in rf.__module__
|
|
60
75
|
pred = _as_numpy(rf.predict([[0, 0, 0, 0]]))
|
|
61
76
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
77
|
+
# Check that the prediction is within a reasonable range.
|
|
78
|
+
# 'y' should be in the neighborhood of zero for x=0.
|
|
79
|
+
assert pred[0] >= -10
|
|
80
|
+
assert pred[0] <= 10
|
|
81
|
+
|
|
82
|
+
# Check that the trees aren't just empty nodes predicting the mean
|
|
83
|
+
for estimator in rf.estimators_:
|
|
84
|
+
assert estimator.tree_.children_left.shape[0] > 1
|
|
69
85
|
|
|
70
86
|
|
|
71
87
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
72
88
|
def test_sklearnex_import_et_classifier(dataframe, queue):
|
|
73
|
-
if queue and queue.sycl_device.is_gpu:
|
|
74
|
-
pytest.skip("
|
|
89
|
+
if (not daal_check_version((2025, "P", 200))) and queue and queue.sycl_device.is_gpu:
|
|
90
|
+
pytest.skip("Skipping due to bug in histogram merges fixed in 2025.2.")
|
|
75
91
|
from sklearnex.ensemble import ExtraTreesClassifier
|
|
76
92
|
|
|
77
93
|
X, y = make_classification(
|
|
@@ -93,8 +109,8 @@ def test_sklearnex_import_et_classifier(dataframe, queue):
|
|
|
93
109
|
|
|
94
110
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
95
111
|
def test_sklearnex_import_et_regression(dataframe, queue):
|
|
96
|
-
if queue and queue.sycl_device.is_gpu:
|
|
97
|
-
pytest.skip("
|
|
112
|
+
if (not daal_check_version((2025, "P", 200))) and queue and queue.sycl_device.is_gpu:
|
|
113
|
+
pytest.skip("Skipping due to bug in histogram merges fixed in 2025.2.")
|
|
98
114
|
from sklearnex.ensemble import ExtraTreesRegressor
|
|
99
115
|
|
|
100
116
|
X, y = make_regression(n_features=1, random_state=0, shuffle=False)
|
|
@@ -114,7 +130,11 @@ def test_sklearnex_import_et_regression(dataframe, queue):
|
|
|
114
130
|
)
|
|
115
131
|
)
|
|
116
132
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
133
|
+
# Check that the prediction is within a reasonable range.
|
|
134
|
+
# 'y' should be in the neighborhood of zero for x=0.
|
|
135
|
+
assert pred[0] >= -10
|
|
136
|
+
assert pred[0] <= 10
|
|
137
|
+
|
|
138
|
+
# Check that the trees aren't just empty nodes predicting the mean
|
|
139
|
+
for estimator in rf.estimators_:
|
|
140
|
+
assert estimator.tree_.children_left.shape[0] > 1
|
|
@@ -19,12 +19,12 @@ import warnings
|
|
|
19
19
|
|
|
20
20
|
import numpy as np
|
|
21
21
|
from sklearn.base import BaseEstimator, MultiOutputMixin, RegressorMixin
|
|
22
|
-
from sklearn.exceptions import NotFittedError
|
|
23
22
|
from sklearn.metrics import r2_score
|
|
24
23
|
from sklearn.utils import check_array, gen_batches
|
|
24
|
+
from sklearn.utils.validation import check_is_fitted
|
|
25
25
|
|
|
26
26
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
27
|
-
from daal4py.sklearn._utils import sklearn_check_version
|
|
27
|
+
from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
|
|
28
28
|
from onedal.linear_model import (
|
|
29
29
|
IncrementalLinearRegression as onedal_IncrementalLinearRegression,
|
|
30
30
|
)
|
|
@@ -32,10 +32,15 @@ from onedal.linear_model import (
|
|
|
32
32
|
if sklearn_check_version("1.2"):
|
|
33
33
|
from sklearn.utils._param_validation import Interval
|
|
34
34
|
|
|
35
|
+
if sklearn_check_version("1.6"):
|
|
36
|
+
from sklearn.utils.validation import validate_data
|
|
37
|
+
else:
|
|
38
|
+
validate_data = BaseEstimator._validate_data
|
|
39
|
+
|
|
35
40
|
from onedal.common.hyperparameters import get_hyperparameters
|
|
36
41
|
|
|
37
42
|
from .._device_offload import dispatch, wrap_output_data
|
|
38
|
-
from .._utils import PatchingConditionsChain, register_hyperparameters
|
|
43
|
+
from .._utils import IntelEstimator, PatchingConditionsChain, register_hyperparameters
|
|
39
44
|
|
|
40
45
|
|
|
41
46
|
@register_hyperparameters(
|
|
@@ -45,9 +50,11 @@ from .._utils import PatchingConditionsChain, register_hyperparameters
|
|
|
45
50
|
}
|
|
46
51
|
)
|
|
47
52
|
@control_n_jobs(
|
|
48
|
-
decorated_methods=["fit", "partial_fit", "predict", "_onedal_finalize_fit"]
|
|
53
|
+
decorated_methods=["fit", "partial_fit", "predict", "score", "_onedal_finalize_fit"]
|
|
49
54
|
)
|
|
50
|
-
class IncrementalLinearRegression(
|
|
55
|
+
class IncrementalLinearRegression(
|
|
56
|
+
IntelEstimator, MultiOutputMixin, RegressorMixin, BaseEstimator
|
|
57
|
+
):
|
|
51
58
|
"""
|
|
52
59
|
Trains a linear regression model, allows for computation if the data are split into
|
|
53
60
|
batches. The user can use the ``partial_fit`` method to provide a single batch of data or use the ``fit`` method to provide
|
|
@@ -56,9 +63,9 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
56
63
|
Parameters
|
|
57
64
|
----------
|
|
58
65
|
fit_intercept : bool, default=True
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
66
|
+
Whether to calculate the intercept for this model. If set
|
|
67
|
+
to False, no intercept will be used in calculations
|
|
68
|
+
(i.e. data is expected to be centered).
|
|
62
69
|
|
|
63
70
|
copy_X : bool, default=True
|
|
64
71
|
If True, X will be copied; else, it may be overwritten.
|
|
@@ -96,6 +103,13 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
96
103
|
n_features_in_ : int
|
|
97
104
|
Number of features seen during ``fit`` or ``partial_fit``.
|
|
98
105
|
|
|
106
|
+
Note
|
|
107
|
+
----
|
|
108
|
+
Serializing instances of this class will trigger a forced finalization of calculations.
|
|
109
|
+
Since finalize_fit can't be dispatched without directly provided queue
|
|
110
|
+
and the dispatching policy can't be serialized, the computation is finalized
|
|
111
|
+
during serialization call and the policy is not saved in serialized data.
|
|
112
|
+
|
|
99
113
|
Examples
|
|
100
114
|
--------
|
|
101
115
|
>>> import numpy as np
|
|
@@ -146,7 +160,8 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
146
160
|
self._validate_params()
|
|
147
161
|
|
|
148
162
|
if sklearn_check_version("1.0"):
|
|
149
|
-
X =
|
|
163
|
+
X = validate_data(
|
|
164
|
+
self,
|
|
150
165
|
X,
|
|
151
166
|
dtype=[np.float64, np.float32],
|
|
152
167
|
copy=self.copy_X,
|
|
@@ -177,7 +192,8 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
177
192
|
|
|
178
193
|
if check_input:
|
|
179
194
|
if sklearn_check_version("1.0"):
|
|
180
|
-
X, y =
|
|
195
|
+
X, y = validate_data(
|
|
196
|
+
self,
|
|
181
197
|
X,
|
|
182
198
|
y,
|
|
183
199
|
dtype=[np.float64, np.float32],
|
|
@@ -212,13 +228,21 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
212
228
|
self._onedal_estimator.partial_fit(X, y, queue=queue)
|
|
213
229
|
self._need_to_finalize = True
|
|
214
230
|
|
|
231
|
+
if daal_check_version((2025, "P", 200)):
|
|
232
|
+
|
|
233
|
+
def _onedal_validate_underdetermined(self, n_samples, n_features):
|
|
234
|
+
pass
|
|
235
|
+
|
|
236
|
+
else:
|
|
237
|
+
|
|
238
|
+
def _onedal_validate_underdetermined(self, n_samples, n_features):
|
|
239
|
+
is_underdetermined = n_samples < n_features + int(self.fit_intercept)
|
|
240
|
+
if is_underdetermined:
|
|
241
|
+
raise ValueError("Not enough samples for oneDAL")
|
|
242
|
+
|
|
215
243
|
def _onedal_finalize_fit(self, queue=None):
|
|
216
244
|
assert hasattr(self, "_onedal_estimator")
|
|
217
|
-
|
|
218
|
-
self.fit_intercept
|
|
219
|
-
)
|
|
220
|
-
if is_underdetermined:
|
|
221
|
-
raise ValueError("Not enough samples to finalize")
|
|
245
|
+
self._onedal_validate_underdetermined(self.n_samples_seen_, self.n_features_in_)
|
|
222
246
|
self._onedal_estimator.finalize_fit(queue=queue)
|
|
223
247
|
self._need_to_finalize = False
|
|
224
248
|
|
|
@@ -227,7 +251,8 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
227
251
|
self._validate_params()
|
|
228
252
|
|
|
229
253
|
if sklearn_check_version("1.0"):
|
|
230
|
-
X, y =
|
|
254
|
+
X, y = validate_data(
|
|
255
|
+
self,
|
|
231
256
|
X,
|
|
232
257
|
y,
|
|
233
258
|
dtype=[np.float64, np.float32],
|
|
@@ -250,9 +275,7 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
250
275
|
|
|
251
276
|
n_samples, n_features = X.shape
|
|
252
277
|
|
|
253
|
-
|
|
254
|
-
if is_underdetermined:
|
|
255
|
-
raise ValueError("Not enough samples to run oneDAL backend")
|
|
278
|
+
self._onedal_validate_underdetermined(n_samples, n_features)
|
|
256
279
|
|
|
257
280
|
if self.batch_size is None:
|
|
258
281
|
self.batch_size_ = 5 * n_features
|
|
@@ -281,7 +304,8 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
281
304
|
self._onedal_finalize_fit(queue=queue)
|
|
282
305
|
return self
|
|
283
306
|
|
|
284
|
-
|
|
307
|
+
@property
|
|
308
|
+
def intercept_(self):
|
|
285
309
|
if hasattr(self, "_onedal_estimator"):
|
|
286
310
|
if self._need_to_finalize:
|
|
287
311
|
self._onedal_finalize_fit()
|
|
@@ -292,13 +316,15 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
292
316
|
f"'{self.__class__.__name__}' object has no attribute 'intercept_'"
|
|
293
317
|
)
|
|
294
318
|
|
|
295
|
-
|
|
319
|
+
@intercept_.setter
|
|
320
|
+
def intercept_(self, value):
|
|
296
321
|
self.__dict__["intercept_"] = value
|
|
297
322
|
if hasattr(self, "_onedal_estimator"):
|
|
298
323
|
self._onedal_estimator.intercept_ = value
|
|
299
324
|
del self._onedal_estimator._onedal_model
|
|
300
325
|
|
|
301
|
-
|
|
326
|
+
@property
|
|
327
|
+
def coef_(self):
|
|
302
328
|
if hasattr(self, "_onedal_estimator"):
|
|
303
329
|
if self._need_to_finalize:
|
|
304
330
|
self._onedal_finalize_fit()
|
|
@@ -309,15 +335,13 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
309
335
|
f"'{self.__class__.__name__}' object has no attribute 'coef_'"
|
|
310
336
|
)
|
|
311
337
|
|
|
312
|
-
|
|
338
|
+
@coef_.setter
|
|
339
|
+
def coef_(self, value):
|
|
313
340
|
self.__dict__["coef_"] = value
|
|
314
341
|
if hasattr(self, "_onedal_estimator"):
|
|
315
342
|
self._onedal_estimator.coef_ = value
|
|
316
343
|
del self._onedal_estimator._onedal_model
|
|
317
344
|
|
|
318
|
-
coef_ = property(get_coef_, set_coef_)
|
|
319
|
-
intercept_ = property(get_intercept_, set_intercept_)
|
|
320
|
-
|
|
321
345
|
def partial_fit(self, X, y, check_input=True):
|
|
322
346
|
"""
|
|
323
347
|
Incremental fit linear model with X and y. All of X and y is
|
|
@@ -405,13 +429,7 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
405
429
|
C : array, shape (n_samples, n_targets)
|
|
406
430
|
Returns predicted values.
|
|
407
431
|
"""
|
|
408
|
-
|
|
409
|
-
msg = (
|
|
410
|
-
"This %(name)s instance is not fitted yet. Call 'fit' or 'partial_fit' "
|
|
411
|
-
"with appropriate arguments before using this estimator."
|
|
412
|
-
)
|
|
413
|
-
raise NotFittedError(msg % {"name": self.__class__.__name__})
|
|
414
|
-
|
|
432
|
+
check_is_fitted(self)
|
|
415
433
|
return dispatch(
|
|
416
434
|
self,
|
|
417
435
|
"predict",
|
|
@@ -463,13 +481,7 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
463
481
|
regressors (except for
|
|
464
482
|
:class:`~sklearn.multioutput.MultiOutputRegressor`).
|
|
465
483
|
"""
|
|
466
|
-
|
|
467
|
-
msg = (
|
|
468
|
-
"This %(name)s instance is not fitted yet. Call 'fit' or 'partial_fit' "
|
|
469
|
-
"with appropriate arguments before using this estimator."
|
|
470
|
-
)
|
|
471
|
-
raise NotFittedError(msg % {"name": self.__class__.__name__})
|
|
472
|
-
|
|
484
|
+
check_is_fitted(self)
|
|
473
485
|
return dispatch(
|
|
474
486
|
self,
|
|
475
487
|
"score",
|