scikit-learn-intelex 2024.4.0__py312-none-win_amd64.whl → 2025.10.0__py312-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +94 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +1199 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +211 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +425 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +252 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +245 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +565 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +528 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +333 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1285 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/linear_model/__init__.py +29 -28
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +826 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +269 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +290 -0
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +2 -2
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +561 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_enet.py +157 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +198 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +3 -3
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +432 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +259 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +4 -2
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +164 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +90 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +117 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +493 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +136 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +72 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +736 -0
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +80 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +772 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/__init__.py +151 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_config.py +80 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_device_offload.py +199 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +151 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +165 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +241 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +279 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +80 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +582 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +145 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_backend.py +258 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +148 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +148 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +121 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +151 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +190 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +158 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +64 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +63 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +131 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +686 -0
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +218 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +291 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/dummy.py +137 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +781 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +201 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +230 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +293 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +213 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +171 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +252 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/neighbors/__init__.py +19 -19
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +690 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +202 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/svm.py +592 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +352 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/test_common.py +71 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +179 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +94 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +98 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +213 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_third_party.py +220 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/validation.py +503 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__init__.py +7 -3
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_config.py +163 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +205 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_utils.py +219 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +241 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +128 -78
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +405 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +101 -32
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +38 -29
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +399 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +8 -6
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +157 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/conftest.py +20 -1
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +440 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +307 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +164 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +199 -21
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/__init__.py +19 -17
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/_dummy.py +615 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/tests/test_dummy.py +62 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +288 -440
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +196 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +17 -3
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +44 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +427 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +407 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +363 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +466 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +407 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +267 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +214 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +167 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +565 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +11 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +256 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +3 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +3 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +30 -62
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +56 -9
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +45 -101
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +63 -94
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +49 -25
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +6 -4
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +261 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +54 -8
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +390 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +24 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +117 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +314 -0
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +9 -4
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +108 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +180 -0
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +3 -4
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +24 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +120 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +200 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +23 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +6 -4
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +276 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +146 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +299 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +28 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +345 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +162 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +169 -0
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +1 -3
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +433 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +403 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +99 -117
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +55 -16
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +95 -113
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +51 -16
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +43 -20
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +607 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +256 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +335 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +5 -4
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +111 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +122 -75
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +335 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +420 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +217 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/class_weight.py +100 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_class_weight.py +69 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +212 -0
- scikit_learn_intelex-2025.10.0.dist-info/METADATA +182 -0
- scikit_learn_intelex-2025.10.0.dist-info/RECORD +267 -0
- {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/WHEEL +1 -1
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_config.py +0 -110
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -250
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_utils.py +0 -109
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -17
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -30
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +0 -130
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -143
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -335
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -56
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -113
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -316
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +0 -385
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -117
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -91
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -133
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +0 -185
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/_utils.py +0 -164
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -39
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -227
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -99
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability_tests.py +0 -428
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -20
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py +0 -97
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
- scikit_learn_intelex-2024.4.0.dist-info/METADATA +0 -230
- scikit_learn_intelex-2024.4.0.dist-info/RECORD +0 -101
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/top_level.txt +0 -0
scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
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 numpy as np
|
|
18
|
+
import pytest
|
|
19
|
+
import scipy.sparse as sp
|
|
20
|
+
from numpy.testing import assert_allclose
|
|
21
|
+
from sklearn.base import clone
|
|
22
|
+
from sklearn.datasets import load_iris
|
|
23
|
+
|
|
24
|
+
from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
|
|
25
|
+
from onedal.tests.utils._dataframes_support import (
|
|
26
|
+
_as_numpy,
|
|
27
|
+
_convert_to_dataframe,
|
|
28
|
+
get_dataframes_and_queues,
|
|
29
|
+
)
|
|
30
|
+
from sklearnex.decomposition import PCA
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@pytest.fixture
|
|
34
|
+
def hyperparameters(request):
|
|
35
|
+
hparams = PCA.get_hyperparameters("fit")
|
|
36
|
+
|
|
37
|
+
def restore_hyperparameters():
|
|
38
|
+
if daal_check_version((2025, "P", 700)):
|
|
39
|
+
PCA.reset_hyperparameters("fit")
|
|
40
|
+
|
|
41
|
+
request.addfinalizer(restore_hyperparameters)
|
|
42
|
+
return hparams
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
46
|
+
@pytest.mark.parametrize("macro_block", [None, 2])
|
|
47
|
+
@pytest.mark.parametrize("grain_size", [None, 2])
|
|
48
|
+
def test_sklearnex_import(hyperparameters, dataframe, queue, macro_block, grain_size):
|
|
49
|
+
|
|
50
|
+
X = [[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]
|
|
51
|
+
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
52
|
+
X_transformed_expected = [
|
|
53
|
+
[-1.38340578, -0.2935787],
|
|
54
|
+
[-2.22189802, 0.25133484],
|
|
55
|
+
[-3.6053038, -0.04224385],
|
|
56
|
+
[1.38340578, 0.2935787],
|
|
57
|
+
[2.22189802, -0.25133484],
|
|
58
|
+
[3.6053038, 0.04224385],
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
if daal_check_version((2025, "P", 700)):
|
|
62
|
+
if macro_block is not None:
|
|
63
|
+
if queue and queue.sycl_device.is_gpu:
|
|
64
|
+
pytest.skip("Test for CPU-only functionality")
|
|
65
|
+
hyperparameters.cpu_macro_block = macro_block
|
|
66
|
+
if grain_size is not None:
|
|
67
|
+
if queue and queue.sycl_device.is_gpu:
|
|
68
|
+
pytest.skip("Test for CPU-only functionality")
|
|
69
|
+
hyperparameters.cpu_grain_size = grain_size
|
|
70
|
+
|
|
71
|
+
pca = PCA(n_components=2, svd_solver="covariance_eigh")
|
|
72
|
+
|
|
73
|
+
pca.fit(X)
|
|
74
|
+
X_transformed = pca.transform(X)
|
|
75
|
+
X_fit_transformed = PCA(n_components=2, svd_solver="covariance_eigh").fit_transform(X)
|
|
76
|
+
|
|
77
|
+
if daal_check_version((2024, "P", 100)):
|
|
78
|
+
assert "sklearnex" in pca.__module__
|
|
79
|
+
assert hasattr(pca, "_onedal_estimator")
|
|
80
|
+
else:
|
|
81
|
+
assert "daal4py" in pca.__module__
|
|
82
|
+
|
|
83
|
+
tol = 1e-5 if _as_numpy(X_transformed).dtype == np.float32 else 1e-7
|
|
84
|
+
assert_allclose([6.30061232, 0.54980396], _as_numpy(pca.singular_values_))
|
|
85
|
+
assert_allclose(X_transformed_expected, _as_numpy(X_transformed), rtol=tol)
|
|
86
|
+
assert_allclose(X_transformed_expected, _as_numpy(X_fit_transformed), rtol=tol)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@pytest.mark.skipif(
|
|
90
|
+
not daal_check_version((2025, "P", 700)),
|
|
91
|
+
reason="Functionality introduced in a later version",
|
|
92
|
+
)
|
|
93
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
94
|
+
def test_non_batched_covariance(hyperparameters, dataframe, queue):
|
|
95
|
+
if queue and queue.sycl_device.is_gpu:
|
|
96
|
+
pytest.skip("Test for CPU-only functionality")
|
|
97
|
+
|
|
98
|
+
from sklearnex.decomposition import PCA
|
|
99
|
+
|
|
100
|
+
# This generates a random matrix with non-independent columns
|
|
101
|
+
rng = np.random.default_rng(seed=123)
|
|
102
|
+
S = rng.standard_normal(size=(6, 5))
|
|
103
|
+
S = S.T @ S
|
|
104
|
+
mu = rng.standard_normal(size=5)
|
|
105
|
+
X = rng.multivariate_normal(mu, S, size=20)
|
|
106
|
+
|
|
107
|
+
hyperparameters.cpu_max_cols_batched = np.iinfo(np.int32).max
|
|
108
|
+
res_batched = PCA().fit(X).components_
|
|
109
|
+
|
|
110
|
+
hyperparameters.cpu_max_cols_batched = 1
|
|
111
|
+
res_non_batched = PCA().fit(X).components_
|
|
112
|
+
|
|
113
|
+
assert_allclose(res_non_batched, res_batched)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues("numpy,dpctl"))
|
|
117
|
+
def test_changed_estimated_attributes(with_array_api, dataframe, queue):
|
|
118
|
+
# check that attributes necessary for the PCA onedal estimator match
|
|
119
|
+
# changes occurring in the sklearnex estimator
|
|
120
|
+
X, y = load_iris(return_X_y=True)
|
|
121
|
+
|
|
122
|
+
X_0 = _convert_to_dataframe(X[y == 0], sycl_queue=queue, target_df=dataframe)
|
|
123
|
+
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
124
|
+
|
|
125
|
+
est0 = PCA(n_components=4).fit(X_0)
|
|
126
|
+
est = clone(est0)
|
|
127
|
+
assert not hasattr(est, "_onedal_estimator")
|
|
128
|
+
est.fit(X)
|
|
129
|
+
assert not np.array_equal(_as_numpy(est.transform(X)), _as_numpy(est0.transform(X)))
|
|
130
|
+
|
|
131
|
+
# copy over parameters necessary for transform
|
|
132
|
+
est.mean_ = est0.mean_
|
|
133
|
+
est.components_ = est0.components_
|
|
134
|
+
est.explained_variance_ = est0.explained_variance_
|
|
135
|
+
est.n_components_ = est0.n_components_ # is trivial but exercises the logic
|
|
136
|
+
|
|
137
|
+
assert np.array_equal(_as_numpy(est.transform(X)), _as_numpy(est0.transform(X)))
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
@pytest.mark.skipif(
|
|
141
|
+
not sklearn_check_version("1.5"),
|
|
142
|
+
reason='svd_solver="auto" does not support sparse inputs',
|
|
143
|
+
)
|
|
144
|
+
@pytest.mark.allow_sklearn_fallback
|
|
145
|
+
def test_create_model_behavior():
|
|
146
|
+
# verify that fit fallbacks does not break ``transform`` as the oneDAL
|
|
147
|
+
# model is generated JIT
|
|
148
|
+
|
|
149
|
+
X, _ = load_iris(return_X_y=True)
|
|
150
|
+
# generate a onedal estimator
|
|
151
|
+
est = PCA(n_components=3)
|
|
152
|
+
X_trans = est.fit_transform(X)
|
|
153
|
+
|
|
154
|
+
# force data to sparse for a fallback to sklearn
|
|
155
|
+
X_sp = sp.csr_matrix(X)
|
|
156
|
+
est.fit(X_sp)
|
|
157
|
+
# In the case of a fallback, the model should be set to none by clobbered
|
|
158
|
+
# fitted attributes
|
|
159
|
+
assert est._onedal_estimator._onedal_model is None
|
|
160
|
+
|
|
161
|
+
X_trans_sparse = est.transform(X)
|
|
162
|
+
# use allclose as data was fit with sklearn and onedal on the same data
|
|
163
|
+
# but using different backends
|
|
164
|
+
assert_allclose(X_trans, X_trans_sparse)
|
|
@@ -45,26 +45,19 @@ def get_patch_map_core(preview=False):
|
|
|
45
45
|
|
|
46
46
|
if _is_new_patching_available():
|
|
47
47
|
import sklearn.covariance as covariance_module
|
|
48
|
+
import sklearn.decomposition as decomposition_module
|
|
48
49
|
|
|
49
50
|
# Preview classes for patching
|
|
50
|
-
from .preview.cluster import KMeans as KMeans_sklearnex
|
|
51
51
|
from .preview.covariance import (
|
|
52
52
|
EmpiricalCovariance as EmpiricalCovariance_sklearnex,
|
|
53
53
|
)
|
|
54
|
+
from .preview.decomposition import IncrementalPCA as IncrementalPCA_sklearnex
|
|
54
55
|
|
|
55
56
|
# Since the state of the lru_cache without preview cannot be
|
|
56
57
|
# guaranteed to not have already enabled sklearnex algorithms
|
|
57
58
|
# when preview is used, setting the mapping element[1] to None
|
|
58
59
|
# should NOT be done. This may lose track of the unpatched
|
|
59
60
|
# sklearn estimator or function.
|
|
60
|
-
# KMeans
|
|
61
|
-
cluster_module, _, _ = mapping["kmeans"][0][0]
|
|
62
|
-
sklearn_obj = mapping["kmeans"][0][1]
|
|
63
|
-
mapping.pop("kmeans")
|
|
64
|
-
mapping["kmeans"] = [
|
|
65
|
-
[(cluster_module, "kmeans", KMeans_sklearnex), sklearn_obj]
|
|
66
|
-
]
|
|
67
|
-
|
|
68
61
|
# Covariance
|
|
69
62
|
mapping["empiricalcovariance"] = [
|
|
70
63
|
[
|
|
@@ -76,6 +69,19 @@ def get_patch_map_core(preview=False):
|
|
|
76
69
|
None,
|
|
77
70
|
]
|
|
78
71
|
]
|
|
72
|
+
|
|
73
|
+
# IncrementalPCA
|
|
74
|
+
mapping["incrementalpca"] = [
|
|
75
|
+
[
|
|
76
|
+
(
|
|
77
|
+
decomposition_module,
|
|
78
|
+
"IncrementalPCA",
|
|
79
|
+
IncrementalPCA_sklearnex,
|
|
80
|
+
),
|
|
81
|
+
None,
|
|
82
|
+
]
|
|
83
|
+
]
|
|
84
|
+
|
|
79
85
|
return mapping
|
|
80
86
|
|
|
81
87
|
from daal4py.sklearn.monkeypatch.dispatcher import _get_map_of_algorithms
|
|
@@ -93,9 +99,19 @@ def get_patch_map_core(preview=False):
|
|
|
93
99
|
# Scikit-learn* modules
|
|
94
100
|
import sklearn as base_module
|
|
95
101
|
import sklearn.cluster as cluster_module
|
|
102
|
+
import sklearn.covariance as covariance_module
|
|
96
103
|
import sklearn.decomposition as decomposition_module
|
|
104
|
+
import sklearn.dummy as dummy_module
|
|
97
105
|
import sklearn.ensemble as ensemble_module
|
|
106
|
+
|
|
107
|
+
if sklearn_check_version("1.4"):
|
|
108
|
+
import sklearn.ensemble._gb as _gb_module
|
|
109
|
+
else:
|
|
110
|
+
import sklearn.ensemble._gb_losses as _gb_module
|
|
98
111
|
import sklearn.linear_model as linear_model_module
|
|
112
|
+
import sklearn.manifold as manifold_module
|
|
113
|
+
import sklearn.metrics as metrics_module
|
|
114
|
+
import sklearn.model_selection as model_selection_module
|
|
99
115
|
import sklearn.neighbors as neighbors_module
|
|
100
116
|
import sklearn.svm as svm_module
|
|
101
117
|
|
|
@@ -108,20 +124,30 @@ def get_patch_map_core(preview=False):
|
|
|
108
124
|
from ._config import config_context as config_context_sklearnex
|
|
109
125
|
from ._config import get_config as get_config_sklearnex
|
|
110
126
|
from ._config import set_config as set_config_sklearnex
|
|
111
|
-
|
|
112
|
-
if sklearn_check_version("1.2.1"):
|
|
113
|
-
from .utils.parallel import _FuncWrapper as _FuncWrapper_sklearnex
|
|
114
|
-
else:
|
|
115
|
-
from .utils.parallel import _FuncWrapperOld as _FuncWrapper_sklearnex
|
|
116
|
-
|
|
117
127
|
from .cluster import DBSCAN as DBSCAN_sklearnex
|
|
128
|
+
from .cluster import KMeans as KMeans_sklearnex
|
|
129
|
+
from .covariance import (
|
|
130
|
+
IncrementalEmpiricalCovariance as IncrementalEmpiricalCovariance_sklearnex,
|
|
131
|
+
)
|
|
118
132
|
from .decomposition import PCA as PCA_sklearnex
|
|
133
|
+
from .dummy import DummyRegressor as DummyRegressor_sklearnex
|
|
119
134
|
from .ensemble import ExtraTreesClassifier as ExtraTreesClassifier_sklearnex
|
|
120
135
|
from .ensemble import ExtraTreesRegressor as ExtraTreesRegressor_sklearnex
|
|
121
136
|
from .ensemble import RandomForestClassifier as RandomForestClassifier_sklearnex
|
|
122
137
|
from .ensemble import RandomForestRegressor as RandomForestRegressor_sklearnex
|
|
138
|
+
from .linear_model import ElasticNet as ElasticNet_sklearnex
|
|
139
|
+
from .linear_model import (
|
|
140
|
+
IncrementalLinearRegression as IncrementalLinearRegression_sklearnex,
|
|
141
|
+
)
|
|
142
|
+
from .linear_model import IncrementalRidge as IncrementalRidge_sklearnex
|
|
143
|
+
from .linear_model import Lasso as Lasso_sklearnex
|
|
123
144
|
from .linear_model import LinearRegression as LinearRegression_sklearnex
|
|
124
145
|
from .linear_model import LogisticRegression as LogisticRegression_sklearnex
|
|
146
|
+
from .linear_model import Ridge as Ridge_sklearnex
|
|
147
|
+
from .manifold import TSNE as TSNE_sklearnex
|
|
148
|
+
from .metrics import pairwise_distances as pairwise_distances_sklearnex
|
|
149
|
+
from .metrics import roc_auc_score as roc_auc_score_sklearnex
|
|
150
|
+
from .model_selection import train_test_split as train_test_split_sklearnex
|
|
125
151
|
from .neighbors import KNeighborsClassifier as KNeighborsClassifier_sklearnex
|
|
126
152
|
from .neighbors import KNeighborsRegressor as KNeighborsRegressor_sklearnex
|
|
127
153
|
from .neighbors import LocalOutlierFactor as LocalOutlierFactor_sklearnex
|
|
@@ -130,11 +156,16 @@ def get_patch_map_core(preview=False):
|
|
|
130
156
|
from .svm import SVR as SVR_sklearnex
|
|
131
157
|
from .svm import NuSVC as NuSVC_sklearnex
|
|
132
158
|
from .svm import NuSVR as NuSVR_sklearnex
|
|
159
|
+
from .utils.parallel import _FuncWrapper as _FuncWrapper_sklearnex
|
|
133
160
|
|
|
134
161
|
# DBSCAN
|
|
135
162
|
mapping.pop("dbscan")
|
|
136
163
|
mapping["dbscan"] = [[(cluster_module, "DBSCAN", DBSCAN_sklearnex), None]]
|
|
137
164
|
|
|
165
|
+
# KMeans
|
|
166
|
+
mapping.pop("kmeans")
|
|
167
|
+
mapping["kmeans"] = [[(cluster_module, "KMeans", KMeans_sklearnex), None]]
|
|
168
|
+
|
|
138
169
|
# PCA
|
|
139
170
|
mapping.pop("pca")
|
|
140
171
|
mapping["pca"] = [[(decomposition_module, "PCA", PCA_sklearnex), None]]
|
|
@@ -147,6 +178,32 @@ def get_patch_map_core(preview=False):
|
|
|
147
178
|
mapping["nusvr"] = [[(svm_module, "NuSVR", NuSVR_sklearnex), None]]
|
|
148
179
|
mapping["nusvc"] = [[(svm_module, "NuSVC", NuSVC_sklearnex), None]]
|
|
149
180
|
|
|
181
|
+
# ElasticNet
|
|
182
|
+
mapping.pop("elasticnet")
|
|
183
|
+
mapping["elasticnet"] = [
|
|
184
|
+
[
|
|
185
|
+
(
|
|
186
|
+
linear_model_module,
|
|
187
|
+
"ElasticNet",
|
|
188
|
+
ElasticNet_sklearnex,
|
|
189
|
+
),
|
|
190
|
+
None,
|
|
191
|
+
]
|
|
192
|
+
]
|
|
193
|
+
|
|
194
|
+
# Lasso
|
|
195
|
+
mapping.pop("lasso")
|
|
196
|
+
mapping["lasso"] = [
|
|
197
|
+
[
|
|
198
|
+
(
|
|
199
|
+
linear_model_module,
|
|
200
|
+
"Lasso",
|
|
201
|
+
Lasso_sklearnex,
|
|
202
|
+
),
|
|
203
|
+
None,
|
|
204
|
+
]
|
|
205
|
+
]
|
|
206
|
+
|
|
150
207
|
# Linear Regression
|
|
151
208
|
mapping.pop("linear")
|
|
152
209
|
mapping.pop("linearregression")
|
|
@@ -180,6 +237,54 @@ def get_patch_map_core(preview=False):
|
|
|
180
237
|
]
|
|
181
238
|
mapping["logisticregression"] = mapping["log_reg"]
|
|
182
239
|
|
|
240
|
+
# Ridge
|
|
241
|
+
mapping.pop("ridge")
|
|
242
|
+
mapping["ridge"] = [
|
|
243
|
+
[
|
|
244
|
+
(
|
|
245
|
+
linear_model_module,
|
|
246
|
+
"Ridge",
|
|
247
|
+
Ridge_sklearnex,
|
|
248
|
+
),
|
|
249
|
+
None,
|
|
250
|
+
]
|
|
251
|
+
]
|
|
252
|
+
|
|
253
|
+
# manifold
|
|
254
|
+
mapping.pop("tsne")
|
|
255
|
+
mapping["tsne"] = [
|
|
256
|
+
[
|
|
257
|
+
(manifold_module, "TSNE", TSNE_sklearnex),
|
|
258
|
+
None,
|
|
259
|
+
]
|
|
260
|
+
]
|
|
261
|
+
|
|
262
|
+
# metrics
|
|
263
|
+
mapping.pop("distances")
|
|
264
|
+
mapping.pop("roc_auc_score")
|
|
265
|
+
mapping["distances"] = [
|
|
266
|
+
[
|
|
267
|
+
(metrics_module, "pairwise_distances", pairwise_distances_sklearnex),
|
|
268
|
+
None,
|
|
269
|
+
]
|
|
270
|
+
]
|
|
271
|
+
mapping["pairwise_distances"] = mapping["distances"]
|
|
272
|
+
mapping["roc_auc_score"] = [
|
|
273
|
+
[
|
|
274
|
+
(metrics_module, "roc_auc_score", roc_auc_score_sklearnex),
|
|
275
|
+
None,
|
|
276
|
+
]
|
|
277
|
+
]
|
|
278
|
+
|
|
279
|
+
# model_selection
|
|
280
|
+
mapping.pop("train_test_split")
|
|
281
|
+
mapping["train_test_split"] = [
|
|
282
|
+
[
|
|
283
|
+
(model_selection_module, "train_test_split", train_test_split_sklearnex),
|
|
284
|
+
None,
|
|
285
|
+
]
|
|
286
|
+
]
|
|
287
|
+
|
|
183
288
|
# kNN
|
|
184
289
|
mapping.pop("knn_classifier")
|
|
185
290
|
mapping.pop("kneighborsclassifier")
|
|
@@ -273,6 +378,68 @@ def get_patch_map_core(preview=False):
|
|
|
273
378
|
]
|
|
274
379
|
mapping["localoutlierfactor"] = mapping["lof"]
|
|
275
380
|
|
|
381
|
+
# IncrementalEmpiricalCovariance
|
|
382
|
+
mapping["incrementalempiricalcovariance"] = [
|
|
383
|
+
[
|
|
384
|
+
(
|
|
385
|
+
covariance_module,
|
|
386
|
+
"IncrementalEmpiricalCovariance",
|
|
387
|
+
IncrementalEmpiricalCovariance_sklearnex,
|
|
388
|
+
),
|
|
389
|
+
None,
|
|
390
|
+
]
|
|
391
|
+
]
|
|
392
|
+
|
|
393
|
+
# IncrementalLinearRegression
|
|
394
|
+
mapping["incrementallinearregression"] = [
|
|
395
|
+
[
|
|
396
|
+
(
|
|
397
|
+
linear_model_module,
|
|
398
|
+
"IncrementalLinearRegression",
|
|
399
|
+
IncrementalLinearRegression_sklearnex,
|
|
400
|
+
),
|
|
401
|
+
None,
|
|
402
|
+
]
|
|
403
|
+
]
|
|
404
|
+
|
|
405
|
+
if daal_check_version((2024, "P", 600)):
|
|
406
|
+
# IncrementalRidge
|
|
407
|
+
mapping["incrementalridge"] = [
|
|
408
|
+
[
|
|
409
|
+
(
|
|
410
|
+
linear_model_module,
|
|
411
|
+
"IncrementalRidge",
|
|
412
|
+
IncrementalRidge_sklearnex,
|
|
413
|
+
),
|
|
414
|
+
None,
|
|
415
|
+
]
|
|
416
|
+
]
|
|
417
|
+
|
|
418
|
+
# DummyRegressor
|
|
419
|
+
mapping["dummyregressor"] = [
|
|
420
|
+
[
|
|
421
|
+
(
|
|
422
|
+
dummy_module,
|
|
423
|
+
"DummyRegressor",
|
|
424
|
+
DummyRegressor_sklearnex,
|
|
425
|
+
),
|
|
426
|
+
None,
|
|
427
|
+
]
|
|
428
|
+
]
|
|
429
|
+
|
|
430
|
+
# Required patching of DummyRegressor in the gradient boosting
|
|
431
|
+
# module as it is used in the GradientBoosting algorithms
|
|
432
|
+
mapping["gb_dummyregressor"] = [
|
|
433
|
+
[
|
|
434
|
+
(
|
|
435
|
+
_gb_module,
|
|
436
|
+
"DummyRegressor",
|
|
437
|
+
DummyRegressor_sklearnex,
|
|
438
|
+
),
|
|
439
|
+
None,
|
|
440
|
+
]
|
|
441
|
+
]
|
|
442
|
+
|
|
276
443
|
# Configs
|
|
277
444
|
mapping["set_config"] = [
|
|
278
445
|
[(base_module, "set_config", set_config_sklearnex), None]
|
|
@@ -314,10 +481,10 @@ def get_patch_names():
|
|
|
314
481
|
def patch_sklearn(name=None, verbose=True, global_patch=False, preview=False):
|
|
315
482
|
if preview:
|
|
316
483
|
os.environ["SKLEARNEX_PREVIEW"] = "enabled_via_patch_sklearn"
|
|
317
|
-
if not sklearn_check_version("0
|
|
484
|
+
if not sklearn_check_version("1.0"):
|
|
318
485
|
raise NotImplementedError(
|
|
319
|
-
"
|
|
320
|
-
"for scikit-learn >= 0
|
|
486
|
+
"Extension for Scikit-learn* patches apply "
|
|
487
|
+
"for scikit-learn >= 1.0 only ..."
|
|
321
488
|
)
|
|
322
489
|
|
|
323
490
|
if global_patch:
|
|
@@ -342,8 +509,8 @@ def patch_sklearn(name=None, verbose=True, global_patch=False, preview=False):
|
|
|
342
509
|
|
|
343
510
|
if verbose and sys.stderr is not None:
|
|
344
511
|
sys.stderr.write(
|
|
345
|
-
"
|
|
346
|
-
"(https://github.com/
|
|
512
|
+
"Extension for Scikit-learn* enabled "
|
|
513
|
+
"(https://github.com/uxlfoundation/scikit-learn-intelex)\n"
|
|
347
514
|
)
|
|
348
515
|
|
|
349
516
|
|
|
@@ -389,6 +556,17 @@ def sklearn_is_patched(name=None, return_map=False):
|
|
|
389
556
|
|
|
390
557
|
|
|
391
558
|
def is_patched_instance(instance: object) -> bool:
|
|
392
|
-
"""
|
|
559
|
+
"""Check if given instance is patched with scikit-learn-intelex.
|
|
560
|
+
|
|
561
|
+
Parameters
|
|
562
|
+
----------
|
|
563
|
+
instance : object
|
|
564
|
+
Python object, usually a scikit-learn estimator instance.
|
|
565
|
+
|
|
566
|
+
Returns
|
|
567
|
+
-------
|
|
568
|
+
Check : bool
|
|
569
|
+
Boolean whether instance is a daal4py or sklearnex estimator.
|
|
570
|
+
"""
|
|
393
571
|
module = getattr(instance, "__module__", "")
|
|
394
572
|
return ("daal4py" in module) or ("sklearnex" in module)
|