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
|
@@ -25,7 +25,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
25
25
|
|
|
26
26
|
import numpy as np
|
|
27
27
|
from scipy.sparse import issparse
|
|
28
|
-
from sklearn.cluster import KMeans as
|
|
28
|
+
from sklearn.cluster import KMeans as _sklearn_KMeans
|
|
29
29
|
from sklearn.utils._openmp_helpers import _openmp_effective_n_threads
|
|
30
30
|
from sklearn.utils.validation import (
|
|
31
31
|
_check_sample_weight,
|
|
@@ -41,12 +41,17 @@ if daal_check_version((2023, "P", 200)):
|
|
|
41
41
|
from .._device_offload import dispatch, wrap_output_data
|
|
42
42
|
from .._utils import PatchingConditionsChain
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
if sklearn_check_version("1.6"):
|
|
45
|
+
from sklearn.utils.validation import validate_data
|
|
46
|
+
else:
|
|
47
|
+
validate_data = _sklearn_KMeans._validate_data
|
|
48
|
+
|
|
49
|
+
@control_n_jobs(decorated_methods=["fit", "fit_transform", "predict", "score"])
|
|
50
|
+
class KMeans(_sklearn_KMeans):
|
|
51
|
+
__doc__ = _sklearn_KMeans.__doc__
|
|
47
52
|
|
|
48
53
|
if sklearn_check_version("1.2"):
|
|
49
|
-
_parameter_constraints: dict = {**
|
|
54
|
+
_parameter_constraints: dict = {**_sklearn_KMeans._parameter_constraints}
|
|
50
55
|
|
|
51
56
|
def __init__(
|
|
52
57
|
self,
|
|
@@ -97,8 +102,8 @@ if daal_check_version((2023, "P", 200)):
|
|
|
97
102
|
patching_status = PatchingConditionsChain(f"sklearn.cluster.{class_name}.fit")
|
|
98
103
|
|
|
99
104
|
sample_count = _num_samples(X)
|
|
100
|
-
self._algorithm = self.algorithm
|
|
101
105
|
supported_algs = ["auto", "full", "lloyd", "elkan"]
|
|
106
|
+
|
|
102
107
|
if self.algorithm == "elkan":
|
|
103
108
|
logging.getLogger("sklearnex").info(
|
|
104
109
|
"oneDAL does not support 'elkan', using 'lloyd' algorithm instead."
|
|
@@ -117,6 +122,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
117
122
|
self.algorithm in supported_algs,
|
|
118
123
|
"Only 'lloyd' algorithm is supported, 'elkan' is computed using lloyd",
|
|
119
124
|
),
|
|
125
|
+
(self.n_clusters != 1, "n_clusters=1 is not supported"),
|
|
120
126
|
(correct_count, "n_clusters is smaller than number of samples"),
|
|
121
127
|
(
|
|
122
128
|
_acceptable_sample_weights,
|
|
@@ -140,7 +146,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
140
146
|
"fit",
|
|
141
147
|
{
|
|
142
148
|
"onedal": self.__class__._onedal_fit,
|
|
143
|
-
"sklearn":
|
|
149
|
+
"sklearn": _sklearn_KMeans.fit,
|
|
144
150
|
},
|
|
145
151
|
X,
|
|
146
152
|
y,
|
|
@@ -150,7 +156,8 @@ if daal_check_version((2023, "P", 200)):
|
|
|
150
156
|
return self
|
|
151
157
|
|
|
152
158
|
def _onedal_fit(self, X, _, sample_weight, queue=None):
|
|
153
|
-
X =
|
|
159
|
+
X = validate_data(
|
|
160
|
+
self,
|
|
154
161
|
X,
|
|
155
162
|
accept_sparse="csr",
|
|
156
163
|
dtype=[np.float64, np.float32],
|
|
@@ -175,7 +182,9 @@ if daal_check_version((2023, "P", 200)):
|
|
|
175
182
|
def _validate_sample_weight(self, sample_weight, X):
|
|
176
183
|
if sample_weight is None:
|
|
177
184
|
return True
|
|
178
|
-
elif isinstance(sample_weight, numbers.Number)
|
|
185
|
+
elif isinstance(sample_weight, numbers.Number) or isinstance(
|
|
186
|
+
sample_weight, str
|
|
187
|
+
):
|
|
179
188
|
return True
|
|
180
189
|
else:
|
|
181
190
|
sample_weight = _check_sample_weight(
|
|
@@ -188,14 +197,19 @@ if daal_check_version((2023, "P", 200)):
|
|
|
188
197
|
else:
|
|
189
198
|
return False
|
|
190
199
|
|
|
191
|
-
def _onedal_predict_supported(self, method_name,
|
|
200
|
+
def _onedal_predict_supported(self, method_name, *data):
|
|
192
201
|
class_name = self.__class__.__name__
|
|
202
|
+
|
|
203
|
+
patching_status = PatchingConditionsChain(
|
|
204
|
+
f"sklearn.cluster.{class_name}.{method_name}"
|
|
205
|
+
)
|
|
206
|
+
|
|
207
|
+
X = data[0]
|
|
208
|
+
sample_weight = data[-1] if len(data) > 1 else None
|
|
209
|
+
|
|
193
210
|
is_data_supported = (
|
|
194
211
|
_is_csr(X) and daal_check_version((2024, "P", 700))
|
|
195
212
|
) or not issparse(X)
|
|
196
|
-
patching_status = PatchingConditionsChain(
|
|
197
|
-
f"sklearn.cluster.{class_name}.predict"
|
|
198
|
-
)
|
|
199
213
|
|
|
200
214
|
# algorithm "auto" has been deprecated since 1.1,
|
|
201
215
|
# algorithm "full" has been replaced by "lloyd"
|
|
@@ -217,6 +231,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
217
231
|
self.algorithm in supported_algs,
|
|
218
232
|
"Only 'lloyd' algorithm is supported, 'elkan' is computed using lloyd.",
|
|
219
233
|
),
|
|
234
|
+
(self.n_clusters != 1, "n_clusters=1 is not supported"),
|
|
220
235
|
(
|
|
221
236
|
is_data_supported,
|
|
222
237
|
"Supported data formats: Dense, CSR (oneDAL version >= 2024.7.0).",
|
|
@@ -235,13 +250,13 @@ if daal_check_version((2023, "P", 200)):
|
|
|
235
250
|
@wrap_output_data
|
|
236
251
|
def predict(self, X):
|
|
237
252
|
self._validate_params()
|
|
238
|
-
|
|
253
|
+
check_is_fitted(self)
|
|
239
254
|
return dispatch(
|
|
240
255
|
self,
|
|
241
256
|
"predict",
|
|
242
257
|
{
|
|
243
258
|
"onedal": self.__class__._onedal_predict,
|
|
244
|
-
"sklearn":
|
|
259
|
+
"sklearn": _sklearn_KMeans.predict,
|
|
245
260
|
},
|
|
246
261
|
X,
|
|
247
262
|
)
|
|
@@ -257,38 +272,37 @@ if daal_check_version((2023, "P", 200)):
|
|
|
257
272
|
if sklearn_check_version("1.2"):
|
|
258
273
|
self._validate_params()
|
|
259
274
|
|
|
275
|
+
if sklearn_check_version("1.3"):
|
|
276
|
+
if isinstance(sample_weight, str) and sample_weight == "deprecated":
|
|
277
|
+
sample_weight = None
|
|
278
|
+
|
|
279
|
+
if sample_weight is not None:
|
|
280
|
+
warnings.warn(
|
|
281
|
+
"'sample_weight' was deprecated in version 1.3 and "
|
|
282
|
+
"will be removed in 1.5.",
|
|
283
|
+
FutureWarning,
|
|
284
|
+
)
|
|
285
|
+
check_is_fitted(self)
|
|
260
286
|
return dispatch(
|
|
261
287
|
self,
|
|
262
288
|
"predict",
|
|
263
289
|
{
|
|
264
290
|
"onedal": self.__class__._onedal_predict,
|
|
265
|
-
"sklearn":
|
|
291
|
+
"sklearn": _sklearn_KMeans.predict,
|
|
266
292
|
},
|
|
267
293
|
X,
|
|
268
|
-
sample_weight
|
|
294
|
+
sample_weight,
|
|
269
295
|
)
|
|
270
296
|
|
|
271
297
|
def _onedal_predict(self, X, sample_weight=None, queue=None):
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
X = self._validate_data(
|
|
298
|
+
X = validate_data(
|
|
299
|
+
self,
|
|
275
300
|
X,
|
|
276
301
|
accept_sparse="csr",
|
|
277
302
|
reset=False,
|
|
278
303
|
dtype=[np.float64, np.float32],
|
|
279
304
|
)
|
|
280
305
|
|
|
281
|
-
if not sklearn_check_version("1.5") and sklearn_check_version("1.3"):
|
|
282
|
-
if isinstance(sample_weight, str) and sample_weight == "deprecated":
|
|
283
|
-
sample_weight = None
|
|
284
|
-
|
|
285
|
-
if sample_weight is not None:
|
|
286
|
-
warnings.warn(
|
|
287
|
-
"'sample_weight' was deprecated in version 1.3 and "
|
|
288
|
-
"will be removed in 1.5.",
|
|
289
|
-
FutureWarning,
|
|
290
|
-
)
|
|
291
|
-
|
|
292
306
|
if not hasattr(self, "_onedal_estimator"):
|
|
293
307
|
self._initialize_onedal_estimator()
|
|
294
308
|
self._onedal_estimator.cluster_centers_ = self.cluster_centers_
|
|
@@ -320,22 +334,22 @@ if daal_check_version((2023, "P", 200)):
|
|
|
320
334
|
|
|
321
335
|
@wrap_output_data
|
|
322
336
|
def score(self, X, y=None, sample_weight=None):
|
|
337
|
+
check_is_fitted(self)
|
|
323
338
|
return dispatch(
|
|
324
339
|
self,
|
|
325
340
|
"score",
|
|
326
341
|
{
|
|
327
342
|
"onedal": self.__class__._onedal_score,
|
|
328
|
-
"sklearn":
|
|
343
|
+
"sklearn": _sklearn_KMeans.score,
|
|
329
344
|
},
|
|
330
345
|
X,
|
|
331
346
|
y,
|
|
332
|
-
sample_weight
|
|
347
|
+
sample_weight,
|
|
333
348
|
)
|
|
334
349
|
|
|
335
|
-
def _onedal_score(self, X, y, sample_weight=None, queue=None):
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
X = self._validate_data(
|
|
350
|
+
def _onedal_score(self, X, y=None, sample_weight=None, queue=None):
|
|
351
|
+
X = validate_data(
|
|
352
|
+
self,
|
|
339
353
|
X,
|
|
340
354
|
accept_sparse="csr",
|
|
341
355
|
reset=False,
|
|
@@ -369,11 +383,11 @@ if daal_check_version((2023, "P", 200)):
|
|
|
369
383
|
|
|
370
384
|
self._n_init = self._onedal_estimator._n_init
|
|
371
385
|
|
|
372
|
-
fit.__doc__ =
|
|
373
|
-
predict.__doc__ =
|
|
374
|
-
transform.__doc__ =
|
|
375
|
-
fit_transform.__doc__ =
|
|
376
|
-
score.__doc__ =
|
|
386
|
+
fit.__doc__ = _sklearn_KMeans.fit.__doc__
|
|
387
|
+
predict.__doc__ = _sklearn_KMeans.predict.__doc__
|
|
388
|
+
transform.__doc__ = _sklearn_KMeans.transform.__doc__
|
|
389
|
+
fit_transform.__doc__ = _sklearn_KMeans.fit_transform.__doc__
|
|
390
|
+
score.__doc__ = _sklearn_KMeans.score.__doc__
|
|
377
391
|
|
|
378
392
|
else:
|
|
379
393
|
from daal4py.sklearn.cluster import KMeans
|
|
@@ -28,6 +28,7 @@ from onedal.tests.utils._dataframes_support import (
|
|
|
28
28
|
get_queues,
|
|
29
29
|
)
|
|
30
30
|
from sklearnex import config_context
|
|
31
|
+
from sklearnex.tests.utils import _IS_INTEL
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
def generate_dense_dataset(n_samples, n_features, density, n_clusters):
|
|
@@ -45,11 +46,11 @@ def generate_dense_dataset(n_samples, n_features, density, n_clusters):
|
|
|
45
46
|
|
|
46
47
|
|
|
47
48
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
48
|
-
@pytest.mark.parametrize(
|
|
49
|
+
@pytest.mark.parametrize(
|
|
50
|
+
"algorithm", ["lloyd" if sklearn_check_version("1.1") else "full", "elkan"]
|
|
51
|
+
)
|
|
49
52
|
@pytest.mark.parametrize("init", ["k-means++", "random"])
|
|
50
53
|
def test_sklearnex_import_for_dense_data(dataframe, queue, algorithm, init):
|
|
51
|
-
if not sklearn_check_version("1.1") and algorithm == "lloyd":
|
|
52
|
-
pytest.skip("lloyd requires sklearn>=1.1.")
|
|
53
54
|
from sklearnex.cluster import KMeans
|
|
54
55
|
|
|
55
56
|
X_dense = generate_dense_dataset(1000, 10, 0.5, 3)
|
|
@@ -70,7 +71,9 @@ def test_sklearnex_import_for_dense_data(dataframe, queue, algorithm, init):
|
|
|
70
71
|
reason="Sparse data requires oneDAL>=2024.7.0",
|
|
71
72
|
)
|
|
72
73
|
@pytest.mark.parametrize("queue", get_queues())
|
|
73
|
-
@pytest.mark.parametrize(
|
|
74
|
+
@pytest.mark.parametrize(
|
|
75
|
+
"algorithm", ["lloyd" if sklearn_check_version("1.1") else "full", "elkan"]
|
|
76
|
+
)
|
|
74
77
|
@pytest.mark.parametrize("init", ["k-means++", "random"])
|
|
75
78
|
def test_sklearnex_import_for_sparse_data(queue, algorithm, init):
|
|
76
79
|
from sklearnex.cluster import KMeans
|
|
@@ -86,11 +89,10 @@ def test_sklearnex_import_for_sparse_data(queue, algorithm, init):
|
|
|
86
89
|
|
|
87
90
|
|
|
88
91
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
89
|
-
@pytest.mark.parametrize(
|
|
92
|
+
@pytest.mark.parametrize(
|
|
93
|
+
"algorithm", ["lloyd" if sklearn_check_version("1.1") else "full", "elkan"]
|
|
94
|
+
)
|
|
90
95
|
def test_results_on_dense_gold_data(dataframe, queue, algorithm):
|
|
91
|
-
if not sklearn_check_version("1.1") and algorithm == "lloyd":
|
|
92
|
-
pytest.skip("lloyd requires sklearn>=1.1.")
|
|
93
|
-
|
|
94
96
|
from sklearnex.cluster import KMeans
|
|
95
97
|
|
|
96
98
|
X_train = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
|
|
@@ -121,15 +123,17 @@ def test_results_on_dense_gold_data(dataframe, queue, algorithm):
|
|
|
121
123
|
)
|
|
122
124
|
@pytest.mark.parametrize("queue", get_queues())
|
|
123
125
|
@pytest.mark.parametrize("init", ["k-means++", "random", "arraylike"])
|
|
124
|
-
@pytest.mark.parametrize(
|
|
126
|
+
@pytest.mark.parametrize(
|
|
127
|
+
"algorithm", ["lloyd" if sklearn_check_version("1.1") else "full", "elkan"]
|
|
128
|
+
)
|
|
125
129
|
@pytest.mark.parametrize(
|
|
126
130
|
"dims", [(1000, 10, 0.95, 3), (50000, 100, 0.75, 10), (10000, 10, 0.8, 5)]
|
|
127
131
|
)
|
|
128
132
|
def test_dense_vs_sparse(queue, init, algorithm, dims):
|
|
129
133
|
from sklearnex.cluster import KMeans
|
|
130
134
|
|
|
131
|
-
if init == "random":
|
|
132
|
-
pytest.skip("
|
|
135
|
+
if init == "random" or (not _IS_INTEL and init == "k-means++"):
|
|
136
|
+
pytest.skip(f"{init} initialization for sparse K-means is non-conformant.")
|
|
133
137
|
|
|
134
138
|
# For higher level of sparsity (smaller density) the test may fail
|
|
135
139
|
n_samples, n_features, density, n_clusters = dims
|
|
@@ -27,6 +27,9 @@ def pytest_configure(config):
|
|
|
27
27
|
config.addinivalue_line(
|
|
28
28
|
"markers", "allow_sklearn_fallback: mark test to not check for sklearnex usage"
|
|
29
29
|
)
|
|
30
|
+
config.addinivalue_line(
|
|
31
|
+
"markers", "mpi: mark test to require MPI for distributed testing"
|
|
32
|
+
)
|
|
30
33
|
|
|
31
34
|
|
|
32
35
|
@pytest.hookimpl(hookwrapper=True)
|
|
@@ -71,3 +74,9 @@ def with_array_api():
|
|
|
71
74
|
yield
|
|
72
75
|
else:
|
|
73
76
|
yield
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
@pytest.fixture
|
|
80
|
+
def without_allow_sklearn_after_onedal():
|
|
81
|
+
with config_context(allow_sklearn_after_onedal=False):
|
|
82
|
+
yield
|
|
@@ -20,10 +20,10 @@ import warnings
|
|
|
20
20
|
import numpy as np
|
|
21
21
|
from scipy import linalg
|
|
22
22
|
from sklearn.base import BaseEstimator, clone
|
|
23
|
-
from sklearn.covariance import EmpiricalCovariance as
|
|
23
|
+
from sklearn.covariance import EmpiricalCovariance as _sklearn_EmpiricalCovariance
|
|
24
24
|
from sklearn.covariance import log_likelihood
|
|
25
25
|
from sklearn.utils import check_array, gen_batches
|
|
26
|
-
from sklearn.utils.validation import _num_features
|
|
26
|
+
from sklearn.utils.validation import _num_features, check_is_fitted
|
|
27
27
|
|
|
28
28
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
29
29
|
from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
|
|
@@ -33,16 +33,21 @@ from onedal.covariance import (
|
|
|
33
33
|
from sklearnex import config_context
|
|
34
34
|
|
|
35
35
|
from .._device_offload import dispatch, wrap_output_data
|
|
36
|
-
from .._utils import PatchingConditionsChain, register_hyperparameters
|
|
36
|
+
from .._utils import IntelEstimator, PatchingConditionsChain, register_hyperparameters
|
|
37
37
|
from ..metrics import pairwise_distances
|
|
38
38
|
from ..utils._array_api import get_namespace
|
|
39
39
|
|
|
40
40
|
if sklearn_check_version("1.2"):
|
|
41
41
|
from sklearn.utils._param_validation import Interval
|
|
42
42
|
|
|
43
|
+
if sklearn_check_version("1.6"):
|
|
44
|
+
from sklearn.utils.validation import validate_data
|
|
45
|
+
else:
|
|
46
|
+
validate_data = BaseEstimator._validate_data
|
|
47
|
+
|
|
43
48
|
|
|
44
49
|
@control_n_jobs(decorated_methods=["partial_fit", "fit", "_onedal_finalize_fit"])
|
|
45
|
-
class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
50
|
+
class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
|
|
46
51
|
"""
|
|
47
52
|
Maximum likelihood covariance estimator that allows for the estimation when the data are split into
|
|
48
53
|
batches. The user can use the ``partial_fit`` method to provide a single batch of data or use the ``fit`` method to provide
|
|
@@ -87,6 +92,13 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
87
92
|
n_features_in_ : int
|
|
88
93
|
Number of features seen during ``fit`` or ``partial_fit``.
|
|
89
94
|
|
|
95
|
+
Note
|
|
96
|
+
----
|
|
97
|
+
Serializing instances of this class will trigger a forced finalization of calculations.
|
|
98
|
+
Since finalize_fit can't be dispatched without directly provided queue
|
|
99
|
+
and the dispatching policy can't be serialized, the computation is finalized
|
|
100
|
+
during serialization and the policy is not saved in serialized data.
|
|
101
|
+
|
|
90
102
|
Examples
|
|
91
103
|
--------
|
|
92
104
|
>>> import numpy as np
|
|
@@ -116,8 +128,8 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
116
128
|
"copy": ["boolean"],
|
|
117
129
|
}
|
|
118
130
|
|
|
119
|
-
get_precision =
|
|
120
|
-
error_norm = wrap_output_data(
|
|
131
|
+
get_precision = _sklearn_EmpiricalCovariance.get_precision
|
|
132
|
+
error_norm = wrap_output_data(_sklearn_EmpiricalCovariance.error_norm)
|
|
121
133
|
|
|
122
134
|
def __init__(
|
|
123
135
|
self, *, store_precision=False, assume_centered=False, batch_size=None, copy=True
|
|
@@ -181,7 +193,8 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
181
193
|
self._validate_params()
|
|
182
194
|
|
|
183
195
|
if sklearn_check_version("1.0"):
|
|
184
|
-
X =
|
|
196
|
+
X = validate_data(
|
|
197
|
+
self,
|
|
185
198
|
X,
|
|
186
199
|
dtype=[np.float64, np.float32],
|
|
187
200
|
reset=first_pass,
|
|
@@ -220,9 +233,11 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
220
233
|
def score(self, X_test, y=None):
|
|
221
234
|
xp, _ = get_namespace(X_test)
|
|
222
235
|
|
|
236
|
+
check_is_fitted(self)
|
|
223
237
|
location = self.location_
|
|
224
238
|
if sklearn_check_version("1.0"):
|
|
225
|
-
X =
|
|
239
|
+
X = validate_data(
|
|
240
|
+
self,
|
|
226
241
|
X_test,
|
|
227
242
|
dtype=[np.float64, np.float32],
|
|
228
243
|
reset=False,
|
|
@@ -324,8 +339,12 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
324
339
|
|
|
325
340
|
# finite check occurs on onedal side
|
|
326
341
|
if sklearn_check_version("1.0"):
|
|
327
|
-
X =
|
|
328
|
-
|
|
342
|
+
X = validate_data(
|
|
343
|
+
self,
|
|
344
|
+
X,
|
|
345
|
+
dtype=[np.float64, np.float32],
|
|
346
|
+
copy=self.copy,
|
|
347
|
+
force_all_finite=False,
|
|
329
348
|
)
|
|
330
349
|
else:
|
|
331
350
|
X = check_array(
|
|
@@ -381,6 +400,6 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
381
400
|
_onedal_cpu_supported = _onedal_supported
|
|
382
401
|
_onedal_gpu_supported = _onedal_supported
|
|
383
402
|
|
|
384
|
-
mahalanobis.__doc__ =
|
|
385
|
-
error_norm.__doc__ =
|
|
386
|
-
score.__doc__ =
|
|
403
|
+
mahalanobis.__doc__ = _sklearn_EmpiricalCovariance.mahalanobis.__doc__
|
|
404
|
+
error_norm.__doc__ = _sklearn_EmpiricalCovariance.error_norm.__doc__
|
|
405
|
+
score.__doc__ = _sklearn_EmpiricalCovariance.score.__doc__
|
|
@@ -14,6 +14,17 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ===============================================================================
|
|
16
16
|
|
|
17
|
+
from os import environ
|
|
18
|
+
|
|
19
|
+
from daal4py.sklearn._utils import sklearn_check_version
|
|
20
|
+
|
|
21
|
+
# sklearn requires manual enabling of Scipy array API support
|
|
22
|
+
# if `array-api-compat` package is present in environment
|
|
23
|
+
# TODO: create generic approach to handle this for all tests
|
|
24
|
+
if sklearn_check_version("1.6"):
|
|
25
|
+
environ["SCIPY_ARRAY_API"] = "1"
|
|
26
|
+
|
|
27
|
+
|
|
17
28
|
import numpy as np
|
|
18
29
|
import pytest
|
|
19
30
|
from numpy.linalg import slogdet
|
|
@@ -209,6 +220,56 @@ def test_whitened_toy_score(dataframe, queue):
|
|
|
209
220
|
assert_allclose(expected_result, result, atol=1e-6)
|
|
210
221
|
|
|
211
222
|
|
|
223
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
224
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
225
|
+
def test_sklearnex_incremental_estimatior_pickle(dataframe, queue, dtype):
|
|
226
|
+
import pickle
|
|
227
|
+
|
|
228
|
+
from sklearnex.covariance import IncrementalEmpiricalCovariance
|
|
229
|
+
|
|
230
|
+
inccov = IncrementalEmpiricalCovariance()
|
|
231
|
+
|
|
232
|
+
# Check that estimator can be serialized without any data.
|
|
233
|
+
dump = pickle.dumps(inccov)
|
|
234
|
+
inccov_loaded = pickle.loads(dump)
|
|
235
|
+
|
|
236
|
+
seed = 77
|
|
237
|
+
gen = np.random.default_rng(seed)
|
|
238
|
+
X = gen.uniform(low=-0.3, high=+0.7, size=(10, 10))
|
|
239
|
+
X = X.astype(dtype)
|
|
240
|
+
X_split = np.array_split(X, 2)
|
|
241
|
+
X_split_df = _convert_to_dataframe(X_split[0], sycl_queue=queue, target_df=dataframe)
|
|
242
|
+
inccov.partial_fit(X_split_df)
|
|
243
|
+
inccov_loaded.partial_fit(X_split_df)
|
|
244
|
+
|
|
245
|
+
# Check that estimator can be serialized after partial_fit call.
|
|
246
|
+
dump = pickle.dumps(inccov_loaded)
|
|
247
|
+
inccov_loaded = pickle.loads(dump)
|
|
248
|
+
|
|
249
|
+
assert inccov.batch_size == inccov_loaded.batch_size
|
|
250
|
+
assert inccov.n_features_in_ == inccov_loaded.n_features_in_
|
|
251
|
+
assert inccov.n_samples_seen_ == inccov_loaded.n_samples_seen_
|
|
252
|
+
if hasattr(inccov, "_parameter_constraints"):
|
|
253
|
+
assert inccov._parameter_constraints == inccov_loaded._parameter_constraints
|
|
254
|
+
assert inccov.n_jobs == inccov_loaded.n_jobs
|
|
255
|
+
|
|
256
|
+
X_split_df = _convert_to_dataframe(X_split[1], sycl_queue=queue, target_df=dataframe)
|
|
257
|
+
inccov.partial_fit(X_split_df)
|
|
258
|
+
inccov_loaded.partial_fit(X_split_df)
|
|
259
|
+
dump = pickle.dumps(inccov)
|
|
260
|
+
inccov_loaded = pickle.loads(dump)
|
|
261
|
+
|
|
262
|
+
assert_allclose(inccov.location_, inccov_loaded.location_, atol=1e-6)
|
|
263
|
+
assert_allclose(inccov.covariance_, inccov_loaded.covariance_, atol=1e-6)
|
|
264
|
+
|
|
265
|
+
# Check that finalized estimator can be serialized.
|
|
266
|
+
dump = pickle.dumps(inccov_loaded)
|
|
267
|
+
inccov_loaded = pickle.loads(dump)
|
|
268
|
+
|
|
269
|
+
assert_allclose(inccov.location_, inccov_loaded.location_, atol=1e-6)
|
|
270
|
+
assert_allclose(inccov.covariance_, inccov_loaded.covariance_, atol=1e-6)
|
|
271
|
+
|
|
272
|
+
|
|
212
273
|
# Monkeypatch IncrementalEmpiricalCovariance into relevant sklearn.covariance tests
|
|
213
274
|
@pytest.mark.allow_sklearn_fallback
|
|
214
275
|
@pytest.mark.parametrize(
|
|
@@ -25,7 +25,7 @@ if daal_check_version((2024, "P", 100)):
|
|
|
25
25
|
|
|
26
26
|
import numpy as np
|
|
27
27
|
from scipy.sparse import issparse
|
|
28
|
-
from sklearn.utils.validation import check_is_fitted
|
|
28
|
+
from sklearn.utils.validation import check_array, check_is_fitted
|
|
29
29
|
|
|
30
30
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
31
31
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
@@ -40,16 +40,21 @@ if daal_check_version((2024, "P", 100)):
|
|
|
40
40
|
if sklearn_check_version("1.2"):
|
|
41
41
|
from sklearn.utils._param_validation import StrOptions
|
|
42
42
|
|
|
43
|
-
from sklearn.decomposition import PCA as
|
|
43
|
+
from sklearn.decomposition import PCA as _sklearn_PCA
|
|
44
44
|
|
|
45
45
|
from onedal.decomposition import PCA as onedal_PCA
|
|
46
46
|
|
|
47
|
+
if sklearn_check_version("1.6"):
|
|
48
|
+
from sklearn.utils.validation import validate_data
|
|
49
|
+
else:
|
|
50
|
+
validate_data = _sklearn_PCA._validate_data
|
|
51
|
+
|
|
47
52
|
@control_n_jobs(decorated_methods=["fit", "transform", "fit_transform"])
|
|
48
|
-
class PCA(
|
|
49
|
-
__doc__ =
|
|
53
|
+
class PCA(_sklearn_PCA):
|
|
54
|
+
__doc__ = _sklearn_PCA.__doc__
|
|
50
55
|
|
|
51
56
|
if sklearn_check_version("1.2"):
|
|
52
|
-
_parameter_constraints: dict = {**
|
|
57
|
+
_parameter_constraints: dict = {**_sklearn_PCA._parameter_constraints}
|
|
53
58
|
# "onedal_svd" solver uses oneDAL's PCA-SVD algorithm
|
|
54
59
|
# and required for testing purposes to fully enable it in future.
|
|
55
60
|
# "covariance_eigh" solver is added for ability to explicitly request
|
|
@@ -127,13 +132,14 @@ if daal_check_version((2024, "P", 100)):
|
|
|
127
132
|
"fit",
|
|
128
133
|
{
|
|
129
134
|
"onedal": self.__class__._onedal_fit,
|
|
130
|
-
"sklearn":
|
|
135
|
+
"sklearn": _sklearn_PCA._fit,
|
|
131
136
|
},
|
|
132
137
|
X,
|
|
133
138
|
)
|
|
134
139
|
|
|
135
140
|
def _onedal_fit(self, X, queue=None):
|
|
136
|
-
X =
|
|
141
|
+
X = validate_data(
|
|
142
|
+
self,
|
|
137
143
|
X,
|
|
138
144
|
dtype=[np.float64, np.float32],
|
|
139
145
|
ensure_2d=True,
|
|
@@ -164,25 +170,30 @@ if daal_check_version((2024, "P", 100)):
|
|
|
164
170
|
|
|
165
171
|
@wrap_output_data
|
|
166
172
|
def transform(self, X):
|
|
173
|
+
check_is_fitted(self)
|
|
167
174
|
return dispatch(
|
|
168
175
|
self,
|
|
169
176
|
"transform",
|
|
170
177
|
{
|
|
171
178
|
"onedal": self.__class__._onedal_transform,
|
|
172
|
-
"sklearn":
|
|
179
|
+
"sklearn": _sklearn_PCA.transform,
|
|
173
180
|
},
|
|
174
181
|
X,
|
|
175
182
|
)
|
|
176
183
|
|
|
177
184
|
def _onedal_transform(self, X, queue=None):
|
|
178
|
-
check_is_fitted(self)
|
|
179
185
|
if sklearn_check_version("1.0"):
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
+
X = validate_data(
|
|
187
|
+
self,
|
|
188
|
+
X,
|
|
189
|
+
dtype=[np.float64, np.float32],
|
|
190
|
+
reset=False,
|
|
191
|
+
)
|
|
192
|
+
else:
|
|
193
|
+
X = check_array(
|
|
194
|
+
X,
|
|
195
|
+
dtype=[np.float64, np.float32],
|
|
196
|
+
)
|
|
186
197
|
self._validate_n_features_in_after_fitting(X)
|
|
187
198
|
|
|
188
199
|
return self._onedal_estimator.predict(X, queue=queue)
|
|
@@ -401,10 +412,10 @@ if daal_check_version((2024, "P", 100)):
|
|
|
401
412
|
)
|
|
402
413
|
)
|
|
403
414
|
|
|
404
|
-
fit.__doc__ =
|
|
405
|
-
transform.__doc__ =
|
|
406
|
-
fit_transform.__doc__ =
|
|
407
|
-
inverse_transform.__doc__ =
|
|
415
|
+
fit.__doc__ = _sklearn_PCA.fit.__doc__
|
|
416
|
+
transform.__doc__ = _sklearn_PCA.transform.__doc__
|
|
417
|
+
fit_transform.__doc__ = _sklearn_PCA.fit_transform.__doc__
|
|
418
|
+
inverse_transform.__doc__ = _sklearn_PCA.inverse_transform.__doc__
|
|
408
419
|
|
|
409
420
|
else:
|
|
410
421
|
from daal4py.sklearn.decomposition import PCA
|
|
@@ -52,7 +52,6 @@ def get_patch_map_core(preview=False):
|
|
|
52
52
|
EmpiricalCovariance as EmpiricalCovariance_sklearnex,
|
|
53
53
|
)
|
|
54
54
|
from .preview.decomposition import IncrementalPCA as IncrementalPCA_sklearnex
|
|
55
|
-
from .preview.linear_model import Ridge as Ridge_sklearnex
|
|
56
55
|
|
|
57
56
|
# Since the state of the lru_cache without preview cannot be
|
|
58
57
|
# guaranteed to not have already enabled sklearnex algorithms
|
|
@@ -83,14 +82,6 @@ def get_patch_map_core(preview=False):
|
|
|
83
82
|
]
|
|
84
83
|
]
|
|
85
84
|
|
|
86
|
-
# Ridge
|
|
87
|
-
linear_model_module, _, _ = mapping["ridge"][0][0]
|
|
88
|
-
sklearn_obj = mapping["ridge"][0][1]
|
|
89
|
-
mapping.pop("ridge")
|
|
90
|
-
mapping["ridge"] = [
|
|
91
|
-
[(linear_model_module, "Ridge", Ridge_sklearnex), sklearn_obj]
|
|
92
|
-
]
|
|
93
|
-
|
|
94
85
|
return mapping
|
|
95
86
|
|
|
96
87
|
from daal4py.sklearn.monkeypatch.dispatcher import _get_map_of_algorithms
|
|
@@ -492,7 +483,7 @@ def patch_sklearn(name=None, verbose=True, global_patch=False, preview=False):
|
|
|
492
483
|
if verbose and sys.stderr is not None:
|
|
493
484
|
sys.stderr.write(
|
|
494
485
|
"Intel(R) Extension for Scikit-learn* enabled "
|
|
495
|
-
"(https://github.com/
|
|
486
|
+
"(https://github.com/uxlfoundation/scikit-learn-intelex)\n"
|
|
496
487
|
)
|
|
497
488
|
|
|
498
489
|
|