scikit-learn-intelex 2025.1.0__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.2.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +10 -28
- 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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
- {scikit_learn_intelex-2025.1.0.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.1.0.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.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +9 -16
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +10 -43
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +83 -22
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +20 -11
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +70 -25
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +13 -4
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +21 -25
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +9 -9
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +38 -14
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +19 -8
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +39 -8
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +7 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +171 -36
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +79 -28
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +2 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -2
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +7 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +50 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +23 -18
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +25 -12
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +7 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +1 -1
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +11 -11
- {scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -424
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +65 -5
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +11 -36
- 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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +12 -1
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +3 -3
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +6 -7
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +3 -2
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -14
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +130 -29
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +7 -39
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -8
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -2
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +4 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +65 -0
- scikit_learn_intelex-2025.1.0.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.1.0.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.1.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
- scikit_learn_intelex-2025.1.0.dist-info/RECORD +0 -257
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.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.1.0.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.1.0.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.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
|
@@ -17,19 +17,30 @@
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
import pytest
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
|
+
from scipy import sparse as sp
|
|
20
21
|
|
|
21
22
|
from daal4py.sklearn._utils import daal_check_version
|
|
22
|
-
from onedal.basic_statistics.tests.
|
|
23
|
-
expected_max,
|
|
24
|
-
expected_mean,
|
|
25
|
-
expected_sum,
|
|
26
|
-
options_and_tests,
|
|
27
|
-
)
|
|
23
|
+
from onedal.basic_statistics.tests.utils import options_and_tests
|
|
28
24
|
from onedal.tests.utils._dataframes_support import (
|
|
29
25
|
_convert_to_dataframe,
|
|
30
26
|
get_dataframes_and_queues,
|
|
27
|
+
get_queues,
|
|
31
28
|
)
|
|
29
|
+
from sklearnex import config_context
|
|
32
30
|
from sklearnex.basic_statistics import BasicStatistics
|
|
31
|
+
from sklearnex.tests.utils import gen_sparse_dataset
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# Compute the basic statistics on sparse data on CPU or GPU depending on the queue
|
|
35
|
+
def compute_sparse_result(X_sparse, options, queue):
|
|
36
|
+
if queue is not None and queue.sycl_device.is_gpu:
|
|
37
|
+
with config_context(target_offload="gpu"):
|
|
38
|
+
basicstat = BasicStatistics(result_options=options)
|
|
39
|
+
result = basicstat.fit(X_sparse)
|
|
40
|
+
else:
|
|
41
|
+
basicstat = BasicStatistics(result_options=options)
|
|
42
|
+
result = basicstat.fit(X_sparse)
|
|
43
|
+
return result
|
|
33
44
|
|
|
34
45
|
|
|
35
46
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
@@ -46,9 +57,9 @@ def test_sklearnex_import_basic_statistics(dataframe, queue):
|
|
|
46
57
|
expected_min = np.array([0, 0])
|
|
47
58
|
expected_max = np.array([1, 1])
|
|
48
59
|
|
|
49
|
-
assert_allclose(expected_mean, result.
|
|
50
|
-
assert_allclose(expected_max, result.
|
|
51
|
-
assert_allclose(expected_min, result.
|
|
60
|
+
assert_allclose(expected_mean, result.mean_)
|
|
61
|
+
assert_allclose(expected_max, result.max_)
|
|
62
|
+
assert_allclose(expected_min, result.min_)
|
|
52
63
|
|
|
53
64
|
result = BasicStatistics().fit(X_df, sample_weight=weights_df)
|
|
54
65
|
|
|
@@ -56,9 +67,9 @@ def test_sklearnex_import_basic_statistics(dataframe, queue):
|
|
|
56
67
|
expected_weighted_min = np.array([0, 0])
|
|
57
68
|
expected_weighted_max = np.array([0.5, 0.5])
|
|
58
69
|
|
|
59
|
-
assert_allclose(expected_weighted_mean, result.
|
|
60
|
-
assert_allclose(expected_weighted_min, result.
|
|
61
|
-
assert_allclose(expected_weighted_max, result.
|
|
70
|
+
assert_allclose(expected_weighted_mean, result.mean_)
|
|
71
|
+
assert_allclose(expected_weighted_min, result.min_)
|
|
72
|
+
assert_allclose(expected_weighted_max, result.max_)
|
|
62
73
|
|
|
63
74
|
|
|
64
75
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
@@ -83,28 +94,28 @@ def test_multiple_options_on_gold_data(dataframe, queue, weighted, dtype):
|
|
|
83
94
|
expected_weighted_mean = np.array([0.25, 0.25])
|
|
84
95
|
expected_weighted_min = np.array([0, 0])
|
|
85
96
|
expected_weighted_max = np.array([0.5, 0.5])
|
|
86
|
-
assert_allclose(expected_weighted_mean, result.
|
|
87
|
-
assert_allclose(expected_weighted_max, result.
|
|
88
|
-
assert_allclose(expected_weighted_min, result.
|
|
97
|
+
assert_allclose(expected_weighted_mean, result.mean_)
|
|
98
|
+
assert_allclose(expected_weighted_max, result.max_)
|
|
99
|
+
assert_allclose(expected_weighted_min, result.min_)
|
|
89
100
|
else:
|
|
90
101
|
expected_mean = np.array([0.5, 0.5])
|
|
91
102
|
expected_min = np.array([0, 0])
|
|
92
103
|
expected_max = np.array([1, 1])
|
|
93
|
-
assert_allclose(expected_mean, result.
|
|
94
|
-
assert_allclose(expected_max, result.
|
|
95
|
-
assert_allclose(expected_min, result.
|
|
104
|
+
assert_allclose(expected_mean, result.mean_)
|
|
105
|
+
assert_allclose(expected_max, result.max_)
|
|
106
|
+
assert_allclose(expected_min, result.min_)
|
|
96
107
|
|
|
97
108
|
|
|
98
109
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
99
|
-
@pytest.mark.parametrize("
|
|
110
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
100
111
|
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
101
112
|
@pytest.mark.parametrize("column_count", [10, 100])
|
|
102
113
|
@pytest.mark.parametrize("weighted", [True, False])
|
|
103
114
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
104
115
|
def test_single_option_on_random_data(
|
|
105
|
-
dataframe, queue,
|
|
116
|
+
dataframe, queue, result_option, row_count, column_count, weighted, dtype
|
|
106
117
|
):
|
|
107
|
-
|
|
118
|
+
function, tols = options_and_tests[result_option]
|
|
108
119
|
fp32tol, fp64tol = tols
|
|
109
120
|
seed = 77
|
|
110
121
|
gen = np.random.default_rng(seed)
|
|
@@ -122,7 +133,7 @@ def test_single_option_on_random_data(
|
|
|
122
133
|
else:
|
|
123
134
|
result = basicstat.fit(X_df)
|
|
124
135
|
|
|
125
|
-
res = getattr(result, result_option)
|
|
136
|
+
res = getattr(result, result_option + "_")
|
|
126
137
|
if weighted:
|
|
127
138
|
weighted_data = np.diag(weights) @ X
|
|
128
139
|
gtr = function(weighted_data)
|
|
@@ -133,6 +144,49 @@ def test_single_option_on_random_data(
|
|
|
133
144
|
assert_allclose(gtr, res, atol=tol)
|
|
134
145
|
|
|
135
146
|
|
|
147
|
+
@pytest.mark.parametrize("queue", get_queues())
|
|
148
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
149
|
+
@pytest.mark.parametrize("row_count", [500, 2000])
|
|
150
|
+
@pytest.mark.parametrize("column_count", [10, 100])
|
|
151
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
152
|
+
def test_single_option_on_random_sparse_data(
|
|
153
|
+
queue, result_option, row_count, column_count, dtype
|
|
154
|
+
):
|
|
155
|
+
if not daal_check_version((2025, "P", 200)) and result_option in [
|
|
156
|
+
"max",
|
|
157
|
+
"sum_squares",
|
|
158
|
+
]:
|
|
159
|
+
pytest.skip(
|
|
160
|
+
"'max' and 'sum_squares' calculate using a subset of the data in oneDAL version < 2025.2"
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
function, tols = options_and_tests[result_option]
|
|
164
|
+
fp32tol, fp64tol = tols
|
|
165
|
+
seed = 77
|
|
166
|
+
|
|
167
|
+
gen = np.random.default_rng(seed)
|
|
168
|
+
|
|
169
|
+
X_sparse = gen_sparse_dataset(
|
|
170
|
+
row_count,
|
|
171
|
+
column_count,
|
|
172
|
+
density=0.01,
|
|
173
|
+
format="csr",
|
|
174
|
+
dtype=dtype,
|
|
175
|
+
random_state=gen,
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
X_dense = X_sparse.toarray()
|
|
179
|
+
|
|
180
|
+
result = compute_sparse_result(X_sparse, result_option, queue)
|
|
181
|
+
|
|
182
|
+
res = getattr(result, result_option + "_")
|
|
183
|
+
|
|
184
|
+
gtr = function(X_dense)
|
|
185
|
+
|
|
186
|
+
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
187
|
+
assert_allclose(gtr, res, atol=tol)
|
|
188
|
+
|
|
189
|
+
|
|
136
190
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
137
191
|
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
138
192
|
@pytest.mark.parametrize("column_count", [10, 100])
|
|
@@ -157,19 +211,19 @@ def test_multiple_options_on_random_data(
|
|
|
157
211
|
else:
|
|
158
212
|
result = basicstat.fit(X_df)
|
|
159
213
|
|
|
160
|
-
res_mean, res_max, res_sum = result.
|
|
214
|
+
res_mean, res_max, res_sum = result.mean_, result.max_, result.sum_
|
|
161
215
|
if weighted:
|
|
162
216
|
weighted_data = np.diag(weights) @ X
|
|
163
217
|
gtr_mean, gtr_max, gtr_sum = (
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
218
|
+
options_and_tests["mean"][0](weighted_data),
|
|
219
|
+
options_and_tests["max"][0](weighted_data),
|
|
220
|
+
options_and_tests["sum"][0](weighted_data),
|
|
167
221
|
)
|
|
168
222
|
else:
|
|
169
223
|
gtr_mean, gtr_max, gtr_sum = (
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
224
|
+
options_and_tests["mean"][0](X),
|
|
225
|
+
options_and_tests["max"][0](X),
|
|
226
|
+
options_and_tests["sum"][0](X),
|
|
173
227
|
)
|
|
174
228
|
|
|
175
229
|
tol = 5e-4 if res_mean.dtype == np.float32 else 1e-7
|
|
@@ -178,6 +232,48 @@ def test_multiple_options_on_random_data(
|
|
|
178
232
|
assert_allclose(gtr_sum, res_sum, atol=tol)
|
|
179
233
|
|
|
180
234
|
|
|
235
|
+
@pytest.mark.parametrize("queue", get_queues())
|
|
236
|
+
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
237
|
+
@pytest.mark.parametrize("column_count", [10, 100])
|
|
238
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
239
|
+
def test_multiple_options_on_random_sparse_data(queue, row_count, column_count, dtype):
|
|
240
|
+
seed = 77
|
|
241
|
+
|
|
242
|
+
gen = np.random.default_rng(seed)
|
|
243
|
+
|
|
244
|
+
X_sparse = gen_sparse_dataset(
|
|
245
|
+
row_count,
|
|
246
|
+
column_count,
|
|
247
|
+
density=0.05,
|
|
248
|
+
format="csr",
|
|
249
|
+
dtype=dtype,
|
|
250
|
+
random_state=gen,
|
|
251
|
+
)
|
|
252
|
+
|
|
253
|
+
X_dense = X_sparse.toarray()
|
|
254
|
+
|
|
255
|
+
options = [
|
|
256
|
+
"sum",
|
|
257
|
+
"min",
|
|
258
|
+
"mean",
|
|
259
|
+
"standard_deviation",
|
|
260
|
+
"variance",
|
|
261
|
+
"second_order_raw_moment",
|
|
262
|
+
]
|
|
263
|
+
|
|
264
|
+
result = compute_sparse_result(X_sparse, options, queue)
|
|
265
|
+
|
|
266
|
+
for result_option in options_and_tests:
|
|
267
|
+
function, tols = options_and_tests[result_option]
|
|
268
|
+
if not result_option in options:
|
|
269
|
+
continue
|
|
270
|
+
fp32tol, fp64tol = tols
|
|
271
|
+
res = getattr(result, result_option + "_")
|
|
272
|
+
gtr = function(X_dense)
|
|
273
|
+
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
274
|
+
assert_allclose(gtr, res, atol=tol)
|
|
275
|
+
|
|
276
|
+
|
|
181
277
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
182
278
|
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
183
279
|
@pytest.mark.parametrize("column_count", [10, 100])
|
|
@@ -205,10 +301,10 @@ def test_all_option_on_random_data(
|
|
|
205
301
|
if weighted:
|
|
206
302
|
weighted_data = np.diag(weights) @ X
|
|
207
303
|
|
|
208
|
-
for
|
|
209
|
-
|
|
304
|
+
for result_option in options_and_tests:
|
|
305
|
+
function, tols = options_and_tests[result_option]
|
|
210
306
|
fp32tol, fp64tol = tols
|
|
211
|
-
res = getattr(result, result_option)
|
|
307
|
+
res = getattr(result, result_option + "_")
|
|
212
308
|
if weighted:
|
|
213
309
|
gtr = function(weighted_data)
|
|
214
310
|
else:
|
|
@@ -217,13 +313,52 @@ def test_all_option_on_random_data(
|
|
|
217
313
|
assert_allclose(gtr, res, atol=tol)
|
|
218
314
|
|
|
219
315
|
|
|
316
|
+
@pytest.mark.parametrize("queue", get_queues())
|
|
317
|
+
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
318
|
+
@pytest.mark.parametrize("column_count", [10, 100])
|
|
319
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
320
|
+
def test_all_option_on_random_sparse_data(queue, row_count, column_count, dtype):
|
|
321
|
+
seed = 77
|
|
322
|
+
|
|
323
|
+
gen = np.random.default_rng(seed)
|
|
324
|
+
|
|
325
|
+
X_sparse = gen_sparse_dataset(
|
|
326
|
+
row_count,
|
|
327
|
+
column_count,
|
|
328
|
+
density=0.05,
|
|
329
|
+
format="csr",
|
|
330
|
+
dtype=dtype,
|
|
331
|
+
random_state=gen,
|
|
332
|
+
)
|
|
333
|
+
X_dense = X_sparse.toarray()
|
|
334
|
+
|
|
335
|
+
result = compute_sparse_result(X_sparse, "all", queue)
|
|
336
|
+
|
|
337
|
+
for result_option in options_and_tests:
|
|
338
|
+
if not daal_check_version((2025, "P", 200)) and result_option in [
|
|
339
|
+
"max",
|
|
340
|
+
"sum_squares",
|
|
341
|
+
]:
|
|
342
|
+
continue
|
|
343
|
+
function, tols = options_and_tests[result_option]
|
|
344
|
+
fp32tol, fp64tol = tols
|
|
345
|
+
res = getattr(result, result_option + "_")
|
|
346
|
+
|
|
347
|
+
gtr = function(X_dense)
|
|
348
|
+
|
|
349
|
+
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
350
|
+
assert_allclose(gtr, res, atol=tol)
|
|
351
|
+
|
|
352
|
+
|
|
220
353
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
221
|
-
@pytest.mark.parametrize("
|
|
354
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
222
355
|
@pytest.mark.parametrize("data_size", [100, 1000])
|
|
223
356
|
@pytest.mark.parametrize("weighted", [True, False])
|
|
224
357
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
225
|
-
def test_1d_input_on_random_data(
|
|
226
|
-
result_option,
|
|
358
|
+
def test_1d_input_on_random_data(
|
|
359
|
+
dataframe, queue, result_option, data_size, weighted, dtype
|
|
360
|
+
):
|
|
361
|
+
function, tols = options_and_tests[result_option]
|
|
227
362
|
fp32tol, fp64tol = tols
|
|
228
363
|
seed = 77
|
|
229
364
|
gen = np.random.default_rng(seed)
|
|
@@ -241,7 +376,7 @@ def test_1d_input_on_random_data(dataframe, queue, option, data_size, weighted,
|
|
|
241
376
|
else:
|
|
242
377
|
result = basicstat.fit(X_df)
|
|
243
378
|
|
|
244
|
-
res = getattr(result, result_option)
|
|
379
|
+
res = getattr(result, result_option + "_")
|
|
245
380
|
if weighted:
|
|
246
381
|
weighted_data = weights * X
|
|
247
382
|
gtr = function(weighted_data)
|
|
@@ -19,12 +19,7 @@ import pytest
|
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
20
|
|
|
21
21
|
from daal4py.sklearn._utils import daal_check_version
|
|
22
|
-
from onedal.basic_statistics.tests.
|
|
23
|
-
expected_max,
|
|
24
|
-
expected_mean,
|
|
25
|
-
expected_sum,
|
|
26
|
-
options_and_tests,
|
|
27
|
-
)
|
|
22
|
+
from onedal.basic_statistics.tests.utils import options_and_tests
|
|
28
23
|
from onedal.tests.utils._dataframes_support import (
|
|
29
24
|
_convert_to_dataframe,
|
|
30
25
|
get_dataframes_and_queues,
|
|
@@ -75,15 +70,15 @@ def test_partial_fit_multiple_options_on_gold_data(dataframe, queue, weighted, d
|
|
|
75
70
|
|
|
76
71
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
77
72
|
@pytest.mark.parametrize("num_batches", [2, 10])
|
|
78
|
-
@pytest.mark.parametrize("
|
|
73
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
79
74
|
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
80
75
|
@pytest.mark.parametrize("column_count", [10, 100])
|
|
81
76
|
@pytest.mark.parametrize("weighted", [True, False])
|
|
82
77
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
83
78
|
def test_partial_fit_single_option_on_random_data(
|
|
84
|
-
dataframe, queue, num_batches,
|
|
79
|
+
dataframe, queue, num_batches, result_option, row_count, column_count, weighted, dtype
|
|
85
80
|
):
|
|
86
|
-
|
|
81
|
+
function, tols = options_and_tests[result_option]
|
|
87
82
|
fp32tol, fp64tol = tols
|
|
88
83
|
seed = 77
|
|
89
84
|
gen = np.random.default_rng(seed)
|
|
@@ -155,15 +150,15 @@ def test_partial_fit_multiple_options_on_random_data(
|
|
|
155
150
|
if weighted:
|
|
156
151
|
weighted_data = np.diag(weights) @ X
|
|
157
152
|
gtr_mean, gtr_max, gtr_sum = (
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
153
|
+
options_and_tests["mean"][0](weighted_data),
|
|
154
|
+
options_and_tests["max"][0](weighted_data),
|
|
155
|
+
options_and_tests["sum"][0](weighted_data),
|
|
161
156
|
)
|
|
162
157
|
else:
|
|
163
158
|
gtr_mean, gtr_max, gtr_sum = (
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
159
|
+
options_and_tests["mean"][0](X),
|
|
160
|
+
options_and_tests["max"][0](X),
|
|
161
|
+
options_and_tests["sum"][0](X),
|
|
167
162
|
)
|
|
168
163
|
|
|
169
164
|
tol = 3e-4 if res_mean.dtype == np.float32 else 1e-7
|
|
@@ -207,8 +202,8 @@ def test_partial_fit_all_option_on_random_data(
|
|
|
207
202
|
if weighted:
|
|
208
203
|
weighted_data = np.diag(weights) @ X
|
|
209
204
|
|
|
210
|
-
for
|
|
211
|
-
|
|
205
|
+
for result_option in options_and_tests:
|
|
206
|
+
function, tols = options_and_tests[result_option]
|
|
212
207
|
fp32tol, fp64tol = tols
|
|
213
208
|
res = getattr(result, result_option)
|
|
214
209
|
if weighted:
|
|
@@ -255,15 +250,15 @@ def test_fit_multiple_options_on_gold_data(dataframe, queue, weighted, dtype):
|
|
|
255
250
|
|
|
256
251
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
257
252
|
@pytest.mark.parametrize("num_batches", [2, 10])
|
|
258
|
-
@pytest.mark.parametrize("
|
|
253
|
+
@pytest.mark.parametrize("result_option", options_and_tests.keys())
|
|
259
254
|
@pytest.mark.parametrize("row_count", [100, 1000])
|
|
260
255
|
@pytest.mark.parametrize("column_count", [10, 100])
|
|
261
256
|
@pytest.mark.parametrize("weighted", [True, False])
|
|
262
257
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
263
258
|
def test_fit_single_option_on_random_data(
|
|
264
|
-
dataframe, queue, num_batches,
|
|
259
|
+
dataframe, queue, num_batches, result_option, row_count, column_count, weighted, dtype
|
|
265
260
|
):
|
|
266
|
-
|
|
261
|
+
function, tols = options_and_tests[result_option]
|
|
267
262
|
fp32tol, fp64tol = tols
|
|
268
263
|
seed = 77
|
|
269
264
|
gen = np.random.default_rng(seed)
|
|
@@ -327,15 +322,15 @@ def test_fit_multiple_options_on_random_data(
|
|
|
327
322
|
if weighted:
|
|
328
323
|
weighted_data = np.diag(weights) @ X
|
|
329
324
|
gtr_mean, gtr_max, gtr_sum = (
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
325
|
+
options_and_tests["mean"][0](weighted_data),
|
|
326
|
+
options_and_tests["max"][0](weighted_data),
|
|
327
|
+
options_and_tests["sum"][0](weighted_data),
|
|
333
328
|
)
|
|
334
329
|
else:
|
|
335
330
|
gtr_mean, gtr_max, gtr_sum = (
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
331
|
+
options_and_tests["mean"][0](X),
|
|
332
|
+
options_and_tests["max"][0](X),
|
|
333
|
+
options_and_tests["sum"][0](X),
|
|
339
334
|
)
|
|
340
335
|
|
|
341
336
|
tol = 3e-4 if res_mean.dtype == np.float32 else 1e-7
|
|
@@ -373,8 +368,8 @@ def test_fit_all_option_on_random_data(
|
|
|
373
368
|
if weighted:
|
|
374
369
|
weighted_data = np.diag(weights) @ X
|
|
375
370
|
|
|
376
|
-
for
|
|
377
|
-
|
|
371
|
+
for result_option in options_and_tests:
|
|
372
|
+
function, tols = options_and_tests[result_option]
|
|
378
373
|
fp32tol, fp64tol = tols
|
|
379
374
|
res = getattr(result, result_option)
|
|
380
375
|
if weighted:
|
|
@@ -402,3 +397,59 @@ def test_warning():
|
|
|
402
397
|
assert len(warn_record) == 0, i
|
|
403
398
|
else:
|
|
404
399
|
assert len(warn_record) == 1, i
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
403
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
404
|
+
def test_sklearnex_incremental_estimatior_pickle(dataframe, queue, dtype):
|
|
405
|
+
import pickle
|
|
406
|
+
|
|
407
|
+
from sklearnex.basic_statistics import IncrementalBasicStatistics
|
|
408
|
+
|
|
409
|
+
incbs = IncrementalBasicStatistics()
|
|
410
|
+
|
|
411
|
+
# Check that estimator can be serialized without any data.
|
|
412
|
+
dump = pickle.dumps(incbs)
|
|
413
|
+
incbs_loaded = pickle.loads(dump)
|
|
414
|
+
seed = 77
|
|
415
|
+
gen = np.random.default_rng(seed)
|
|
416
|
+
X = gen.uniform(low=-0.3, high=+0.7, size=(10, 10))
|
|
417
|
+
X = X.astype(dtype)
|
|
418
|
+
X_split = np.array_split(X, 2)
|
|
419
|
+
X_split_df = _convert_to_dataframe(X_split[0], sycl_queue=queue, target_df=dataframe)
|
|
420
|
+
incbs.partial_fit(X_split_df)
|
|
421
|
+
incbs_loaded.partial_fit(X_split_df)
|
|
422
|
+
|
|
423
|
+
# Check that estimator can be serialized after partial_fit call.
|
|
424
|
+
dump = pickle.dumps(incbs_loaded)
|
|
425
|
+
incbs_loaded = pickle.loads(dump)
|
|
426
|
+
|
|
427
|
+
X_split_df = _convert_to_dataframe(X_split[1], sycl_queue=queue, target_df=dataframe)
|
|
428
|
+
incbs.partial_fit(X_split_df)
|
|
429
|
+
incbs_loaded.partial_fit(X_split_df)
|
|
430
|
+
dump = pickle.dumps(incbs)
|
|
431
|
+
incbs_loaded = pickle.loads(dump)
|
|
432
|
+
assert incbs.batch_size == incbs_loaded.batch_size
|
|
433
|
+
assert incbs.n_features_in_ == incbs_loaded.n_features_in_
|
|
434
|
+
assert incbs.n_samples_seen_ == incbs_loaded.n_samples_seen_
|
|
435
|
+
if hasattr(incbs, "_parameter_constraints"):
|
|
436
|
+
assert incbs._parameter_constraints == incbs_loaded._parameter_constraints
|
|
437
|
+
assert incbs.n_jobs == incbs_loaded.n_jobs
|
|
438
|
+
for result_option in options_and_tests:
|
|
439
|
+
_, tols = options_and_tests[result_option]
|
|
440
|
+
fp32tol, fp64tol = tols
|
|
441
|
+
res = getattr(incbs, result_option)
|
|
442
|
+
res_loaded = getattr(incbs_loaded, result_option)
|
|
443
|
+
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
444
|
+
assert_allclose(res, res_loaded, atol=tol)
|
|
445
|
+
|
|
446
|
+
# Check that finalized estimator can be serialized.
|
|
447
|
+
dump = pickle.dumps(incbs_loaded)
|
|
448
|
+
incbs_loaded = pickle.loads(dump)
|
|
449
|
+
for result_option in options_and_tests:
|
|
450
|
+
_, tols = options_and_tests[result_option]
|
|
451
|
+
fp32tol, fp64tol = tols
|
|
452
|
+
res = getattr(incbs, result_option)
|
|
453
|
+
res_loaded = getattr(incbs_loaded, result_option)
|
|
454
|
+
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
455
|
+
assert_allclose(res, res_loaded, atol=tol)
|
|
@@ -122,6 +122,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
122
122
|
self.algorithm in supported_algs,
|
|
123
123
|
"Only 'lloyd' algorithm is supported, 'elkan' is computed using lloyd",
|
|
124
124
|
),
|
|
125
|
+
(self.n_clusters != 1, "n_clusters=1 is not supported"),
|
|
125
126
|
(correct_count, "n_clusters is smaller than number of samples"),
|
|
126
127
|
(
|
|
127
128
|
_acceptable_sample_weights,
|
|
@@ -230,6 +231,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
230
231
|
self.algorithm in supported_algs,
|
|
231
232
|
"Only 'lloyd' algorithm is supported, 'elkan' is computed using lloyd.",
|
|
232
233
|
),
|
|
234
|
+
(self.n_clusters != 1, "n_clusters=1 is not supported"),
|
|
233
235
|
(
|
|
234
236
|
is_data_supported,
|
|
235
237
|
"Supported data formats: Dense, CSR (oneDAL version >= 2024.7.0).",
|
|
@@ -133,8 +133,6 @@ def test_dense_vs_sparse(queue, init, algorithm, dims):
|
|
|
133
133
|
from sklearnex.cluster import KMeans
|
|
134
134
|
|
|
135
135
|
if init == "random" or (not _IS_INTEL and init == "k-means++"):
|
|
136
|
-
if daal_check_version((2025, "P", 200)):
|
|
137
|
-
pytest.fail("Re-verify failure of k-means++ in 2025.2 oneDAL")
|
|
138
136
|
pytest.skip(f"{init} initialization for sparse K-means is non-conformant.")
|
|
139
137
|
|
|
140
138
|
# For higher level of sparsity (smaller density) the test may fail
|
|
@@ -92,6 +92,13 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
|
|
|
92
92
|
n_features_in_ : int
|
|
93
93
|
Number of features seen during ``fit`` or ``partial_fit``.
|
|
94
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
|
+
|
|
95
102
|
Examples
|
|
96
103
|
--------
|
|
97
104
|
>>> import numpy as np
|
|
@@ -220,6 +220,56 @@ def test_whitened_toy_score(dataframe, queue):
|
|
|
220
220
|
assert_allclose(expected_result, result, atol=1e-6)
|
|
221
221
|
|
|
222
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
|
+
|
|
223
273
|
# Monkeypatch IncrementalEmpiricalCovariance into relevant sklearn.covariance tests
|
|
224
274
|
@pytest.mark.allow_sklearn_fallback
|
|
225
275
|
@pytest.mark.parametrize(
|
|
@@ -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
|
|