scikit-learn-intelex 2025.0.1__py310-none-win_amd64.whl → 2025.2.0__py310-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.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-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.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-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.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-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
|
@@ -23,7 +23,6 @@ import warnings
|
|
|
23
23
|
from inspect import isclass
|
|
24
24
|
|
|
25
25
|
import numpy as np
|
|
26
|
-
import pandas as pd
|
|
27
26
|
import pytest
|
|
28
27
|
from scipy.stats import pearsonr
|
|
29
28
|
from sklearn.base import BaseEstimator, clone
|
|
@@ -35,11 +34,23 @@ from onedal.tests.utils._dataframes_support import (
|
|
|
35
34
|
_convert_to_dataframe,
|
|
36
35
|
get_dataframes_and_queues,
|
|
37
36
|
)
|
|
38
|
-
from onedal.tests.utils._device_selection import get_queues,
|
|
37
|
+
from onedal.tests.utils._device_selection import get_queues, is_dpctl_device_available
|
|
38
|
+
from onedal.utils._dpep_helpers import dpctl_available, dpnp_available
|
|
39
39
|
from sklearnex import config_context
|
|
40
|
-
from sklearnex.tests.
|
|
40
|
+
from sklearnex.tests.utils import (
|
|
41
|
+
PATCHED_FUNCTIONS,
|
|
42
|
+
PATCHED_MODELS,
|
|
43
|
+
SPECIAL_INSTANCES,
|
|
44
|
+
DummyEstimator,
|
|
45
|
+
)
|
|
41
46
|
from sklearnex.utils._array_api import get_namespace
|
|
42
47
|
|
|
48
|
+
if dpctl_available:
|
|
49
|
+
from dpctl.tensor import usm_ndarray
|
|
50
|
+
|
|
51
|
+
if dpnp_available:
|
|
52
|
+
import dpnp
|
|
53
|
+
|
|
43
54
|
if _is_dpc_backend:
|
|
44
55
|
from onedal import _backend
|
|
45
56
|
|
|
@@ -65,7 +76,6 @@ GPU_SKIP_LIST = (
|
|
|
65
76
|
"config_context", # does not malloc
|
|
66
77
|
"get_config", # does not malloc
|
|
67
78
|
"set_config", # does not malloc
|
|
68
|
-
"Ridge", # does not support GPU offloading (fails silently)
|
|
69
79
|
"ElasticNet", # does not support GPU offloading (fails silently)
|
|
70
80
|
"Lasso", # does not support GPU offloading (fails silently)
|
|
71
81
|
"SVR", # does not support GPU offloading (fails silently)
|
|
@@ -120,14 +130,17 @@ data_shapes = [
|
|
|
120
130
|
]
|
|
121
131
|
|
|
122
132
|
EXTRA_MEMORY_THRESHOLD = 0.15
|
|
133
|
+
EXTRA_MEMORY_THRESHOLD_PANDAS = 0.25
|
|
123
134
|
N_SPLITS = 10
|
|
124
135
|
ORDER_DICT = {"F": np.asfortranarray, "C": np.ascontiguousarray}
|
|
125
136
|
|
|
126
137
|
|
|
127
|
-
def gen_clsf_data(n_samples, n_features):
|
|
138
|
+
def gen_clsf_data(n_samples, n_features, dtype=None):
|
|
128
139
|
data, label = make_classification(
|
|
129
140
|
n_classes=2, n_samples=n_samples, n_features=n_features, random_state=777
|
|
130
141
|
)
|
|
142
|
+
if dtype:
|
|
143
|
+
data, label = data.astype(dtype), label.astype(dtype)
|
|
131
144
|
return (
|
|
132
145
|
data,
|
|
133
146
|
label,
|
|
@@ -144,8 +157,18 @@ def get_traced_memory(queue=None):
|
|
|
144
157
|
|
|
145
158
|
def take(x, index, axis=0, queue=None):
|
|
146
159
|
xp, array_api = get_namespace(x)
|
|
147
|
-
if
|
|
148
|
-
|
|
160
|
+
if (
|
|
161
|
+
dpnp_available
|
|
162
|
+
and isinstance(x, dpnp.ndarray)
|
|
163
|
+
or dpctl_available
|
|
164
|
+
and isinstance(x, usm_ndarray)
|
|
165
|
+
):
|
|
166
|
+
# Using the same sycl queue for dpnp.ndarray or usm_ndarray.
|
|
167
|
+
return xp.take(
|
|
168
|
+
x, xp.asarray(index, usm_type="device", sycl_queue=x.sycl_queue), axis=axis
|
|
169
|
+
)
|
|
170
|
+
elif array_api:
|
|
171
|
+
return xp.take(x, xp.asarray(index, device=x.device), axis=axis)
|
|
149
172
|
else:
|
|
150
173
|
return x.take(index, axis=axis)
|
|
151
174
|
|
|
@@ -184,11 +207,13 @@ def split_train_inference(kf, x, y, estimator, queue=None):
|
|
|
184
207
|
return mem_tracks
|
|
185
208
|
|
|
186
209
|
|
|
187
|
-
def _kfold_function_template(
|
|
210
|
+
def _kfold_function_template(
|
|
211
|
+
estimator, dataframe, data_shape, queue=None, func=None, dtype=None
|
|
212
|
+
):
|
|
188
213
|
tracemalloc.start()
|
|
189
214
|
|
|
190
215
|
n_samples, n_features = data_shape
|
|
191
|
-
X, y, data_memory_size = gen_clsf_data(n_samples, n_features)
|
|
216
|
+
X, y, data_memory_size = gen_clsf_data(n_samples, n_features, dtype=dtype)
|
|
192
217
|
kf = KFold(n_splits=N_SPLITS)
|
|
193
218
|
if func:
|
|
194
219
|
X = func(X)
|
|
@@ -226,15 +251,18 @@ def _kfold_function_template(estimator, dataframe, data_shape, queue=None, func=
|
|
|
226
251
|
else:
|
|
227
252
|
name = estimator.__name__
|
|
228
253
|
|
|
254
|
+
threshold = (
|
|
255
|
+
EXTRA_MEMORY_THRESHOLD_PANDAS if dataframe == "pandas" else EXTRA_MEMORY_THRESHOLD
|
|
256
|
+
)
|
|
229
257
|
message = (
|
|
230
258
|
"Size of extra allocated memory {} using garbage collector "
|
|
231
|
-
f"is greater than {
|
|
259
|
+
f"is greater than {threshold * 100}% of input data"
|
|
232
260
|
f"\n\tAlgorithm: {name}"
|
|
233
261
|
f"\n\tInput data size: {data_memory_size} bytes"
|
|
234
262
|
"\n\tExtra allocated memory size: {} bytes"
|
|
235
263
|
" / {} %"
|
|
236
264
|
)
|
|
237
|
-
if mem_diff >=
|
|
265
|
+
if mem_diff >= threshold * data_memory_size:
|
|
238
266
|
logging.warning(
|
|
239
267
|
message.format(
|
|
240
268
|
"before", mem_diff, round((mem_diff) / data_memory_size * 100, 2)
|
|
@@ -253,7 +281,7 @@ def _kfold_function_template(estimator, dataframe, data_shape, queue=None, func=
|
|
|
253
281
|
# as it looks like a memory leak (at least there is no way to discern a
|
|
254
282
|
# leak on the first run).
|
|
255
283
|
if queue is None or queue.sycl_device.is_cpu:
|
|
256
|
-
assert mem_diff <
|
|
284
|
+
assert mem_diff < threshold * data_memory_size, message.format(
|
|
257
285
|
"after", mem_diff, round((mem_diff) / data_memory_size * 100, 2)
|
|
258
286
|
)
|
|
259
287
|
|
|
@@ -275,7 +303,7 @@ def test_memory_leaks(estimator, dataframe, queue, order, data_shape):
|
|
|
275
303
|
|
|
276
304
|
|
|
277
305
|
@pytest.mark.skipif(
|
|
278
|
-
os.getenv("ZES_ENABLE_SYSMAN") is None or not
|
|
306
|
+
os.getenv("ZES_ENABLE_SYSMAN") is None or not is_dpctl_device_available("gpu"),
|
|
279
307
|
reason="SYCL device memory leak check requires the level zero sysman",
|
|
280
308
|
)
|
|
281
309
|
@pytest.mark.parametrize("queue", get_queues("gpu"))
|
|
@@ -289,3 +317,31 @@ def test_gpu_memory_leaks(estimator, queue, order, data_shape):
|
|
|
289
317
|
|
|
290
318
|
with config_context(target_offload=queue):
|
|
291
319
|
_kfold_function_template(GPU_ESTIMATORS[estimator], None, data_shape, queue, func)
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
@pytest.mark.skipif(
|
|
323
|
+
not _is_dpc_backend,
|
|
324
|
+
reason="__sycl_usm_array_interface__ support requires DPC backend.",
|
|
325
|
+
)
|
|
326
|
+
@pytest.mark.parametrize(
|
|
327
|
+
"dataframe,queue", get_dataframes_and_queues("dpctl,dpnp", "cpu,gpu")
|
|
328
|
+
)
|
|
329
|
+
@pytest.mark.parametrize("order", ["F", "C"])
|
|
330
|
+
@pytest.mark.parametrize("data_shape", data_shapes)
|
|
331
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
332
|
+
def test_table_conversions_memory_leaks(dataframe, queue, order, data_shape, dtype):
|
|
333
|
+
func = ORDER_DICT[order]
|
|
334
|
+
|
|
335
|
+
if queue.sycl_device.is_gpu and (
|
|
336
|
+
os.getenv("ZES_ENABLE_SYSMAN") is None or not is_dpctl_device_available("gpu")
|
|
337
|
+
):
|
|
338
|
+
pytest.skip("SYCL device memory leak check requires the level zero sysman")
|
|
339
|
+
|
|
340
|
+
_kfold_function_template(
|
|
341
|
+
DummyEstimator,
|
|
342
|
+
dataframe,
|
|
343
|
+
data_shape,
|
|
344
|
+
queue,
|
|
345
|
+
func,
|
|
346
|
+
dtype,
|
|
347
|
+
)
|
|
@@ -208,11 +208,10 @@ def test_preview_namespace():
|
|
|
208
208
|
from sklearn.cluster import DBSCAN
|
|
209
209
|
from sklearn.decomposition import PCA
|
|
210
210
|
from sklearn.ensemble import RandomForestClassifier
|
|
211
|
-
from sklearn.linear_model import LinearRegression
|
|
211
|
+
from sklearn.linear_model import LinearRegression
|
|
212
212
|
from sklearn.svm import SVC
|
|
213
213
|
|
|
214
214
|
return (
|
|
215
|
-
Ridge(),
|
|
216
215
|
LinearRegression(),
|
|
217
216
|
PCA(),
|
|
218
217
|
DBSCAN(),
|
|
@@ -227,12 +226,9 @@ def test_preview_namespace():
|
|
|
227
226
|
|
|
228
227
|
assert _is_preview_enabled()
|
|
229
228
|
|
|
230
|
-
|
|
229
|
+
lr, pca, dbscan, svc, rfc = get_estimators()
|
|
231
230
|
assert "sklearnex" in rfc.__module__
|
|
232
231
|
|
|
233
|
-
if daal_check_version((2024, "P", 600)):
|
|
234
|
-
assert "sklearnex.preview" in ridge.__module__
|
|
235
|
-
|
|
236
232
|
if daal_check_version((2023, "P", 100)):
|
|
237
233
|
assert "sklearnex" in lr.__module__
|
|
238
234
|
else:
|
|
@@ -246,8 +242,7 @@ def test_preview_namespace():
|
|
|
246
242
|
sklearnex.unpatch_sklearn()
|
|
247
243
|
|
|
248
244
|
# no patching behavior
|
|
249
|
-
|
|
250
|
-
assert "sklearn." in ridge.__module__ and "daal4py" not in ridge.__module__
|
|
245
|
+
lr, pca, dbscan, svc, rfc = get_estimators()
|
|
251
246
|
assert "sklearn." in lr.__module__ and "daal4py" not in lr.__module__
|
|
252
247
|
assert "sklearn." in pca.__module__ and "daal4py" not in pca.__module__
|
|
253
248
|
assert "sklearn." in dbscan.__module__ and "daal4py" not in dbscan.__module__
|
|
@@ -259,9 +254,7 @@ def test_preview_namespace():
|
|
|
259
254
|
sklearnex.patch_sklearn()
|
|
260
255
|
assert not _is_preview_enabled()
|
|
261
256
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
assert "daal4py" in ridge.__module__
|
|
257
|
+
lr, pca, dbscan, svc, rfc = get_estimators()
|
|
265
258
|
|
|
266
259
|
if daal_check_version((2023, "P", 100)):
|
|
267
260
|
assert "sklearnex" in lr.__module__
|
scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 inspect
|
|
18
|
+
import logging
|
|
19
|
+
from multiprocessing import cpu_count
|
|
20
|
+
|
|
21
|
+
import pytest
|
|
22
|
+
from sklearn.datasets import make_classification
|
|
23
|
+
from sklearn.exceptions import NotFittedError
|
|
24
|
+
|
|
25
|
+
from sklearnex.tests.utils import (
|
|
26
|
+
PATCHED_MODELS,
|
|
27
|
+
SPECIAL_INSTANCES,
|
|
28
|
+
call_method,
|
|
29
|
+
gen_dataset,
|
|
30
|
+
gen_models_info,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
_X, _Y = make_classification(n_samples=40, n_features=4, random_state=42)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def _get_estimator_instance(estimator):
|
|
37
|
+
if estimator in PATCHED_MODELS:
|
|
38
|
+
est = PATCHED_MODELS[estimator]()
|
|
39
|
+
elif estimator in SPECIAL_INSTANCES:
|
|
40
|
+
est = SPECIAL_INSTANCES[estimator]
|
|
41
|
+
else:
|
|
42
|
+
raise KeyError(f"{estimator} not in patch_map or SPECIAL_INSTANCES")
|
|
43
|
+
return est
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def _check_n_jobs_entry_in_logs(records, function_name, n_jobs):
|
|
47
|
+
expected_n_jobs = max(n_jobs, n_jobs % (cpu_count() + 1)) if n_jobs else cpu_count()
|
|
48
|
+
for rec in records:
|
|
49
|
+
if f"{function_name}: setting {expected_n_jobs} threads" in rec:
|
|
50
|
+
return True
|
|
51
|
+
# False if n_jobs is set and not found in logs
|
|
52
|
+
return n_jobs is None
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@pytest.mark.parametrize("estimator", {**PATCHED_MODELS, **SPECIAL_INSTANCES}.keys())
|
|
56
|
+
def test_n_jobs_documentation(estimator):
|
|
57
|
+
est = _get_estimator_instance(estimator)
|
|
58
|
+
assert "n_jobs" in est.__doc__
|
|
59
|
+
assert "n_jobs" in est.__class__.__doc__
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@pytest.mark.parametrize("estimator", {**PATCHED_MODELS, **SPECIAL_INSTANCES}.keys())
|
|
63
|
+
def test_n_jobs_method_decoration(estimator):
|
|
64
|
+
est = _get_estimator_instance(estimator)
|
|
65
|
+
for func_name, func in vars(est).items():
|
|
66
|
+
# hasattr check necessary due to sklearn's available_if wrapper
|
|
67
|
+
if hasattr(est, func_name) and callable(func):
|
|
68
|
+
assert hasattr(func, "__onedal_n_jobs_decorated__") == (
|
|
69
|
+
func_name in est._n_jobs_supported_onedal_methods
|
|
70
|
+
), f"{est}.{func_name} n_jobs decoration does not match {est} n_jobs supported methods"
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
@pytest.mark.parametrize("estimator", {**PATCHED_MODELS, **SPECIAL_INSTANCES}.keys())
|
|
74
|
+
@pytest.mark.parametrize("n_jobs", [None, -1, 1, 2])
|
|
75
|
+
def test_n_jobs_support(estimator, n_jobs, caplog):
|
|
76
|
+
|
|
77
|
+
est = _get_estimator_instance(estimator)
|
|
78
|
+
caplog.set_level(logging.DEBUG, logger="sklearnex")
|
|
79
|
+
|
|
80
|
+
# copy params and modify n_jobs, assumes estimator inherits from BaseEstimator
|
|
81
|
+
# or properly supports get_params and set_params methods as defined by sklearn
|
|
82
|
+
params = est.get_params()
|
|
83
|
+
params["n_jobs"] = n_jobs
|
|
84
|
+
est.set_params(**params)
|
|
85
|
+
|
|
86
|
+
# check `n_jobs` log entry for supported methods
|
|
87
|
+
# `fit` call is required before other methods
|
|
88
|
+
est.fit(_X, _Y)
|
|
89
|
+
messages = [msg.message for msg in caplog.records]
|
|
90
|
+
assert _check_n_jobs_entry_in_logs(messages, "fit", n_jobs)
|
|
91
|
+
|
|
92
|
+
for method_name in est._n_jobs_supported_onedal_methods:
|
|
93
|
+
# do not call fit again, handle sklearn's available_if wrapper
|
|
94
|
+
if method_name == "fit" or (
|
|
95
|
+
"NearestNeighbors" in estimator and "radius" in method_name
|
|
96
|
+
):
|
|
97
|
+
# radius_neighbors and radius_neighbors_graph violate sklearn fallback guard
|
|
98
|
+
# but use sklearnex interally, additional development must be done to those
|
|
99
|
+
# functions to bring them to design compliance.
|
|
100
|
+
continue
|
|
101
|
+
try:
|
|
102
|
+
call_method(est, method_name, _X, _Y)
|
|
103
|
+
except (NotFittedError, AttributeError) as e:
|
|
104
|
+
# handle sklearns available_if wrapper
|
|
105
|
+
continue
|
|
106
|
+
|
|
107
|
+
messages = [msg.message for msg in caplog.records]
|
|
108
|
+
assert _check_n_jobs_entry_in_logs(messages, method_name, n_jobs)
|
|
@@ -36,7 +36,7 @@ from onedal.tests.utils._dataframes_support import (
|
|
|
36
36
|
from sklearnex import is_patched_instance
|
|
37
37
|
from sklearnex.dispatcher import _is_preview_enabled
|
|
38
38
|
from sklearnex.metrics import pairwise_distances, roc_auc_score
|
|
39
|
-
from sklearnex.tests.
|
|
39
|
+
from sklearnex.tests.utils import (
|
|
40
40
|
DTYPES,
|
|
41
41
|
PATCHED_FUNCTIONS,
|
|
42
42
|
PATCHED_MODELS,
|
|
@@ -135,7 +135,6 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
135
135
|
elif queue.sycl_device.is_gpu and estimator in [
|
|
136
136
|
"ElasticNet",
|
|
137
137
|
"Lasso",
|
|
138
|
-
"Ridge",
|
|
139
138
|
]:
|
|
140
139
|
pytest.skip(f"{estimator} does not support GPU queues")
|
|
141
140
|
|
|
@@ -144,13 +143,6 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
144
143
|
|
|
145
144
|
if estimator == "TSNE" and method == "fit_transform":
|
|
146
145
|
pytest.skip("TSNE.fit_transform is too slow for common testing")
|
|
147
|
-
elif (
|
|
148
|
-
estimator == "Ridge"
|
|
149
|
-
and method in ["predict", "score"]
|
|
150
|
-
and sys.platform == "win32"
|
|
151
|
-
and dtype in [np.uint32, np.uint64]
|
|
152
|
-
):
|
|
153
|
-
pytest.skip("Windows segmentation fault for Ridge.predict for unsigned ints")
|
|
154
146
|
elif estimator == "IncrementalLinearRegression" and np.issubdtype(
|
|
155
147
|
dtype, np.integer
|
|
156
148
|
):
|
|
@@ -21,14 +21,6 @@ from numbers import Number
|
|
|
21
21
|
|
|
22
22
|
import numpy as np
|
|
23
23
|
import pytest
|
|
24
|
-
from _utils import (
|
|
25
|
-
PATCHED_MODELS,
|
|
26
|
-
SPECIAL_INSTANCES,
|
|
27
|
-
_sklearn_clone_dict,
|
|
28
|
-
call_method,
|
|
29
|
-
gen_dataset,
|
|
30
|
-
gen_models_info,
|
|
31
|
-
)
|
|
32
24
|
from numpy.testing import assert_allclose
|
|
33
25
|
from scipy import sparse
|
|
34
26
|
from sklearn.datasets import (
|
|
@@ -42,6 +34,7 @@ from sklearn.datasets import (
|
|
|
42
34
|
import daal4py as d4p
|
|
43
35
|
from daal4py.sklearn._utils import daal_check_version
|
|
44
36
|
from onedal.tests.utils._dataframes_support import _as_numpy, get_dataframes_and_queues
|
|
37
|
+
from sklearnex.basic_statistics import BasicStatistics
|
|
45
38
|
from sklearnex.cluster import DBSCAN, KMeans
|
|
46
39
|
from sklearnex.decomposition import PCA
|
|
47
40
|
from sklearnex.metrics import pairwise_distances, roc_auc_score
|
|
@@ -52,6 +45,15 @@ from sklearnex.neighbors import (
|
|
|
52
45
|
NearestNeighbors,
|
|
53
46
|
)
|
|
54
47
|
from sklearnex.svm import SVC
|
|
48
|
+
from sklearnex.tests.utils import (
|
|
49
|
+
_IS_INTEL,
|
|
50
|
+
PATCHED_MODELS,
|
|
51
|
+
SPECIAL_INSTANCES,
|
|
52
|
+
call_method,
|
|
53
|
+
gen_dataset,
|
|
54
|
+
gen_models_info,
|
|
55
|
+
sklearn_clone_dict,
|
|
56
|
+
)
|
|
55
57
|
|
|
56
58
|
# to reproduce errors even in CI
|
|
57
59
|
d4p.daalinit(nthreads=100)
|
|
@@ -116,6 +118,12 @@ def _run_test(estimator, method, datasets):
|
|
|
116
118
|
|
|
117
119
|
|
|
118
120
|
_sparse_instances = [SVC()]
|
|
121
|
+
if daal_check_version((2025, "P", 200)): # Test for >= 2025.2.0
|
|
122
|
+
_sparse_instances.extend(
|
|
123
|
+
[
|
|
124
|
+
BasicStatistics(result_options=["sum", "min"]),
|
|
125
|
+
]
|
|
126
|
+
)
|
|
119
127
|
if daal_check_version((2024, "P", 700)): # Test for > 2024.7.0
|
|
120
128
|
_sparse_instances.extend(
|
|
121
129
|
[
|
|
@@ -124,9 +132,9 @@ if daal_check_version((2024, "P", 700)): # Test for > 2024.7.0
|
|
|
124
132
|
KMeans(init="k-means++"),
|
|
125
133
|
]
|
|
126
134
|
)
|
|
127
|
-
SPARSE_INSTANCES =
|
|
135
|
+
SPARSE_INSTANCES = sklearn_clone_dict({str(i): i for i in _sparse_instances})
|
|
128
136
|
|
|
129
|
-
STABILITY_INSTANCES =
|
|
137
|
+
STABILITY_INSTANCES = sklearn_clone_dict(
|
|
130
138
|
{
|
|
131
139
|
str(i): i
|
|
132
140
|
for i in [
|
|
@@ -145,6 +153,16 @@ STABILITY_INSTANCES = _sklearn_clone_dict(
|
|
|
145
153
|
)
|
|
146
154
|
|
|
147
155
|
|
|
156
|
+
def _skip_neighbors(estimator, method):
|
|
157
|
+
if (
|
|
158
|
+
not _IS_INTEL
|
|
159
|
+
and ("Neighbors" in estimator or "LocalOutlierFactor" in estimator)
|
|
160
|
+
and method
|
|
161
|
+
in ["score", "predict", "kneighbors", "kneighbors_graph", "predict_proba"]
|
|
162
|
+
):
|
|
163
|
+
pytest.skip(f"{estimator} shows instability on non-Intel(R) hardware")
|
|
164
|
+
|
|
165
|
+
|
|
148
166
|
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
149
167
|
@pytest.mark.parametrize("estimator, method", gen_models_info(PATCHED_MODELS))
|
|
150
168
|
def test_standard_estimator_stability(estimator, method, dataframe, queue):
|
|
@@ -154,6 +172,7 @@ def test_standard_estimator_stability(estimator, method, dataframe, queue):
|
|
|
154
172
|
pytest.skip(f"variation observed in {estimator}.score")
|
|
155
173
|
if estimator in ["IncrementalEmpiricalCovariance"] and method == "mahalanobis":
|
|
156
174
|
pytest.skip("allowed fallback to sklearn occurs")
|
|
175
|
+
_skip_neighbors(estimator, method)
|
|
157
176
|
|
|
158
177
|
if "NearestNeighbors" in estimator and "radius" in method:
|
|
159
178
|
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
@@ -180,8 +199,11 @@ def test_special_estimator_stability(estimator, method, dataframe, queue):
|
|
|
180
199
|
pytest.skip(f"stability not guaranteed for {estimator}")
|
|
181
200
|
if "KMeans" in estimator and method == "score" and queue == None:
|
|
182
201
|
pytest.skip(f"variation observed in KMeans.score")
|
|
202
|
+
if estimator == "BasicStatistics()" and queue == None:
|
|
203
|
+
pytest.skip(f"BasicStatistics not deterministic")
|
|
183
204
|
if "NearestNeighbors" in estimator and "radius" in method:
|
|
184
205
|
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
206
|
+
_skip_neighbors(estimator, method)
|
|
185
207
|
|
|
186
208
|
est = SPECIAL_INSTANCES[estimator]
|
|
187
209
|
|
|
@@ -200,11 +222,18 @@ def test_special_estimator_stability(estimator, method, dataframe, queue):
|
|
|
200
222
|
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
201
223
|
@pytest.mark.parametrize("estimator, method", gen_models_info(SPARSE_INSTANCES))
|
|
202
224
|
def test_sparse_estimator_stability(estimator, method, dataframe, queue):
|
|
203
|
-
if "KMeans" in estimator and method
|
|
204
|
-
pytest.skip(f"variation observed in KMeans.
|
|
205
|
-
|
|
225
|
+
if "KMeans" in estimator and method in "score" and queue == None:
|
|
226
|
+
pytest.skip(f"variation observed in KMeans.{method}")
|
|
227
|
+
if (
|
|
228
|
+
not daal_check_version((2025, "P", 0))
|
|
229
|
+
and "KMeans()" in estimator
|
|
230
|
+
and queue == None
|
|
231
|
+
):
|
|
232
|
+
pytest.skip(f"variation observed in KMeans.{method} in 2024.7 oneDAL")
|
|
206
233
|
if "NearestNeighbors" in estimator and "radius" in method:
|
|
207
234
|
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
235
|
+
_skip_neighbors(estimator, method)
|
|
236
|
+
|
|
208
237
|
est = SPARSE_INSTANCES[estimator]
|
|
209
238
|
|
|
210
239
|
if method and not hasattr(est, method):
|
|
@@ -228,6 +257,7 @@ def test_other_estimator_stability(estimator, method, dataframe, queue):
|
|
|
228
257
|
pytest.skip(f"variation observed in KMeans.score")
|
|
229
258
|
if "NearestNeighbors" in estimator and "radius" in method:
|
|
230
259
|
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
260
|
+
_skip_neighbors(estimator, method)
|
|
231
261
|
|
|
232
262
|
est = STABILITY_INSTANCES[estimator]
|
|
233
263
|
|
|
@@ -0,0 +1,48 @@
|
|
|
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
|
+
from .base import (
|
|
18
|
+
DTYPES,
|
|
19
|
+
PATCHED_FUNCTIONS,
|
|
20
|
+
PATCHED_MODELS,
|
|
21
|
+
SPECIAL_INSTANCES,
|
|
22
|
+
UNPATCHED_FUNCTIONS,
|
|
23
|
+
UNPATCHED_MODELS,
|
|
24
|
+
DummyEstimator,
|
|
25
|
+
_get_processor_info,
|
|
26
|
+
call_method,
|
|
27
|
+
gen_dataset,
|
|
28
|
+
gen_models_info,
|
|
29
|
+
gen_sparse_dataset,
|
|
30
|
+
sklearn_clone_dict,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
__all__ = [
|
|
34
|
+
"DTYPES",
|
|
35
|
+
"PATCHED_FUNCTIONS",
|
|
36
|
+
"PATCHED_MODELS",
|
|
37
|
+
"UNPATCHED_FUNCTIONS",
|
|
38
|
+
"UNPATCHED_MODELS",
|
|
39
|
+
"SPECIAL_INSTANCES",
|
|
40
|
+
"call_method",
|
|
41
|
+
"gen_models_info",
|
|
42
|
+
"gen_dataset",
|
|
43
|
+
"gen_sparse_dataset",
|
|
44
|
+
"sklearn_clone_dict",
|
|
45
|
+
"DummyEstimator",
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
_IS_INTEL = "GenuineIntel" in _get_processor_info()
|