scikit-learn-intelex 2025.0.1__py311-none-win_amd64.whl → 2025.2.0__py311-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.cp311-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.cp311-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.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-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.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-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
|
@@ -18,7 +18,7 @@ import numpy as np
|
|
|
18
18
|
|
|
19
19
|
from daal4py.sklearn._utils import get_dtype
|
|
20
20
|
|
|
21
|
-
from ..datatypes import
|
|
21
|
+
from ..datatypes import from_table, to_table
|
|
22
22
|
from ..utils import _check_array
|
|
23
23
|
from .basic_statistics import BaseBasicStatistics
|
|
24
24
|
|
|
@@ -70,10 +70,21 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
70
70
|
self._reset()
|
|
71
71
|
|
|
72
72
|
def _reset(self):
|
|
73
|
+
self._need_to_finalize = False
|
|
73
74
|
self._partial_result = self._get_backend(
|
|
74
75
|
"basic_statistics", None, "partial_compute_result"
|
|
75
76
|
)
|
|
76
77
|
|
|
78
|
+
def __getstate__(self):
|
|
79
|
+
# Since finalize_fit can't be dispatched without directly provided queue
|
|
80
|
+
# and the dispatching policy can't be serialized, the computation is finalized
|
|
81
|
+
# here and the policy is not saved in serialized data.
|
|
82
|
+
self.finalize_fit()
|
|
83
|
+
data = self.__dict__.copy()
|
|
84
|
+
data.pop("_queue", None)
|
|
85
|
+
|
|
86
|
+
return data
|
|
87
|
+
|
|
77
88
|
def partial_fit(self, X, weights=None, queue=None):
|
|
78
89
|
"""
|
|
79
90
|
Computes partial data for basic statistics
|
|
@@ -95,7 +106,6 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
95
106
|
"""
|
|
96
107
|
self._queue = queue
|
|
97
108
|
policy = self._get_policy(queue, X)
|
|
98
|
-
X, weights = _convert_to_supported(policy, X, weights)
|
|
99
109
|
|
|
100
110
|
X = _check_array(
|
|
101
111
|
X, dtype=[np.float64, np.float32], ensure_2d=False, force_all_finite=False
|
|
@@ -112,7 +122,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
112
122
|
dtype = get_dtype(X)
|
|
113
123
|
self._onedal_params = self._get_onedal_params(False, dtype=dtype)
|
|
114
124
|
|
|
115
|
-
X_table, weights_table = to_table(X, weights)
|
|
125
|
+
X_table, weights_table = to_table(X, weights, queue=queue)
|
|
116
126
|
self._partial_result = self._get_backend(
|
|
117
127
|
"basic_statistics",
|
|
118
128
|
None,
|
|
@@ -124,6 +134,9 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
124
134
|
weights_table,
|
|
125
135
|
)
|
|
126
136
|
|
|
137
|
+
self._need_to_finalize = True
|
|
138
|
+
return self
|
|
139
|
+
|
|
127
140
|
def finalize_fit(self, queue=None):
|
|
128
141
|
"""
|
|
129
142
|
Finalizes basic statistics computation and obtains result
|
|
@@ -139,22 +152,24 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
139
152
|
self : object
|
|
140
153
|
Returns the instance itself.
|
|
141
154
|
"""
|
|
155
|
+
if self._need_to_finalize:
|
|
156
|
+
if queue is not None:
|
|
157
|
+
policy = self._get_policy(queue)
|
|
158
|
+
else:
|
|
159
|
+
policy = self._get_policy(self._queue)
|
|
160
|
+
|
|
161
|
+
result = self._get_backend(
|
|
162
|
+
"basic_statistics",
|
|
163
|
+
None,
|
|
164
|
+
"finalize_compute",
|
|
165
|
+
policy,
|
|
166
|
+
self._onedal_params,
|
|
167
|
+
self._partial_result,
|
|
168
|
+
)
|
|
169
|
+
options = self._get_result_options(self.options).split("|")
|
|
170
|
+
for opt in options:
|
|
171
|
+
setattr(self, opt, from_table(getattr(result, opt)).ravel())
|
|
142
172
|
|
|
143
|
-
|
|
144
|
-
policy = self._get_policy(queue)
|
|
145
|
-
else:
|
|
146
|
-
policy = self._get_policy(self._queue)
|
|
147
|
-
|
|
148
|
-
result = self._get_backend(
|
|
149
|
-
"basic_statistics",
|
|
150
|
-
None,
|
|
151
|
-
"finalize_compute",
|
|
152
|
-
policy,
|
|
153
|
-
self._onedal_params,
|
|
154
|
-
self._partial_result,
|
|
155
|
-
)
|
|
156
|
-
options = self._get_result_options(self.options).split("|")
|
|
157
|
-
for opt in options:
|
|
158
|
-
setattr(self, opt, from_table(getattr(result, opt)).ravel())
|
|
173
|
+
self._need_to_finalize = False
|
|
159
174
|
|
|
160
175
|
return self
|
|
@@ -21,66 +21,9 @@ from scipy import sparse as sp
|
|
|
21
21
|
|
|
22
22
|
from daal4py.sklearn._utils import daal_check_version
|
|
23
23
|
from onedal.basic_statistics import BasicStatistics
|
|
24
|
+
from onedal.basic_statistics.tests.utils import options_and_tests
|
|
24
25
|
from onedal.tests.utils._device_selection import get_queues
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
def expected_sum(X):
|
|
28
|
-
return np.sum(X, axis=0)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def expected_max(X):
|
|
32
|
-
return np.max(X, axis=0)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def expected_min(X):
|
|
36
|
-
return np.min(X, axis=0)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def expected_mean(X):
|
|
40
|
-
return np.mean(X, axis=0)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def expected_standard_deviation(X):
|
|
44
|
-
return np.std(X, axis=0)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def expected_variance(X):
|
|
48
|
-
return np.var(X, axis=0)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def expected_variation(X):
|
|
52
|
-
return expected_standard_deviation(X) / expected_mean(X)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def expected_sum_squares(X):
|
|
56
|
-
return np.sum(np.square(X), axis=0)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def expected_sum_squares_centered(X):
|
|
60
|
-
return np.sum(np.square(X - expected_mean(X)), axis=0)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
def expected_standard_deviation(X):
|
|
64
|
-
return np.sqrt(expected_variance(X))
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
def expected_second_order_raw_moment(X):
|
|
68
|
-
return np.mean(np.square(X), axis=0)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
options_and_tests = [
|
|
72
|
-
("sum", expected_sum, (5e-4, 1e-7)),
|
|
73
|
-
("min", expected_min, (1e-7, 1e-7)),
|
|
74
|
-
("max", expected_max, (1e-7, 1e-7)),
|
|
75
|
-
("mean", expected_mean, (5e-7, 1e-7)),
|
|
76
|
-
("variance", expected_variance, (2e-3, 2e-3)),
|
|
77
|
-
("variation", expected_variation, (5e-2, 5e-2)),
|
|
78
|
-
("sum_squares", expected_sum_squares, (2e-4, 1e-7)),
|
|
79
|
-
("sum_squares_centered", expected_sum_squares_centered, (2e-4, 1e-7)),
|
|
80
|
-
("standard_deviation", expected_standard_deviation, (2e-3, 2e-3)),
|
|
81
|
-
("second_order_raw_moment", expected_second_order_raw_moment, (1e-6, 1e-7)),
|
|
82
|
-
]
|
|
83
|
-
|
|
84
27
|
options_and_tests_csr = [
|
|
85
28
|
("sum", "sum", (5e-6, 1e-9)),
|
|
86
29
|
("min", "min", (0, 0)),
|
|
@@ -90,15 +33,15 @@ options_and_tests_csr = [
|
|
|
90
33
|
|
|
91
34
|
|
|
92
35
|
@pytest.mark.parametrize("queue", get_queues())
|
|
93
|
-
@pytest.mark.parametrize("
|
|
36
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
94
37
|
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
95
38
|
@pytest.mark.parametrize("column_count", [10, 100])
|
|
96
39
|
@pytest.mark.parametrize("weighted", [True, False])
|
|
97
40
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
98
41
|
def test_single_option_on_random_data(
|
|
99
|
-
queue,
|
|
42
|
+
queue, result_option, row_count, column_count, weighted, dtype
|
|
100
43
|
):
|
|
101
|
-
|
|
44
|
+
function, tols = options_and_tests[result_option]
|
|
102
45
|
fp32tol, fp64tol = tols
|
|
103
46
|
seed = 77
|
|
104
47
|
gen = np.random.default_rng(seed)
|
|
@@ -150,15 +93,15 @@ def test_multiple_options_on_random_data(queue, row_count, column_count, weighte
|
|
|
150
93
|
if weighted:
|
|
151
94
|
weighted_data = np.diag(weights) @ data
|
|
152
95
|
gtr_mean, gtr_max, gtr_sum = (
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
96
|
+
options_and_tests["mean"][0](weighted_data),
|
|
97
|
+
options_and_tests["max"][0](weighted_data),
|
|
98
|
+
options_and_tests["sum"][0](weighted_data),
|
|
156
99
|
)
|
|
157
100
|
else:
|
|
158
101
|
gtr_mean, gtr_max, gtr_sum = (
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
102
|
+
options_and_tests["mean"][0](data),
|
|
103
|
+
options_and_tests["max"][0](data),
|
|
104
|
+
options_and_tests["sum"][0](data),
|
|
162
105
|
)
|
|
163
106
|
|
|
164
107
|
tol = 5e-4 if res_mean.dtype == np.float32 else 1e-7
|
|
@@ -190,8 +133,8 @@ def test_all_option_on_random_data(queue, row_count, column_count, weighted, dty
|
|
|
190
133
|
if weighted:
|
|
191
134
|
weighted_data = np.diag(weights) @ data
|
|
192
135
|
|
|
193
|
-
for
|
|
194
|
-
|
|
136
|
+
for result_option in options_and_tests:
|
|
137
|
+
function, tols = options_and_tests[result_option]
|
|
195
138
|
fp32tol, fp64tol = tols
|
|
196
139
|
res = getattr(result, result_option)
|
|
197
140
|
if weighted:
|
|
@@ -203,12 +146,13 @@ def test_all_option_on_random_data(queue, row_count, column_count, weighted, dty
|
|
|
203
146
|
|
|
204
147
|
|
|
205
148
|
@pytest.mark.parametrize("queue", get_queues())
|
|
206
|
-
@pytest.mark.parametrize("
|
|
149
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
207
150
|
@pytest.mark.parametrize("data_size", [100, 1000])
|
|
208
151
|
@pytest.mark.parametrize("weighted", [True, False])
|
|
209
152
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
210
|
-
def test_1d_input_on_random_data(queue,
|
|
211
|
-
|
|
153
|
+
def test_1d_input_on_random_data(queue, result_option, data_size, weighted, dtype):
|
|
154
|
+
|
|
155
|
+
function, tols = options_and_tests[result_option]
|
|
212
156
|
fp32tol, fp64tol = tols
|
|
213
157
|
seed = 77
|
|
214
158
|
gen = np.random.default_rng(seed)
|
|
@@ -19,12 +19,8 @@ import pytest
|
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
20
|
|
|
21
21
|
from onedal.basic_statistics import IncrementalBasicStatistics
|
|
22
|
-
from onedal.basic_statistics.tests.
|
|
23
|
-
|
|
24
|
-
expected_mean,
|
|
25
|
-
expected_sum,
|
|
26
|
-
options_and_tests,
|
|
27
|
-
)
|
|
22
|
+
from onedal.basic_statistics.tests.utils import options_and_tests
|
|
23
|
+
from onedal.datatypes import from_table
|
|
28
24
|
from onedal.tests.utils._device_selection import get_queues
|
|
29
25
|
|
|
30
26
|
|
|
@@ -67,15 +63,15 @@ def test_multiple_options_on_gold_data(queue, weighted, dtype):
|
|
|
67
63
|
|
|
68
64
|
@pytest.mark.parametrize("queue", get_queues())
|
|
69
65
|
@pytest.mark.parametrize("num_batches", [2, 10])
|
|
70
|
-
@pytest.mark.parametrize("
|
|
66
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
71
67
|
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
72
68
|
@pytest.mark.parametrize("column_count", [10, 100])
|
|
73
69
|
@pytest.mark.parametrize("weighted", [True, False])
|
|
74
70
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
75
71
|
def test_single_option_on_random_data(
|
|
76
|
-
queue, num_batches,
|
|
72
|
+
queue, num_batches, result_option, row_count, column_count, weighted, dtype
|
|
77
73
|
):
|
|
78
|
-
|
|
74
|
+
function, tols = options_and_tests[result_option]
|
|
79
75
|
fp32tol, fp64tol = tols
|
|
80
76
|
seed = 77
|
|
81
77
|
gen = np.random.default_rng(seed)
|
|
@@ -137,15 +133,15 @@ def test_multiple_options_on_random_data(
|
|
|
137
133
|
if weighted:
|
|
138
134
|
weighted_data = np.diag(weights) @ data
|
|
139
135
|
gtr_mean, gtr_max, gtr_sum = (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
136
|
+
options_and_tests["mean"][0](weighted_data),
|
|
137
|
+
options_and_tests["max"][0](weighted_data),
|
|
138
|
+
options_and_tests["sum"][0](weighted_data),
|
|
143
139
|
)
|
|
144
140
|
else:
|
|
145
141
|
gtr_mean, gtr_max, gtr_sum = (
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
142
|
+
options_and_tests["mean"][0](data),
|
|
143
|
+
options_and_tests["max"][0](data),
|
|
144
|
+
options_and_tests["sum"][0](data),
|
|
149
145
|
)
|
|
150
146
|
|
|
151
147
|
tol = 3e-4 if res_mean.dtype == np.float32 else 1e-7
|
|
@@ -184,8 +180,8 @@ def test_all_option_on_random_data(
|
|
|
184
180
|
if weighted:
|
|
185
181
|
weighted_data = np.diag(weights) @ data
|
|
186
182
|
|
|
187
|
-
for
|
|
188
|
-
|
|
183
|
+
for result_option in options_and_tests:
|
|
184
|
+
function, tols = options_and_tests[result_option]
|
|
189
185
|
fp32tol, fp64tol = tols
|
|
190
186
|
res = getattr(result, result_option)
|
|
191
187
|
if weighted:
|
|
@@ -194,3 +190,90 @@ def test_all_option_on_random_data(
|
|
|
194
190
|
gtr = function(data)
|
|
195
191
|
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
196
192
|
assert_allclose(gtr, res, atol=tol)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
@pytest.mark.parametrize("queue", get_queues())
|
|
196
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
197
|
+
def test_incremental_estimator_pickle(queue, dtype):
|
|
198
|
+
import pickle
|
|
199
|
+
|
|
200
|
+
from onedal.basic_statistics import IncrementalBasicStatistics
|
|
201
|
+
|
|
202
|
+
incbs = IncrementalBasicStatistics()
|
|
203
|
+
|
|
204
|
+
# Check that estimator can be serialized without any data.
|
|
205
|
+
dump = pickle.dumps(incbs)
|
|
206
|
+
incbs_loaded = pickle.loads(dump)
|
|
207
|
+
seed = 77
|
|
208
|
+
gen = np.random.default_rng(seed)
|
|
209
|
+
X = gen.uniform(low=-0.3, high=+0.7, size=(10, 10))
|
|
210
|
+
X = X.astype(dtype)
|
|
211
|
+
X_split = np.array_split(X, 2)
|
|
212
|
+
incbs.partial_fit(X_split[0], queue=queue)
|
|
213
|
+
incbs_loaded.partial_fit(X_split[0], queue=queue)
|
|
214
|
+
|
|
215
|
+
assert incbs._need_to_finalize == True
|
|
216
|
+
assert incbs_loaded._need_to_finalize == True
|
|
217
|
+
|
|
218
|
+
# Check that estimator can be serialized after partial_fit call.
|
|
219
|
+
dump = pickle.dumps(incbs)
|
|
220
|
+
incbs_loaded = pickle.loads(dump)
|
|
221
|
+
assert incbs._need_to_finalize == False
|
|
222
|
+
# Finalize is called during serialization to make sure partial results are finalized correctly.
|
|
223
|
+
assert incbs_loaded._need_to_finalize == False
|
|
224
|
+
|
|
225
|
+
partial_n_rows = from_table(incbs._partial_result.partial_n_rows)
|
|
226
|
+
partial_n_rows_loaded = from_table(incbs_loaded._partial_result.partial_n_rows)
|
|
227
|
+
assert_allclose(partial_n_rows, partial_n_rows_loaded)
|
|
228
|
+
|
|
229
|
+
partial_min = from_table(incbs._partial_result.partial_min)
|
|
230
|
+
partial_min_loaded = from_table(incbs_loaded._partial_result.partial_min)
|
|
231
|
+
assert_allclose(partial_min, partial_min_loaded)
|
|
232
|
+
|
|
233
|
+
partial_max = from_table(incbs._partial_result.partial_max)
|
|
234
|
+
partial_max_loaded = from_table(incbs_loaded._partial_result.partial_max)
|
|
235
|
+
assert_allclose(partial_max, partial_max_loaded)
|
|
236
|
+
|
|
237
|
+
partial_sum = from_table(incbs._partial_result.partial_sum)
|
|
238
|
+
partial_sum_loaded = from_table(incbs_loaded._partial_result.partial_sum)
|
|
239
|
+
assert_allclose(partial_sum, partial_sum_loaded)
|
|
240
|
+
|
|
241
|
+
partial_sum_squares = from_table(incbs._partial_result.partial_sum_squares)
|
|
242
|
+
partial_sum_squares_loaded = from_table(
|
|
243
|
+
incbs_loaded._partial_result.partial_sum_squares
|
|
244
|
+
)
|
|
245
|
+
assert_allclose(partial_sum_squares, partial_sum_squares_loaded)
|
|
246
|
+
|
|
247
|
+
partial_sum_squares_centered = from_table(
|
|
248
|
+
incbs._partial_result.partial_sum_squares_centered
|
|
249
|
+
)
|
|
250
|
+
partial_sum_squares_centered_loaded = from_table(
|
|
251
|
+
incbs_loaded._partial_result.partial_sum_squares_centered
|
|
252
|
+
)
|
|
253
|
+
assert_allclose(partial_sum_squares_centered, partial_sum_squares_centered_loaded)
|
|
254
|
+
|
|
255
|
+
incbs.partial_fit(X_split[1], queue=queue)
|
|
256
|
+
incbs_loaded.partial_fit(X_split[1], queue=queue)
|
|
257
|
+
assert incbs._need_to_finalize == True
|
|
258
|
+
assert incbs_loaded._need_to_finalize == True
|
|
259
|
+
|
|
260
|
+
dump = pickle.dumps(incbs_loaded)
|
|
261
|
+
incbs_loaded = pickle.loads(dump)
|
|
262
|
+
|
|
263
|
+
assert incbs._need_to_finalize == True
|
|
264
|
+
assert incbs_loaded._need_to_finalize == False
|
|
265
|
+
|
|
266
|
+
incbs.finalize_fit()
|
|
267
|
+
incbs_loaded.finalize_fit()
|
|
268
|
+
|
|
269
|
+
# Check that finalized estimator can be serialized.
|
|
270
|
+
dump = pickle.dumps(incbs_loaded)
|
|
271
|
+
incbs_loaded = pickle.loads(dump)
|
|
272
|
+
|
|
273
|
+
for result_option in options_and_tests:
|
|
274
|
+
_, tols = options_and_tests[result_option]
|
|
275
|
+
fp32tol, fp64tol = tols
|
|
276
|
+
res = getattr(incbs, result_option)
|
|
277
|
+
res_loaded = getattr(incbs_loaded, result_option)
|
|
278
|
+
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
279
|
+
assert_allclose(res, res_loaded, atol=tol)
|
scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# ===============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ===============================================================================
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# Compute unbiased variation for the columns of array-like X
|
|
21
|
+
def variation(X):
|
|
22
|
+
X_mean = np.mean(X, axis=0)
|
|
23
|
+
if np.all(X_mean):
|
|
24
|
+
# Avoid division by zero
|
|
25
|
+
return np.std(X, axis=0, ddof=1) / X_mean
|
|
26
|
+
else:
|
|
27
|
+
return np.array(
|
|
28
|
+
[
|
|
29
|
+
x / y if y != 0 else np.nan
|
|
30
|
+
for x, y in zip(np.std(X, axis=0, ddof=1), X_mean)
|
|
31
|
+
]
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
options_and_tests = {
|
|
36
|
+
"sum": (lambda X: np.sum(X, axis=0), (5e-4, 1e-7)),
|
|
37
|
+
"min": (lambda X: np.min(X, axis=0), (1e-7, 1e-7)),
|
|
38
|
+
"max": (lambda X: np.max(X, axis=0), (1e-7, 1e-7)),
|
|
39
|
+
"mean": (lambda X: np.mean(X, axis=0), (5e-7, 1e-7)),
|
|
40
|
+
# sklearnex computes unbiased variance and standard deviation that is why ddof=1
|
|
41
|
+
"variance": (lambda X: np.var(X, axis=0, ddof=1), (2e-4, 1e-7)),
|
|
42
|
+
"variation": (lambda X: variation(X), (1e-3, 1e-6)),
|
|
43
|
+
"sum_squares": (lambda X: np.sum(np.square(X), axis=0), (2e-4, 1e-7)),
|
|
44
|
+
"sum_squares_centered": (
|
|
45
|
+
lambda X: np.sum(np.square(X - np.mean(X, axis=0)), axis=0),
|
|
46
|
+
(1e-3, 1e-7),
|
|
47
|
+
),
|
|
48
|
+
"standard_deviation": (lambda X: np.std(X, axis=0, ddof=1), (2e-3, 1e-7)),
|
|
49
|
+
"second_order_raw_moment": (lambda X: np.mean(np.square(X), axis=0), (1e-6, 1e-7)),
|
|
50
|
+
}
|
|
@@ -20,7 +20,7 @@ from daal4py.sklearn._utils import get_dtype, make2d
|
|
|
20
20
|
|
|
21
21
|
from ..common._base import BaseEstimator
|
|
22
22
|
from ..common._mixin import ClusterMixin
|
|
23
|
-
from ..datatypes import
|
|
23
|
+
from ..datatypes import from_table, to_table
|
|
24
24
|
from ..utils import _check_array
|
|
25
25
|
|
|
26
26
|
|
|
@@ -48,7 +48,7 @@ class BaseDBSCAN(BaseEstimator, ClusterMixin):
|
|
|
48
48
|
|
|
49
49
|
def _get_onedal_params(self, dtype=np.float32):
|
|
50
50
|
return {
|
|
51
|
-
"fptype":
|
|
51
|
+
"fptype": dtype,
|
|
52
52
|
"method": "by_default",
|
|
53
53
|
"min_observations": int(self.min_samples),
|
|
54
54
|
"epsilon": float(self.eps),
|
|
@@ -60,15 +60,10 @@ class BaseDBSCAN(BaseEstimator, ClusterMixin):
|
|
|
60
60
|
policy = self._get_policy(queue, X)
|
|
61
61
|
X = _check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
|
|
62
62
|
sample_weight = make2d(sample_weight) if sample_weight is not None else None
|
|
63
|
-
|
|
63
|
+
X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
X = X.astype(np.float64)
|
|
68
|
-
X = _convert_to_supported(policy, X)
|
|
69
|
-
dtype = get_dtype(X)
|
|
70
|
-
params = self._get_onedal_params(dtype)
|
|
71
|
-
result = module.compute(policy, params, to_table(X), to_table(sample_weight))
|
|
65
|
+
params = self._get_onedal_params(X_table.dtype)
|
|
66
|
+
result = module.compute(policy, params, X_table, sample_weight_table)
|
|
72
67
|
|
|
73
68
|
self.labels_ = from_table(result.responses).ravel()
|
|
74
69
|
if result.core_observation_indices is not None:
|
|
@@ -34,7 +34,7 @@ from sklearn.utils import check_random_state
|
|
|
34
34
|
|
|
35
35
|
from ..common._base import BaseEstimator as onedal_BaseEstimator
|
|
36
36
|
from ..common._mixin import ClusterMixin, TransformerMixin
|
|
37
|
-
from ..datatypes import
|
|
37
|
+
from ..datatypes import from_table, to_table
|
|
38
38
|
from ..utils import _check_array, _is_arraylike_not_scalar, _is_csr
|
|
39
39
|
|
|
40
40
|
|
|
@@ -145,7 +145,7 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
|
|
|
145
145
|
def _get_onedal_params(self, is_csr=False, dtype=np.float32, result_options=None):
|
|
146
146
|
thr = self._tol if hasattr(self, "_tol") else self.tol
|
|
147
147
|
return {
|
|
148
|
-
"fptype":
|
|
148
|
+
"fptype": dtype,
|
|
149
149
|
"method": "lloyd_csr" if is_csr else "by_default",
|
|
150
150
|
"seed": -1,
|
|
151
151
|
"max_iteration_count": self.max_iter,
|
|
@@ -205,8 +205,7 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
|
|
|
205
205
|
assert centers.shape[1] == X_table.column_count
|
|
206
206
|
# KMeans is implemented on both CPU and GPU for Dense and CSR data
|
|
207
207
|
# The original policy can be used here
|
|
208
|
-
|
|
209
|
-
centers_table = to_table(centers)
|
|
208
|
+
centers_table = to_table(centers, queue=getattr(policy, "_queue", None))
|
|
210
209
|
else:
|
|
211
210
|
raise TypeError("Unsupported type of the `init` value")
|
|
212
211
|
|
|
@@ -240,16 +239,14 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
|
|
|
240
239
|
f"callable, got '{ init }' instead."
|
|
241
240
|
)
|
|
242
241
|
|
|
243
|
-
centers =
|
|
244
|
-
return to_table(centers)
|
|
242
|
+
return to_table(centers, queue=getattr(policy, "_queue", None))
|
|
245
243
|
|
|
246
244
|
def _fit_backend(
|
|
247
245
|
self, X_table, centroids_table, module, policy, dtype=np.float32, is_csr=False
|
|
248
246
|
):
|
|
249
247
|
params = self._get_onedal_params(is_csr, dtype)
|
|
250
248
|
|
|
251
|
-
|
|
252
|
-
assert meta.get_npy_dtype(0) == dtype
|
|
249
|
+
assert X_table.dtype == dtype
|
|
253
250
|
|
|
254
251
|
result = module.train(policy, params, X_table, centroids_table)
|
|
255
252
|
|
|
@@ -266,14 +263,11 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
|
|
|
266
263
|
X = _check_array(
|
|
267
264
|
X, dtype=[np.float64, np.float32], accept_sparse="csr", force_all_finite=False
|
|
268
265
|
)
|
|
269
|
-
|
|
270
|
-
dtype =
|
|
271
|
-
X_table = to_table(X)
|
|
266
|
+
X_table = to_table(X, queue=queue)
|
|
267
|
+
dtype = X_table.dtype
|
|
272
268
|
|
|
273
269
|
self._check_params_vs_input(X_table, is_csr, policy, dtype=dtype)
|
|
274
270
|
|
|
275
|
-
params = self._get_onedal_params(is_csr, dtype)
|
|
276
|
-
|
|
277
271
|
self.n_features_in_ = X_table.column_count
|
|
278
272
|
|
|
279
273
|
best_model, best_n_iter = None, None
|
|
@@ -349,7 +343,8 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
|
|
|
349
343
|
|
|
350
344
|
return self
|
|
351
345
|
|
|
352
|
-
|
|
346
|
+
@property
|
|
347
|
+
def cluster_centers_(self):
|
|
353
348
|
if not hasattr(self, "_cluster_centers_"):
|
|
354
349
|
if hasattr(self, "model_"):
|
|
355
350
|
centroids = self.model_.centroids
|
|
@@ -358,7 +353,8 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
|
|
|
358
353
|
raise NameError("This model have not been trained")
|
|
359
354
|
return self._cluster_centers_
|
|
360
355
|
|
|
361
|
-
|
|
356
|
+
@cluster_centers_.setter
|
|
357
|
+
def cluster_centers_(self, cluster_centers):
|
|
362
358
|
self._cluster_centers_ = np.asarray(cluster_centers)
|
|
363
359
|
|
|
364
360
|
self.n_iter_ = 0
|
|
@@ -371,15 +367,16 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
|
|
|
371
367
|
|
|
372
368
|
return self
|
|
373
369
|
|
|
374
|
-
cluster_centers_
|
|
370
|
+
@cluster_centers_.deleter
|
|
371
|
+
def cluster_centers_(self):
|
|
372
|
+
del self._cluster_centers_
|
|
375
373
|
|
|
376
374
|
def _predict(self, X, module, queue=None, result_options=None):
|
|
377
375
|
is_csr = _is_csr(X)
|
|
378
376
|
|
|
379
377
|
policy = self._get_policy(queue, X)
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
params = self._get_onedal_params(is_csr, dtype, result_options)
|
|
378
|
+
X_table = to_table(X, queue=queue)
|
|
379
|
+
params = self._get_onedal_params(is_csr, X_table.dtype, result_options)
|
|
383
380
|
|
|
384
381
|
result = module.infer(policy, params, self.model_, X_table)
|
|
385
382
|
|
|
@@ -21,7 +21,7 @@ from sklearn.utils import check_random_state
|
|
|
21
21
|
from daal4py.sklearn._utils import daal_check_version, get_dtype
|
|
22
22
|
|
|
23
23
|
from ..common._base import BaseEstimator as onedal_BaseEstimator
|
|
24
|
-
from ..datatypes import
|
|
24
|
+
from ..datatypes import from_table, to_table
|
|
25
25
|
from ..utils import _check_array
|
|
26
26
|
|
|
27
27
|
if daal_check_version((2023, "P", 200)):
|
|
@@ -50,26 +50,23 @@ if daal_check_version((2023, "P", 200)):
|
|
|
50
50
|
|
|
51
51
|
def _get_onedal_params(self, dtype=np.float32):
|
|
52
52
|
return {
|
|
53
|
-
"fptype":
|
|
53
|
+
"fptype": dtype,
|
|
54
54
|
"local_trials_count": self.local_trials_count,
|
|
55
55
|
"method": self.algorithm,
|
|
56
56
|
"seed": self.seed,
|
|
57
57
|
"cluster_count": self.cluster_count,
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
def _get_params_and_input(self, X,
|
|
60
|
+
def _get_params_and_input(self, X, queue):
|
|
61
61
|
X = _check_array(
|
|
62
62
|
X,
|
|
63
63
|
dtype=[np.float64, np.float32],
|
|
64
64
|
accept_sparse="csr",
|
|
65
65
|
force_all_finite=False,
|
|
66
66
|
)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
dtype = get_dtype(X)
|
|
71
|
-
params = self._get_onedal_params(dtype)
|
|
72
|
-
return (params, to_table(X), dtype)
|
|
67
|
+
X = to_table(X, queue=queue)
|
|
68
|
+
params = self._get_onedal_params(X.dtype)
|
|
69
|
+
return (params, X, X.dtype)
|
|
73
70
|
|
|
74
71
|
def _compute_raw(self, X_table, module, policy, dtype=np.float32):
|
|
75
72
|
params = self._get_onedal_params(dtype)
|
|
@@ -83,7 +80,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
83
80
|
# oneDAL KMeans Init for sparse data does not have GPU support
|
|
84
81
|
if issparse(X):
|
|
85
82
|
policy = self._get_policy(None, None)
|
|
86
|
-
_, X_table, dtype = self._get_params_and_input(X,
|
|
83
|
+
_, X_table, dtype = self._get_params_and_input(X, queue)
|
|
87
84
|
|
|
88
85
|
centroids = self._compute_raw(X_table, module, policy, dtype)
|
|
89
86
|
|
|
@@ -48,12 +48,8 @@ class _HostInteropPolicy(_backend.host_policy):
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
if _is_dpc_backend:
|
|
51
|
-
from onedal._device_offload import DummySyclQueue
|
|
52
51
|
|
|
53
52
|
class _DataParallelInteropPolicy(_backend.data_parallel_policy):
|
|
54
53
|
def __init__(self, queue):
|
|
55
54
|
self._queue = queue
|
|
56
|
-
if isinstance(queue, DummySyclQueue):
|
|
57
|
-
super().__init__(self._queue.sycl_device.get_filter_string())
|
|
58
|
-
return
|
|
59
55
|
super().__init__(self._queue)
|