scikit-learn-intelex 2025.0.1__py311-none-win_amd64.whl → 2025.2.0__py311-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +21 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +11 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +9 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +35 -16
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +12 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +91 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +4 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +3 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +1 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +15 -40
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +34 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +16 -72
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +16 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +22 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +4 -3
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +121 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +475 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +87 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +30 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +86 -52
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +72 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +64 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +110 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +55 -70
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +10 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +8 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +25 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +4 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +19 -24
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +12 -22
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +52 -20
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +1 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +19 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +17 -12
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +45 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +123 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +65 -34
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +190 -36
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +99 -28
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +12 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +56 -42
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +15 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +9 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +32 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +61 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +30 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +72 -59
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +40 -20
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +52 -40
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +18 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +114 -75
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +49 -39
- {scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -419
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +70 -6
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +41 -41
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +16 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +4 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +20 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +18 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +22 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +4 -2
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +18 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +30 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +4 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +7 -8
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +4 -3
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +17 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +1 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +58 -47
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +68 -29
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +40 -18
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +66 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +36 -18
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +491 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +69 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +1 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +43 -13
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +117 -9
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.2.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -95
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +0 -235
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -54
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -43
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -103
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
- scikit_learn_intelex-2025.0.1.dist-info/RECORD +0 -255
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- /scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py → /scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# ===============================================================================
|
|
2
|
+
# Copyright 2021 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ===============================================================================
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
import pytest
|
|
19
|
+
from numpy.testing import assert_allclose
|
|
20
|
+
from sklearn.metrics.pairwise import pairwise_distances
|
|
21
|
+
|
|
22
|
+
# Note: n_components must be 2 for now
|
|
23
|
+
from onedal.tests.utils._dataframes_support import (
|
|
24
|
+
_as_numpy,
|
|
25
|
+
_convert_to_dataframe,
|
|
26
|
+
get_dataframes_and_queues,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
31
|
+
def test_sklearnex_import(dataframe, queue):
|
|
32
|
+
"""Test TSNE compatibility with different backends and queues, and validate sklearnex module."""
|
|
33
|
+
from sklearnex.manifold import TSNE
|
|
34
|
+
|
|
35
|
+
X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
|
|
36
|
+
X_df = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
37
|
+
tsne = TSNE(n_components=2, perplexity=2.0, random_state=42, init="pca").fit(X_df)
|
|
38
|
+
embedding = tsne.fit_transform(X_df)
|
|
39
|
+
embedding = _as_numpy(embedding)
|
|
40
|
+
assert "daal4py" in tsne.__module__
|
|
41
|
+
assert tsne.n_components == 2
|
|
42
|
+
assert tsne.perplexity == 2.0
|
|
43
|
+
assert tsne.random_state == 42
|
|
44
|
+
assert tsne.init == "pca"
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@pytest.mark.parametrize(
|
|
48
|
+
"X_generator,n_components,perplexity,expected_shape,should_raise",
|
|
49
|
+
[
|
|
50
|
+
pytest.param(
|
|
51
|
+
lambda rng: np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]]),
|
|
52
|
+
2,
|
|
53
|
+
2.0,
|
|
54
|
+
(4, 2),
|
|
55
|
+
False,
|
|
56
|
+
id="Basic functionality",
|
|
57
|
+
),
|
|
58
|
+
pytest.param(
|
|
59
|
+
lambda rng: rng.random((100, 10)),
|
|
60
|
+
2,
|
|
61
|
+
30.0,
|
|
62
|
+
(100, 2),
|
|
63
|
+
False,
|
|
64
|
+
id="Random data",
|
|
65
|
+
),
|
|
66
|
+
pytest.param(
|
|
67
|
+
lambda rng: np.array([[0, 0], [1, 1], [2, 2]]),
|
|
68
|
+
2,
|
|
69
|
+
2.0,
|
|
70
|
+
(3, 2),
|
|
71
|
+
False,
|
|
72
|
+
id="Valid minimal data",
|
|
73
|
+
),
|
|
74
|
+
pytest.param(
|
|
75
|
+
lambda rng: np.empty((0, 10)),
|
|
76
|
+
2,
|
|
77
|
+
5.0,
|
|
78
|
+
None,
|
|
79
|
+
True,
|
|
80
|
+
id="Empty data",
|
|
81
|
+
),
|
|
82
|
+
pytest.param(
|
|
83
|
+
lambda rng: np.array([[0, 0], [1, np.nan], [2, np.inf]]),
|
|
84
|
+
2,
|
|
85
|
+
5.0,
|
|
86
|
+
None,
|
|
87
|
+
True,
|
|
88
|
+
id="Data with NaN/Inf",
|
|
89
|
+
),
|
|
90
|
+
pytest.param(
|
|
91
|
+
lambda rng: rng.random((50, 500)) * (rng.random((50, 500)) > 0.99),
|
|
92
|
+
2,
|
|
93
|
+
30.0,
|
|
94
|
+
(50, 2),
|
|
95
|
+
False,
|
|
96
|
+
id="Sparse-like high-dimensional data",
|
|
97
|
+
),
|
|
98
|
+
pytest.param(
|
|
99
|
+
lambda rng: np.hstack(
|
|
100
|
+
[
|
|
101
|
+
np.ones((50, 1)), # First column is 1
|
|
102
|
+
rng.random((50, 499)) * (rng.random((50, 499)) > 0.99),
|
|
103
|
+
]
|
|
104
|
+
),
|
|
105
|
+
2,
|
|
106
|
+
30.0,
|
|
107
|
+
(50, 2),
|
|
108
|
+
False,
|
|
109
|
+
id="Sparse-like data with constant column",
|
|
110
|
+
),
|
|
111
|
+
pytest.param(
|
|
112
|
+
lambda rng: np.where(
|
|
113
|
+
np.arange(50 * 500).reshape(50, 500) % 10 == 0, 0, rng.random((50, 500))
|
|
114
|
+
),
|
|
115
|
+
2,
|
|
116
|
+
30.0,
|
|
117
|
+
(50, 2),
|
|
118
|
+
False,
|
|
119
|
+
id="Sparse-like data with every tenth element zero",
|
|
120
|
+
),
|
|
121
|
+
pytest.param(
|
|
122
|
+
lambda rng: rng.random((10, 5)),
|
|
123
|
+
2,
|
|
124
|
+
0.5,
|
|
125
|
+
(10, 2),
|
|
126
|
+
False,
|
|
127
|
+
id="Extremely low perplexity",
|
|
128
|
+
),
|
|
129
|
+
],
|
|
130
|
+
)
|
|
131
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
132
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
133
|
+
def test_tsne_functionality_and_edge_cases(
|
|
134
|
+
X_generator,
|
|
135
|
+
n_components,
|
|
136
|
+
perplexity,
|
|
137
|
+
expected_shape,
|
|
138
|
+
should_raise,
|
|
139
|
+
dataframe,
|
|
140
|
+
queue,
|
|
141
|
+
dtype,
|
|
142
|
+
):
|
|
143
|
+
from sklearnex.manifold import TSNE
|
|
144
|
+
|
|
145
|
+
rng = np.random.default_rng(
|
|
146
|
+
seed=42
|
|
147
|
+
) # Use generator to ensure independent dataset per test
|
|
148
|
+
X = X_generator(rng)
|
|
149
|
+
X = X.astype(dtype) if X.size > 0 else X
|
|
150
|
+
X_df = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
151
|
+
|
|
152
|
+
if should_raise:
|
|
153
|
+
with pytest.raises(ValueError):
|
|
154
|
+
TSNE(n_components=n_components, perplexity=perplexity).fit_transform(X_df)
|
|
155
|
+
else:
|
|
156
|
+
tsne = TSNE(n_components=n_components, perplexity=perplexity, random_state=42)
|
|
157
|
+
embedding = tsne.fit_transform(X_df)
|
|
158
|
+
embedding = _as_numpy(embedding)
|
|
159
|
+
assert embedding.shape == expected_shape
|
|
160
|
+
assert np.all(np.isfinite(embedding))
|
|
161
|
+
assert np.any(embedding != 0)
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
165
|
+
@pytest.mark.parametrize("init", ["pca", "random"])
|
|
166
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
167
|
+
def test_tsne_constant_data(init, dataframe, queue, dtype):
|
|
168
|
+
from sklearnex.manifold import TSNE
|
|
169
|
+
|
|
170
|
+
X = np.ones((10, 10), dtype=dtype)
|
|
171
|
+
X_df = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
172
|
+
tsne = TSNE(n_components=2, init=init, perplexity=5, random_state=42)
|
|
173
|
+
embedding = tsne.fit_transform(X_df)
|
|
174
|
+
embedding = _as_numpy(embedding)
|
|
175
|
+
assert embedding.shape == (10, 2)
|
|
176
|
+
if init == "pca":
|
|
177
|
+
assert np.isclose(embedding[:, 0].std(), 0, atol=1e-6) # Constant first dimension
|
|
178
|
+
assert np.allclose(embedding[:, 1], 0, atol=1e-6) # Zero second dimension
|
|
179
|
+
elif init == "random":
|
|
180
|
+
assert np.all(np.isfinite(embedding))
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
184
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
185
|
+
def test_tsne_reproducibility(dataframe, queue, dtype):
|
|
186
|
+
from sklearnex.manifold import TSNE
|
|
187
|
+
|
|
188
|
+
rng = np.random.default_rng(seed=42)
|
|
189
|
+
X = rng.random((50, 10)).astype(dtype)
|
|
190
|
+
X_df = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
191
|
+
tsne_1 = TSNE(n_components=2, random_state=42).fit_transform(X_df)
|
|
192
|
+
tsne_2 = TSNE(n_components=2, random_state=42).fit_transform(X_df)
|
|
193
|
+
# in case of dpctl.tensor.usm_ndarray covert to numpy array
|
|
194
|
+
tsne_1 = _as_numpy(tsne_1)
|
|
195
|
+
tsne_2 = _as_numpy(tsne_2)
|
|
196
|
+
assert_allclose(tsne_1, tsne_2, rtol=1e-5)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
200
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
201
|
+
def test_tsne_complex_and_gpu_validation(dataframe, queue, dtype):
|
|
202
|
+
from sklearnex.manifold import TSNE
|
|
203
|
+
|
|
204
|
+
X = np.array(
|
|
205
|
+
[
|
|
206
|
+
[1, 1, 1, 1],
|
|
207
|
+
[1.1, 1.1, 1.1, 1.1],
|
|
208
|
+
[0.9, 0.9, 0.9, 0.9],
|
|
209
|
+
[2e9, 2e-9, -2e9, -2e-9],
|
|
210
|
+
[5e-5, 5e5, -5e-5, -5e5],
|
|
211
|
+
[9e-7, -9e7, 9e-7, -9e7],
|
|
212
|
+
[1, -1, 1, -1],
|
|
213
|
+
[-1e-9, 1e-9, -1e-9, 1e-9],
|
|
214
|
+
[42, 42, 42, 42],
|
|
215
|
+
[8, -8, 8e8, -8e-8],
|
|
216
|
+
[1e-3, 1e3, -1e3, -1e-3],
|
|
217
|
+
[0, 1e9, -1e-9, 1],
|
|
218
|
+
[0, 0, 1, -1],
|
|
219
|
+
[0, 0, 0, 0],
|
|
220
|
+
[-1e5, 0, 1e5, -1],
|
|
221
|
+
[1, 0, -1e8, 1e8],
|
|
222
|
+
]
|
|
223
|
+
)
|
|
224
|
+
n_components = 2
|
|
225
|
+
perplexity = 3.0
|
|
226
|
+
expected_shape = (16, 2)
|
|
227
|
+
|
|
228
|
+
X = X.astype(dtype)
|
|
229
|
+
X_df = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
230
|
+
tsne = TSNE(n_components=n_components, perplexity=perplexity, random_state=42)
|
|
231
|
+
embedding = tsne.fit_transform(X_df)
|
|
232
|
+
|
|
233
|
+
# Validate results
|
|
234
|
+
assert embedding.shape == expected_shape
|
|
235
|
+
embedding = _as_numpy(embedding)
|
|
236
|
+
assert np.all(np.isfinite(embedding))
|
|
237
|
+
assert np.any(embedding != 0)
|
|
238
|
+
|
|
239
|
+
# Ensure close points in original space remain close in embedding
|
|
240
|
+
group_a_indices = [0, 1, 2] # Hardcoded index of similar points
|
|
241
|
+
group_b_indices = [3, 4, 5] # Hardcoded index of dissimilar points from a
|
|
242
|
+
embedding_distances = pairwise_distances(
|
|
243
|
+
X, metric="euclidean"
|
|
244
|
+
) # Get an array of distance where [i, j] is distance b/t i and j
|
|
245
|
+
# Check for distance b/t two points in group A < distance of this point and any point in group B
|
|
246
|
+
for i in group_a_indices:
|
|
247
|
+
for j in group_a_indices:
|
|
248
|
+
assert (
|
|
249
|
+
embedding_distances[i, j] < embedding_distances[i, group_b_indices].min()
|
|
250
|
+
), f"Point {i} in Group A is closer to a point in Group B than to another point in Group A."
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import warnings
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
|
-
from sklearn.neighbors import LocalOutlierFactor as
|
|
20
|
+
from sklearn.neighbors import LocalOutlierFactor as _sklearn_LocalOutlierFactor
|
|
21
21
|
from sklearn.utils.metaestimators import available_if
|
|
22
22
|
from sklearn.utils.validation import check_is_fitted
|
|
23
23
|
|
|
@@ -29,18 +29,23 @@ from sklearnex.neighbors.knn_unsupervised import NearestNeighbors
|
|
|
29
29
|
|
|
30
30
|
from ..utils._array_api import get_namespace
|
|
31
31
|
|
|
32
|
+
if sklearn_check_version("1.6"):
|
|
33
|
+
from sklearn.utils.validation import validate_data
|
|
34
|
+
else:
|
|
35
|
+
validate_data = _sklearn_LocalOutlierFactor._validate_data
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
|
|
38
|
+
@control_n_jobs(decorated_methods=["fit", "kneighbors", "_kneighbors"])
|
|
39
|
+
class LocalOutlierFactor(KNeighborsDispatchingBase, _sklearn_LocalOutlierFactor):
|
|
35
40
|
__doc__ = (
|
|
36
|
-
|
|
41
|
+
_sklearn_LocalOutlierFactor.__doc__
|
|
37
42
|
+ "\n NOTE: When X=None, methods kneighbors, kneighbors_graph, and predict will"
|
|
38
43
|
+ "\n only output numpy arrays. In that case, the only way to offload to gpu"
|
|
39
44
|
+ "\n is to use a global queue (e.g. using config_context)"
|
|
40
45
|
)
|
|
41
46
|
if sklearn_check_version("1.2"):
|
|
42
47
|
_parameter_constraints: dict = {
|
|
43
|
-
**
|
|
48
|
+
**_sklearn_LocalOutlierFactor._parameter_constraints
|
|
44
49
|
}
|
|
45
50
|
|
|
46
51
|
# Only certain methods should be taken from knn to prevent code
|
|
@@ -115,7 +120,7 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, sklearn_LocalOutlierFactor):
|
|
|
115
120
|
"fit",
|
|
116
121
|
{
|
|
117
122
|
"onedal": self.__class__._onedal_fit,
|
|
118
|
-
"sklearn":
|
|
123
|
+
"sklearn": _sklearn_LocalOutlierFactor.fit,
|
|
119
124
|
},
|
|
120
125
|
X,
|
|
121
126
|
None,
|
|
@@ -140,7 +145,7 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, sklearn_LocalOutlierFactor):
|
|
|
140
145
|
# argument is given and it is a dpctl tensor or dpnp array.
|
|
141
146
|
# This would cause issues in fit_predict. Also, available_if
|
|
142
147
|
# is hard to unwrap, and this is the most straighforward way.
|
|
143
|
-
@available_if(
|
|
148
|
+
@available_if(_sklearn_LocalOutlierFactor._check_novelty_fit_predict)
|
|
144
149
|
@wrap_output_data
|
|
145
150
|
def fit_predict(self, X, y=None):
|
|
146
151
|
"""Fit the model to the training set X and return the labels.
|
|
@@ -174,7 +179,7 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, sklearn_LocalOutlierFactor):
|
|
|
174
179
|
"kneighbors",
|
|
175
180
|
{
|
|
176
181
|
"onedal": self.__class__._onedal_kneighbors,
|
|
177
|
-
"sklearn":
|
|
182
|
+
"sklearn": _sklearn_LocalOutlierFactor.kneighbors,
|
|
178
183
|
},
|
|
179
184
|
X,
|
|
180
185
|
n_neighbors=n_neighbors,
|
|
@@ -183,7 +188,7 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, sklearn_LocalOutlierFactor):
|
|
|
183
188
|
|
|
184
189
|
kneighbors = wrap_output_data(_kneighbors)
|
|
185
190
|
|
|
186
|
-
@available_if(
|
|
191
|
+
@available_if(_sklearn_LocalOutlierFactor._check_novelty_score_samples)
|
|
187
192
|
@wrap_output_data
|
|
188
193
|
def score_samples(self, X):
|
|
189
194
|
"""Opposite of the Local Outlier Factor of X.
|
|
@@ -227,5 +232,5 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, sklearn_LocalOutlierFactor):
|
|
|
227
232
|
|
|
228
233
|
return -np.mean(lrd_ratios_array, axis=1)
|
|
229
234
|
|
|
230
|
-
fit.__doc__ =
|
|
231
|
-
kneighbors.__doc__ =
|
|
235
|
+
fit.__doc__ = _sklearn_LocalOutlierFactor.fit.__doc__
|
|
236
|
+
kneighbors.__doc__ = _sklearn_LocalOutlierFactor.kneighbors.__doc__
|
|
@@ -20,7 +20,7 @@ import numpy as np
|
|
|
20
20
|
from scipy import sparse as sp
|
|
21
21
|
from sklearn.neighbors._ball_tree import BallTree
|
|
22
22
|
from sklearn.neighbors._base import VALID_METRICS, KNeighborsMixin
|
|
23
|
-
from sklearn.neighbors._base import NeighborsBase as
|
|
23
|
+
from sklearn.neighbors._base import NeighborsBase as _sklearn_NeighborsBase
|
|
24
24
|
from sklearn.neighbors._kd_tree import KDTree
|
|
25
25
|
from sklearn.utils.validation import check_is_fitted
|
|
26
26
|
|
|
@@ -64,7 +64,7 @@ class KNeighborsDispatchingBase:
|
|
|
64
64
|
elif p == np.inf:
|
|
65
65
|
self.effective_metric_ = "chebyshev"
|
|
66
66
|
|
|
67
|
-
if not isinstance(X, (KDTree, BallTree,
|
|
67
|
+
if not isinstance(X, (KDTree, BallTree, _sklearn_NeighborsBase)):
|
|
68
68
|
self._fit_X = _check_array(
|
|
69
69
|
X, dtype=[np.float64, np.float32], accept_sparse=True
|
|
70
70
|
)
|
|
@@ -97,7 +97,7 @@ class KNeighborsDispatchingBase:
|
|
|
97
97
|
delattr(self, "_onedal_estimator")
|
|
98
98
|
# To cover test case when we pass patched
|
|
99
99
|
# estimator as an input for other estimator
|
|
100
|
-
if isinstance(X,
|
|
100
|
+
if isinstance(X, _sklearn_NeighborsBase):
|
|
101
101
|
self._fit_X = X._fit_X
|
|
102
102
|
self._tree = X._tree
|
|
103
103
|
self._fit_method = X._fit_method
|
|
@@ -155,7 +155,7 @@ class KNeighborsDispatchingBase:
|
|
|
155
155
|
return patching_status
|
|
156
156
|
|
|
157
157
|
if not patching_status.and_condition(
|
|
158
|
-
not isinstance(data[0], (KDTree, BallTree,
|
|
158
|
+
not isinstance(data[0], (KDTree, BallTree, _sklearn_NeighborsBase)),
|
|
159
159
|
f"Input type {type(data[0])} is not supported.",
|
|
160
160
|
):
|
|
161
161
|
return patching_status
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
|
|
17
17
|
from sklearn.metrics import accuracy_score
|
|
18
18
|
from sklearn.neighbors._classification import (
|
|
19
|
-
KNeighborsClassifier as
|
|
19
|
+
KNeighborsClassifier as _sklearn_KNeighborsClassifier,
|
|
20
20
|
)
|
|
21
|
-
from sklearn.neighbors._unsupervised import NearestNeighbors as
|
|
21
|
+
from sklearn.neighbors._unsupervised import NearestNeighbors as _sklearn_NearestNeighbors
|
|
22
22
|
from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
|
|
23
23
|
|
|
24
24
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
@@ -28,15 +28,20 @@ from onedal.neighbors import KNeighborsClassifier as onedal_KNeighborsClassifier
|
|
|
28
28
|
from .._device_offload import dispatch, wrap_output_data
|
|
29
29
|
from .common import KNeighborsDispatchingBase
|
|
30
30
|
|
|
31
|
+
if sklearn_check_version("1.6"):
|
|
32
|
+
from sklearn.utils.validation import validate_data
|
|
33
|
+
else:
|
|
34
|
+
validate_data = _sklearn_KNeighborsClassifier._validate_data
|
|
35
|
+
|
|
31
36
|
|
|
32
37
|
@control_n_jobs(
|
|
33
38
|
decorated_methods=["fit", "predict", "predict_proba", "kneighbors", "score"]
|
|
34
39
|
)
|
|
35
|
-
class KNeighborsClassifier(KNeighborsDispatchingBase,
|
|
36
|
-
__doc__ =
|
|
40
|
+
class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassifier):
|
|
41
|
+
__doc__ = _sklearn_KNeighborsClassifier.__doc__
|
|
37
42
|
if sklearn_check_version("1.2"):
|
|
38
43
|
_parameter_constraints: dict = {
|
|
39
|
-
**
|
|
44
|
+
**_sklearn_KNeighborsClassifier._parameter_constraints
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
if sklearn_check_version("1.0"):
|
|
@@ -98,7 +103,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, sklearn_KNeighborsClassifi
|
|
|
98
103
|
"fit",
|
|
99
104
|
{
|
|
100
105
|
"onedal": self.__class__._onedal_fit,
|
|
101
|
-
"sklearn":
|
|
106
|
+
"sklearn": _sklearn_KNeighborsClassifier.fit,
|
|
102
107
|
},
|
|
103
108
|
X,
|
|
104
109
|
y,
|
|
@@ -115,7 +120,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, sklearn_KNeighborsClassifi
|
|
|
115
120
|
"predict",
|
|
116
121
|
{
|
|
117
122
|
"onedal": self.__class__._onedal_predict,
|
|
118
|
-
"sklearn":
|
|
123
|
+
"sklearn": _sklearn_KNeighborsClassifier.predict,
|
|
119
124
|
},
|
|
120
125
|
X,
|
|
121
126
|
)
|
|
@@ -130,7 +135,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, sklearn_KNeighborsClassifi
|
|
|
130
135
|
"predict_proba",
|
|
131
136
|
{
|
|
132
137
|
"onedal": self.__class__._onedal_predict_proba,
|
|
133
|
-
"sklearn":
|
|
138
|
+
"sklearn": _sklearn_KNeighborsClassifier.predict_proba,
|
|
134
139
|
},
|
|
135
140
|
X,
|
|
136
141
|
)
|
|
@@ -145,7 +150,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, sklearn_KNeighborsClassifi
|
|
|
145
150
|
"score",
|
|
146
151
|
{
|
|
147
152
|
"onedal": self.__class__._onedal_score,
|
|
148
|
-
"sklearn":
|
|
153
|
+
"sklearn": _sklearn_KNeighborsClassifier.score,
|
|
149
154
|
},
|
|
150
155
|
X,
|
|
151
156
|
y,
|
|
@@ -162,7 +167,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, sklearn_KNeighborsClassifi
|
|
|
162
167
|
"kneighbors",
|
|
163
168
|
{
|
|
164
169
|
"onedal": self.__class__._onedal_kneighbors,
|
|
165
|
-
"sklearn":
|
|
170
|
+
"sklearn": _sklearn_KNeighborsClassifier.kneighbors,
|
|
166
171
|
},
|
|
167
172
|
X,
|
|
168
173
|
n_neighbors=n_neighbors,
|
|
@@ -219,8 +224,8 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, sklearn_KNeighborsClassifi
|
|
|
219
224
|
self.outputs_2d_ = self._onedal_estimator.outputs_2d_
|
|
220
225
|
self._tree = self._onedal_estimator._tree
|
|
221
226
|
|
|
222
|
-
fit.__doc__ =
|
|
223
|
-
predict.__doc__ =
|
|
224
|
-
predict_proba.__doc__ =
|
|
225
|
-
score.__doc__ =
|
|
226
|
-
kneighbors.__doc__ =
|
|
227
|
+
fit.__doc__ = _sklearn_KNeighborsClassifier.fit.__doc__
|
|
228
|
+
predict.__doc__ = _sklearn_KNeighborsClassifier.predict.__doc__
|
|
229
|
+
predict_proba.__doc__ = _sklearn_KNeighborsClassifier.predict_proba.__doc__
|
|
230
|
+
score.__doc__ = _sklearn_KNeighborsClassifier.score.__doc__
|
|
231
|
+
kneighbors.__doc__ = _sklearn_KNeighborsClassifier.kneighbors.__doc__
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
from sklearn.metrics import r2_score
|
|
18
18
|
from sklearn.neighbors._regression import (
|
|
19
|
-
KNeighborsRegressor as
|
|
19
|
+
KNeighborsRegressor as _sklearn_KNeighborsRegressor,
|
|
20
20
|
)
|
|
21
|
-
from sklearn.neighbors._unsupervised import NearestNeighbors as sklearn_NearestNeighbors
|
|
22
21
|
from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
|
|
23
22
|
|
|
24
23
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
@@ -28,13 +27,18 @@ from onedal.neighbors import KNeighborsRegressor as onedal_KNeighborsRegressor
|
|
|
28
27
|
from .._device_offload import dispatch, wrap_output_data
|
|
29
28
|
from .common import KNeighborsDispatchingBase
|
|
30
29
|
|
|
30
|
+
if sklearn_check_version("1.6"):
|
|
31
|
+
from sklearn.utils.validation import validate_data
|
|
32
|
+
else:
|
|
33
|
+
validate_data = _sklearn_KNeighborsRegressor._validate_data
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
|
|
36
|
+
@control_n_jobs(decorated_methods=["fit", "predict", "kneighbors", "score"])
|
|
37
|
+
class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegressor):
|
|
38
|
+
__doc__ = _sklearn_KNeighborsRegressor.__doc__
|
|
35
39
|
if sklearn_check_version("1.2"):
|
|
36
40
|
_parameter_constraints: dict = {
|
|
37
|
-
**
|
|
41
|
+
**_sklearn_KNeighborsRegressor._parameter_constraints
|
|
38
42
|
}
|
|
39
43
|
|
|
40
44
|
if sklearn_check_version("1.0"):
|
|
@@ -96,7 +100,7 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, sklearn_KNeighborsRegressor
|
|
|
96
100
|
"fit",
|
|
97
101
|
{
|
|
98
102
|
"onedal": self.__class__._onedal_fit,
|
|
99
|
-
"sklearn":
|
|
103
|
+
"sklearn": _sklearn_KNeighborsRegressor.fit,
|
|
100
104
|
},
|
|
101
105
|
X,
|
|
102
106
|
y,
|
|
@@ -113,7 +117,7 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, sklearn_KNeighborsRegressor
|
|
|
113
117
|
"predict",
|
|
114
118
|
{
|
|
115
119
|
"onedal": self.__class__._onedal_predict,
|
|
116
|
-
"sklearn":
|
|
120
|
+
"sklearn": _sklearn_KNeighborsRegressor.predict,
|
|
117
121
|
},
|
|
118
122
|
X,
|
|
119
123
|
)
|
|
@@ -128,7 +132,7 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, sklearn_KNeighborsRegressor
|
|
|
128
132
|
"score",
|
|
129
133
|
{
|
|
130
134
|
"onedal": self.__class__._onedal_score,
|
|
131
|
-
"sklearn":
|
|
135
|
+
"sklearn": _sklearn_KNeighborsRegressor.score,
|
|
132
136
|
},
|
|
133
137
|
X,
|
|
134
138
|
y,
|
|
@@ -145,7 +149,7 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, sklearn_KNeighborsRegressor
|
|
|
145
149
|
"kneighbors",
|
|
146
150
|
{
|
|
147
151
|
"onedal": self.__class__._onedal_kneighbors,
|
|
148
|
-
"sklearn":
|
|
152
|
+
"sklearn": _sklearn_KNeighborsRegressor.kneighbors,
|
|
149
153
|
},
|
|
150
154
|
X,
|
|
151
155
|
n_neighbors=n_neighbors,
|
|
@@ -197,7 +201,7 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, sklearn_KNeighborsRegressor
|
|
|
197
201
|
self._fit_method = self._onedal_estimator._fit_method
|
|
198
202
|
self._tree = self._onedal_estimator._tree
|
|
199
203
|
|
|
200
|
-
fit.__doc__ =
|
|
201
|
-
predict.__doc__ =
|
|
202
|
-
kneighbors.__doc__ =
|
|
203
|
-
score.__doc__ =
|
|
204
|
+
fit.__doc__ = _sklearn_KNeighborsRegressor.__doc__
|
|
205
|
+
predict.__doc__ = _sklearn_KNeighborsRegressor.predict.__doc__
|
|
206
|
+
kneighbors.__doc__ = _sklearn_KNeighborsRegressor.kneighbors.__doc__
|
|
207
|
+
score.__doc__ = _sklearn_KNeighborsRegressor.score.__doc__
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ===============================================================================
|
|
16
16
|
|
|
17
|
-
from sklearn.neighbors._unsupervised import NearestNeighbors as
|
|
17
|
+
from sklearn.neighbors._unsupervised import NearestNeighbors as _sklearn_NearestNeighbors
|
|
18
18
|
from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
|
|
19
19
|
|
|
20
20
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
@@ -24,12 +24,19 @@ from onedal.neighbors import NearestNeighbors as onedal_NearestNeighbors
|
|
|
24
24
|
from .._device_offload import dispatch, wrap_output_data
|
|
25
25
|
from .common import KNeighborsDispatchingBase
|
|
26
26
|
|
|
27
|
+
if sklearn_check_version("1.6"):
|
|
28
|
+
from sklearn.utils.validation import validate_data
|
|
29
|
+
else:
|
|
30
|
+
validate_data = _sklearn_NearestNeighbors._validate_data
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
|
|
33
|
+
@control_n_jobs(decorated_methods=["fit", "kneighbors", "radius_neighbors"])
|
|
34
|
+
class NearestNeighbors(KNeighborsDispatchingBase, _sklearn_NearestNeighbors):
|
|
35
|
+
__doc__ = _sklearn_NearestNeighbors.__doc__
|
|
31
36
|
if sklearn_check_version("1.2"):
|
|
32
|
-
_parameter_constraints: dict = {
|
|
37
|
+
_parameter_constraints: dict = {
|
|
38
|
+
**_sklearn_NearestNeighbors._parameter_constraints
|
|
39
|
+
}
|
|
33
40
|
|
|
34
41
|
@_deprecate_positional_args
|
|
35
42
|
def __init__(
|
|
@@ -60,7 +67,7 @@ class NearestNeighbors(KNeighborsDispatchingBase, sklearn_NearestNeighbors):
|
|
|
60
67
|
"fit",
|
|
61
68
|
{
|
|
62
69
|
"onedal": self.__class__._onedal_fit,
|
|
63
|
-
"sklearn":
|
|
70
|
+
"sklearn": _sklearn_NearestNeighbors.fit,
|
|
64
71
|
},
|
|
65
72
|
X,
|
|
66
73
|
None,
|
|
@@ -77,7 +84,7 @@ class NearestNeighbors(KNeighborsDispatchingBase, sklearn_NearestNeighbors):
|
|
|
77
84
|
"kneighbors",
|
|
78
85
|
{
|
|
79
86
|
"onedal": self.__class__._onedal_kneighbors,
|
|
80
|
-
"sklearn":
|
|
87
|
+
"sklearn": _sklearn_NearestNeighbors.kneighbors,
|
|
81
88
|
},
|
|
82
89
|
X,
|
|
83
90
|
n_neighbors=n_neighbors,
|
|
@@ -93,13 +100,14 @@ class NearestNeighbors(KNeighborsDispatchingBase, sklearn_NearestNeighbors):
|
|
|
93
100
|
or getattr(self, "_tree", 0) is None
|
|
94
101
|
and self._fit_method == "kd_tree"
|
|
95
102
|
):
|
|
96
|
-
|
|
103
|
+
_sklearn_NearestNeighbors.fit(self, self._fit_X, getattr(self, "_y", None))
|
|
104
|
+
check_is_fitted(self)
|
|
97
105
|
return dispatch(
|
|
98
106
|
self,
|
|
99
107
|
"radius_neighbors",
|
|
100
108
|
{
|
|
101
109
|
"onedal": None,
|
|
102
|
-
"sklearn":
|
|
110
|
+
"sklearn": _sklearn_NearestNeighbors.radius_neighbors,
|
|
103
111
|
},
|
|
104
112
|
X,
|
|
105
113
|
radius=radius,
|
|
@@ -115,7 +123,7 @@ class NearestNeighbors(KNeighborsDispatchingBase, sklearn_NearestNeighbors):
|
|
|
115
123
|
"radius_neighbors_graph",
|
|
116
124
|
{
|
|
117
125
|
"onedal": None,
|
|
118
|
-
"sklearn":
|
|
126
|
+
"sklearn": _sklearn_NearestNeighbors.radius_neighbors_graph,
|
|
119
127
|
},
|
|
120
128
|
X,
|
|
121
129
|
radius=radius,
|
|
@@ -162,9 +170,9 @@ class NearestNeighbors(KNeighborsDispatchingBase, sklearn_NearestNeighbors):
|
|
|
162
170
|
self._fit_method = self._onedal_estimator._fit_method
|
|
163
171
|
self._tree = self._onedal_estimator._tree
|
|
164
172
|
|
|
165
|
-
fit.__doc__ =
|
|
166
|
-
kneighbors.__doc__ =
|
|
167
|
-
radius_neighbors.__doc__ =
|
|
173
|
+
fit.__doc__ = _sklearn_NearestNeighbors.__doc__
|
|
174
|
+
kneighbors.__doc__ = _sklearn_NearestNeighbors.kneighbors.__doc__
|
|
175
|
+
radius_neighbors.__doc__ = _sklearn_NearestNeighbors.radius_neighbors.__doc__
|
|
168
176
|
radius_neighbors_graph.__doc__ = (
|
|
169
|
-
|
|
177
|
+
_sklearn_NearestNeighbors.radius_neighbors_graph.__doc__
|
|
170
178
|
)
|
|
@@ -52,20 +52,22 @@ def test_sklearnex_import_knn_regression(dataframe, queue):
|
|
|
52
52
|
assert_allclose(pred, 0.5)
|
|
53
53
|
|
|
54
54
|
|
|
55
|
+
@pytest.mark.parametrize("algorithm", ["auto", "brute"])
|
|
55
56
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
56
57
|
@pytest.mark.parametrize(
|
|
57
58
|
"estimator",
|
|
58
59
|
[LocalOutlierFactor, NearestNeighbors],
|
|
59
60
|
)
|
|
60
|
-
def test_sklearnex_kneighbors(estimator, dataframe, queue):
|
|
61
|
+
def test_sklearnex_kneighbors(algorithm, estimator, dataframe, queue):
|
|
61
62
|
X = [[0, 0, 2], [1, 0, 0], [0, 0, 1]]
|
|
62
63
|
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
63
64
|
test = _convert_to_dataframe([[0, 0, 1.3]], sycl_queue=queue, target_df=dataframe)
|
|
64
|
-
neigh = estimator(n_neighbors=2).fit(X)
|
|
65
|
+
neigh = estimator(n_neighbors=2, algorithm=algorithm).fit(X)
|
|
65
66
|
result = neigh.kneighbors(test, 2, return_distance=False)
|
|
66
67
|
result = _as_numpy(result)
|
|
67
68
|
assert "sklearnex" in neigh.__module__
|
|
68
69
|
assert_allclose(result, [[2, 0]])
|
|
70
|
+
result = neigh.kneighbors()
|
|
69
71
|
|
|
70
72
|
|
|
71
73
|
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|