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
|
@@ -14,35 +14,39 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
+
from functools import wraps
|
|
18
|
+
|
|
17
19
|
import numpy as np
|
|
18
20
|
from scipy import sparse as sp
|
|
19
21
|
from sklearn.exceptions import NotFittedError
|
|
20
22
|
from sklearn.metrics import accuracy_score
|
|
21
|
-
from sklearn.svm import SVC as
|
|
22
|
-
from sklearn.utils.
|
|
23
|
+
from sklearn.svm import SVC as _sklearn_SVC
|
|
24
|
+
from sklearn.utils.metaestimators import available_if
|
|
25
|
+
from sklearn.utils.validation import (
|
|
26
|
+
_deprecate_positional_args,
|
|
27
|
+
check_array,
|
|
28
|
+
check_is_fitted,
|
|
29
|
+
)
|
|
23
30
|
|
|
24
31
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
25
32
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
26
|
-
from
|
|
33
|
+
from onedal.svm import SVC as onedal_SVC
|
|
27
34
|
|
|
28
35
|
from .._device_offload import dispatch, wrap_output_data
|
|
29
36
|
from .._utils import PatchingConditionsChain
|
|
37
|
+
from ..utils._array_api import get_namespace
|
|
38
|
+
from ..utils.validation import validate_data
|
|
30
39
|
from ._common import BaseSVC
|
|
31
40
|
|
|
32
|
-
if sklearn_check_version("1.0"):
|
|
33
|
-
from sklearn.utils.metaestimators import available_if
|
|
34
|
-
|
|
35
|
-
from onedal.svm import SVC as onedal_SVC
|
|
36
|
-
|
|
37
41
|
|
|
38
42
|
@control_n_jobs(
|
|
39
43
|
decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
|
|
40
44
|
)
|
|
41
|
-
class SVC(
|
|
42
|
-
__doc__ =
|
|
45
|
+
class SVC(BaseSVC, _sklearn_SVC):
|
|
46
|
+
__doc__ = _sklearn_SVC.__doc__
|
|
43
47
|
|
|
44
48
|
if sklearn_check_version("1.2"):
|
|
45
|
-
_parameter_constraints: dict = {**
|
|
49
|
+
_parameter_constraints: dict = {**_sklearn_SVC._parameter_constraints}
|
|
46
50
|
|
|
47
51
|
@_deprecate_positional_args
|
|
48
52
|
def __init__(
|
|
@@ -85,161 +89,98 @@ class SVC(sklearn_SVC, BaseSVC):
|
|
|
85
89
|
def fit(self, X, y, sample_weight=None):
|
|
86
90
|
if sklearn_check_version("1.2"):
|
|
87
91
|
self._validate_params()
|
|
88
|
-
|
|
89
|
-
|
|
92
|
+
elif self.C <= 0:
|
|
93
|
+
# else if added to correct issues with
|
|
94
|
+
# sklearn tests:
|
|
95
|
+
# svm/tests/test_sparse.py::test_error
|
|
96
|
+
# svm/tests/test_svm.py::test_bad_input
|
|
97
|
+
# for sklearn versions < 1.2 (i.e. without
|
|
98
|
+
# validate_params parameter checking)
|
|
99
|
+
# Without this, a segmentation fault with
|
|
100
|
+
# Windows fatal exception: access violation
|
|
101
|
+
# occurs
|
|
102
|
+
raise ValueError("C <= 0")
|
|
90
103
|
dispatch(
|
|
91
104
|
self,
|
|
92
105
|
"fit",
|
|
93
106
|
{
|
|
94
107
|
"onedal": self.__class__._onedal_fit,
|
|
95
|
-
"sklearn":
|
|
108
|
+
"sklearn": _sklearn_SVC.fit,
|
|
96
109
|
},
|
|
97
110
|
X,
|
|
98
111
|
y,
|
|
99
|
-
sample_weight,
|
|
112
|
+
sample_weight=sample_weight,
|
|
100
113
|
)
|
|
114
|
+
|
|
101
115
|
return self
|
|
102
116
|
|
|
103
117
|
@wrap_output_data
|
|
104
118
|
def predict(self, X):
|
|
105
|
-
|
|
106
|
-
self._check_feature_names(X, reset=False)
|
|
119
|
+
check_is_fitted(self)
|
|
107
120
|
return dispatch(
|
|
108
121
|
self,
|
|
109
122
|
"predict",
|
|
110
123
|
{
|
|
111
124
|
"onedal": self.__class__._onedal_predict,
|
|
112
|
-
"sklearn":
|
|
125
|
+
"sklearn": _sklearn_SVC.predict,
|
|
113
126
|
},
|
|
114
127
|
X,
|
|
115
128
|
)
|
|
116
129
|
|
|
117
130
|
@wrap_output_data
|
|
118
131
|
def score(self, X, y, sample_weight=None):
|
|
119
|
-
|
|
120
|
-
self._check_feature_names(X, reset=False)
|
|
132
|
+
check_is_fitted(self)
|
|
121
133
|
return dispatch(
|
|
122
134
|
self,
|
|
123
135
|
"score",
|
|
124
136
|
{
|
|
125
137
|
"onedal": self.__class__._onedal_score,
|
|
126
|
-
"sklearn":
|
|
138
|
+
"sklearn": _sklearn_SVC.score,
|
|
127
139
|
},
|
|
128
140
|
X,
|
|
129
141
|
y,
|
|
130
142
|
sample_weight=sample_weight,
|
|
131
143
|
)
|
|
132
144
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
Compute probabilities of possible outcomes for samples in X.
|
|
139
|
-
|
|
140
|
-
The model need to have probability information computed at training
|
|
141
|
-
time: fit with attribute `probability` set to True.
|
|
142
|
-
|
|
143
|
-
Parameters
|
|
144
|
-
----------
|
|
145
|
-
X : array-like of shape (n_samples, n_features)
|
|
146
|
-
For kernel="precomputed", the expected shape of X is
|
|
147
|
-
(n_samples_test, n_samples_train).
|
|
148
|
-
|
|
149
|
-
Returns
|
|
150
|
-
-------
|
|
151
|
-
T : ndarray of shape (n_samples, n_classes)
|
|
152
|
-
Returns the probability of the sample for each class in
|
|
153
|
-
the model. The columns correspond to the classes in sorted
|
|
154
|
-
order, as they appear in the attribute :term:`classes_`.
|
|
155
|
-
|
|
156
|
-
Notes
|
|
157
|
-
-----
|
|
158
|
-
The probability model is created using cross validation, so
|
|
159
|
-
the results can be slightly different than those obtained by
|
|
160
|
-
predict. Also, it will produce meaningless results on very small
|
|
161
|
-
datasets.
|
|
162
|
-
"""
|
|
163
|
-
return self._predict_proba(X)
|
|
164
|
-
|
|
165
|
-
@available_if(sklearn_SVC._check_proba)
|
|
166
|
-
def predict_log_proba(self, X):
|
|
167
|
-
"""Compute log probabilities of possible outcomes for samples in X.
|
|
168
|
-
|
|
169
|
-
The model need to have probability information computed at training
|
|
170
|
-
time: fit with attribute `probability` set to True.
|
|
171
|
-
|
|
172
|
-
Parameters
|
|
173
|
-
----------
|
|
174
|
-
X : array-like of shape (n_samples, n_features) or \
|
|
175
|
-
(n_samples_test, n_samples_train)
|
|
176
|
-
For kernel="precomputed", the expected shape of X is
|
|
177
|
-
(n_samples_test, n_samples_train).
|
|
178
|
-
|
|
179
|
-
Returns
|
|
180
|
-
-------
|
|
181
|
-
T : ndarray of shape (n_samples, n_classes)
|
|
182
|
-
Returns the log-probabilities of the sample for each class in
|
|
183
|
-
the model. The columns correspond to the classes in sorted
|
|
184
|
-
order, as they appear in the attribute :term:`classes_`.
|
|
145
|
+
@available_if(_sklearn_SVC._check_proba)
|
|
146
|
+
@wraps(_sklearn_SVC.predict_proba, assigned=["__doc__"])
|
|
147
|
+
def predict_proba(self, X):
|
|
148
|
+
check_is_fitted(self)
|
|
149
|
+
return self._predict_proba(X)
|
|
185
150
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
predict. Also, it will produce meaningless results on very small
|
|
191
|
-
datasets.
|
|
192
|
-
"""
|
|
193
|
-
xp, _ = get_namespace(X)
|
|
151
|
+
@available_if(_sklearn_SVC._check_proba)
|
|
152
|
+
@wraps(_sklearn_SVC.predict_log_proba, assigned=["__doc__"])
|
|
153
|
+
def predict_log_proba(self, X):
|
|
154
|
+
xp, _ = get_namespace(X)
|
|
194
155
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
else:
|
|
198
|
-
|
|
199
|
-
@property
|
|
200
|
-
def predict_proba(self):
|
|
201
|
-
self._check_proba()
|
|
202
|
-
return self._predict_proba
|
|
203
|
-
|
|
204
|
-
def _predict_log_proba(self, X):
|
|
205
|
-
xp, _ = get_namespace(X)
|
|
206
|
-
return xp.log(self.predict_proba(X))
|
|
207
|
-
|
|
208
|
-
predict_proba.__doc__ = sklearn_SVC.predict_proba.__doc__
|
|
156
|
+
return xp.log(self.predict_proba(X))
|
|
209
157
|
|
|
210
158
|
@wrap_output_data
|
|
211
159
|
def _predict_proba(self, X):
|
|
212
|
-
sklearn_pred_proba = (
|
|
213
|
-
sklearn_SVC.predict_proba
|
|
214
|
-
if sklearn_check_version("1.0")
|
|
215
|
-
else sklearn_SVC._predict_proba
|
|
216
|
-
)
|
|
217
|
-
|
|
218
160
|
return dispatch(
|
|
219
161
|
self,
|
|
220
162
|
"predict_proba",
|
|
221
163
|
{
|
|
222
164
|
"onedal": self.__class__._onedal_predict_proba,
|
|
223
|
-
"sklearn":
|
|
165
|
+
"sklearn": _sklearn_SVC.predict_proba,
|
|
224
166
|
},
|
|
225
167
|
X,
|
|
226
168
|
)
|
|
227
169
|
|
|
228
170
|
@wrap_output_data
|
|
229
171
|
def decision_function(self, X):
|
|
230
|
-
|
|
231
|
-
self._check_feature_names(X, reset=False)
|
|
172
|
+
check_is_fitted(self)
|
|
232
173
|
return dispatch(
|
|
233
174
|
self,
|
|
234
175
|
"decision_function",
|
|
235
176
|
{
|
|
236
177
|
"onedal": self.__class__._onedal_decision_function,
|
|
237
|
-
"sklearn":
|
|
178
|
+
"sklearn": _sklearn_SVC.decision_function,
|
|
238
179
|
},
|
|
239
180
|
X,
|
|
240
181
|
)
|
|
241
182
|
|
|
242
|
-
decision_function.__doc__ =
|
|
183
|
+
decision_function.__doc__ = _sklearn_SVC.decision_function.__doc__
|
|
243
184
|
|
|
244
185
|
def _onedal_gpu_supported(self, method_name, *data):
|
|
245
186
|
class_name = self.__class__.__name__
|
|
@@ -270,12 +211,30 @@ class SVC(sklearn_SVC, BaseSVC):
|
|
|
270
211
|
return patching_status
|
|
271
212
|
raise RuntimeError(f"Unknown method {method_name} in {class_name}")
|
|
272
213
|
|
|
214
|
+
def _get_sample_weight(self, X, y, sample_weight=None):
|
|
215
|
+
sample_weight = super()._get_sample_weight(X, y, sample_weight)
|
|
216
|
+
if sample_weight is None:
|
|
217
|
+
return sample_weight
|
|
218
|
+
|
|
219
|
+
if np.any(sample_weight <= 0) and len(np.unique(y[sample_weight > 0])) != len(
|
|
220
|
+
self.classes_
|
|
221
|
+
):
|
|
222
|
+
raise ValueError(
|
|
223
|
+
"Invalid input - all samples with positive weights "
|
|
224
|
+
"belong to the same class"
|
|
225
|
+
if sklearn_check_version("1.2")
|
|
226
|
+
else "Invalid input - all samples with positive weights "
|
|
227
|
+
"have the same label."
|
|
228
|
+
)
|
|
229
|
+
return sample_weight
|
|
230
|
+
|
|
273
231
|
def _onedal_fit(self, X, y, sample_weight=None, queue=None):
|
|
232
|
+
X, _, weights = self._onedal_fit_checks(X, y, sample_weight)
|
|
274
233
|
onedal_params = {
|
|
275
234
|
"C": self.C,
|
|
276
235
|
"kernel": self.kernel,
|
|
277
236
|
"degree": self.degree,
|
|
278
|
-
"gamma": self.
|
|
237
|
+
"gamma": self._compute_gamma_sigma(X),
|
|
279
238
|
"coef0": self.coef0,
|
|
280
239
|
"tol": self.tol,
|
|
281
240
|
"shrinking": self.shrinking,
|
|
@@ -287,13 +246,28 @@ class SVC(sklearn_SVC, BaseSVC):
|
|
|
287
246
|
}
|
|
288
247
|
|
|
289
248
|
self._onedal_estimator = onedal_SVC(**onedal_params)
|
|
290
|
-
self._onedal_estimator.fit(X, y,
|
|
249
|
+
self._onedal_estimator.fit(X, y, weights, queue=queue)
|
|
291
250
|
|
|
292
251
|
if self.probability:
|
|
293
|
-
self._fit_proba(
|
|
252
|
+
self._fit_proba(
|
|
253
|
+
X,
|
|
254
|
+
y,
|
|
255
|
+
sample_weight=sample_weight,
|
|
256
|
+
queue=queue,
|
|
257
|
+
)
|
|
258
|
+
|
|
294
259
|
self._save_attributes()
|
|
295
260
|
|
|
296
261
|
def _onedal_predict(self, X, queue=None):
|
|
262
|
+
X = validate_data(
|
|
263
|
+
self,
|
|
264
|
+
X,
|
|
265
|
+
dtype=[np.float64, np.float32],
|
|
266
|
+
ensure_all_finite=False,
|
|
267
|
+
ensure_2d=False,
|
|
268
|
+
accept_sparse="csr",
|
|
269
|
+
reset=False,
|
|
270
|
+
)
|
|
297
271
|
return self._onedal_estimator.predict(X, queue=queue)
|
|
298
272
|
|
|
299
273
|
def _onedal_predict_proba(self, X, queue=None):
|
|
@@ -311,6 +285,14 @@ class SVC(sklearn_SVC, BaseSVC):
|
|
|
311
285
|
return self.clf_prob.predict_proba(X)
|
|
312
286
|
|
|
313
287
|
def _onedal_decision_function(self, X, queue=None):
|
|
288
|
+
X = validate_data(
|
|
289
|
+
self,
|
|
290
|
+
X,
|
|
291
|
+
dtype=[np.float64, np.float32],
|
|
292
|
+
ensure_all_finite=False,
|
|
293
|
+
accept_sparse="csr",
|
|
294
|
+
reset=False,
|
|
295
|
+
)
|
|
314
296
|
return self._onedal_estimator.decision_function(X, queue=queue)
|
|
315
297
|
|
|
316
298
|
def _onedal_score(self, X, y, sample_weight=None, queue=None):
|
|
@@ -318,7 +300,7 @@ class SVC(sklearn_SVC, BaseSVC):
|
|
|
318
300
|
y, self._onedal_predict(X, queue=queue), sample_weight=sample_weight
|
|
319
301
|
)
|
|
320
302
|
|
|
321
|
-
fit.__doc__ =
|
|
322
|
-
predict.__doc__ =
|
|
323
|
-
decision_function.__doc__ =
|
|
324
|
-
score.__doc__ =
|
|
303
|
+
fit.__doc__ = _sklearn_SVC.fit.__doc__
|
|
304
|
+
predict.__doc__ = _sklearn_SVC.predict.__doc__
|
|
305
|
+
decision_function.__doc__ = _sklearn_SVC.decision_function.__doc__
|
|
306
|
+
score.__doc__ = _sklearn_SVC.score.__doc__
|
|
@@ -14,23 +14,25 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
from sklearn.
|
|
17
|
+
import numpy as np
|
|
18
|
+
from sklearn.svm import SVR as _sklearn_SVR
|
|
19
|
+
from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
|
|
19
20
|
|
|
20
21
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
21
22
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
22
23
|
from onedal.svm import SVR as onedal_SVR
|
|
23
24
|
|
|
24
25
|
from .._device_offload import dispatch, wrap_output_data
|
|
26
|
+
from ..utils.validation import validate_data
|
|
25
27
|
from ._common import BaseSVR
|
|
26
28
|
|
|
27
29
|
|
|
28
|
-
@control_n_jobs(decorated_methods=["fit", "predict"])
|
|
29
|
-
class SVR(
|
|
30
|
-
__doc__ =
|
|
30
|
+
@control_n_jobs(decorated_methods=["fit", "predict", "score"])
|
|
31
|
+
class SVR(BaseSVR, _sklearn_SVR):
|
|
32
|
+
__doc__ = _sklearn_SVR.__doc__
|
|
31
33
|
|
|
32
34
|
if sklearn_check_version("1.2"):
|
|
33
|
-
_parameter_constraints: dict = {**
|
|
35
|
+
_parameter_constraints: dict = {**_sklearn_SVR._parameter_constraints}
|
|
34
36
|
|
|
35
37
|
@_deprecate_positional_args
|
|
36
38
|
def __init__(
|
|
@@ -65,43 +67,67 @@ class SVR(sklearn_SVR, BaseSVR):
|
|
|
65
67
|
def fit(self, X, y, sample_weight=None):
|
|
66
68
|
if sklearn_check_version("1.2"):
|
|
67
69
|
self._validate_params()
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
elif self.C <= 0:
|
|
71
|
+
# else if added to correct issues with
|
|
72
|
+
# sklearn tests:
|
|
73
|
+
# svm/tests/test_sparse.py::test_error
|
|
74
|
+
# svm/tests/test_svm.py::test_bad_input
|
|
75
|
+
# for sklearn versions < 1.2 (i.e. without
|
|
76
|
+
# validate_params parameter checking)
|
|
77
|
+
# Without this, a segmentation fault with
|
|
78
|
+
# Windows fatal exception: access violation
|
|
79
|
+
# occurs
|
|
80
|
+
raise ValueError("C <= 0")
|
|
70
81
|
dispatch(
|
|
71
82
|
self,
|
|
72
83
|
"fit",
|
|
73
84
|
{
|
|
74
85
|
"onedal": self.__class__._onedal_fit,
|
|
75
|
-
"sklearn":
|
|
86
|
+
"sklearn": _sklearn_SVR.fit,
|
|
76
87
|
},
|
|
77
88
|
X,
|
|
78
89
|
y,
|
|
79
|
-
sample_weight,
|
|
90
|
+
sample_weight=sample_weight,
|
|
80
91
|
)
|
|
81
92
|
|
|
82
93
|
return self
|
|
83
94
|
|
|
84
95
|
@wrap_output_data
|
|
85
96
|
def predict(self, X):
|
|
86
|
-
|
|
87
|
-
self._check_feature_names(X, reset=False)
|
|
97
|
+
check_is_fitted(self)
|
|
88
98
|
return dispatch(
|
|
89
99
|
self,
|
|
90
100
|
"predict",
|
|
91
101
|
{
|
|
92
102
|
"onedal": self.__class__._onedal_predict,
|
|
93
|
-
"sklearn":
|
|
103
|
+
"sklearn": _sklearn_SVR.predict,
|
|
94
104
|
},
|
|
95
105
|
X,
|
|
96
106
|
)
|
|
97
107
|
|
|
108
|
+
@wrap_output_data
|
|
109
|
+
def score(self, X, y, sample_weight=None):
|
|
110
|
+
check_is_fitted(self)
|
|
111
|
+
return dispatch(
|
|
112
|
+
self,
|
|
113
|
+
"score",
|
|
114
|
+
{
|
|
115
|
+
"onedal": self.__class__._onedal_score,
|
|
116
|
+
"sklearn": _sklearn_SVR.score,
|
|
117
|
+
},
|
|
118
|
+
X,
|
|
119
|
+
y,
|
|
120
|
+
sample_weight=sample_weight,
|
|
121
|
+
)
|
|
122
|
+
|
|
98
123
|
def _onedal_fit(self, X, y, sample_weight=None, queue=None):
|
|
124
|
+
X, _, sample_weight = self._onedal_fit_checks(X, y, sample_weight)
|
|
99
125
|
onedal_params = {
|
|
100
126
|
"C": self.C,
|
|
101
127
|
"epsilon": self.epsilon,
|
|
102
128
|
"kernel": self.kernel,
|
|
103
129
|
"degree": self.degree,
|
|
104
|
-
"gamma": self.
|
|
130
|
+
"gamma": self._compute_gamma_sigma(X),
|
|
105
131
|
"coef0": self.coef0,
|
|
106
132
|
"tol": self.tol,
|
|
107
133
|
"shrinking": self.shrinking,
|
|
@@ -114,7 +140,16 @@ class SVR(sklearn_SVR, BaseSVR):
|
|
|
114
140
|
self._save_attributes()
|
|
115
141
|
|
|
116
142
|
def _onedal_predict(self, X, queue=None):
|
|
143
|
+
X = validate_data(
|
|
144
|
+
self,
|
|
145
|
+
X,
|
|
146
|
+
dtype=[np.float64, np.float32],
|
|
147
|
+
ensure_all_finite=False,
|
|
148
|
+
accept_sparse="csr",
|
|
149
|
+
reset=False,
|
|
150
|
+
)
|
|
117
151
|
return self._onedal_estimator.predict(X, queue=queue)
|
|
118
152
|
|
|
119
|
-
fit.__doc__ =
|
|
120
|
-
predict.__doc__ =
|
|
153
|
+
fit.__doc__ = _sklearn_SVR.fit.__doc__
|
|
154
|
+
predict.__doc__ = _sklearn_SVR.predict.__doc__
|
|
155
|
+
score.__doc__ = _sklearn_SVR.score.__doc__
|
|
@@ -18,6 +18,11 @@ import numpy as np
|
|
|
18
18
|
import pytest
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
20
|
|
|
21
|
+
try:
|
|
22
|
+
from scipy.sparse import csr_array as csr_class
|
|
23
|
+
except ImportError:
|
|
24
|
+
from scipy.sparse import csr_matrix as csr_class
|
|
25
|
+
|
|
21
26
|
from onedal.tests.utils._dataframes_support import (
|
|
22
27
|
_as_numpy,
|
|
23
28
|
_convert_to_dataframe,
|
|
@@ -25,12 +30,10 @@ from onedal.tests.utils._dataframes_support import (
|
|
|
25
30
|
)
|
|
26
31
|
|
|
27
32
|
|
|
28
|
-
|
|
29
|
-
# investigate failure for `dpnp.ndarrays` and `dpctl.tensors` on `GPU`
|
|
30
|
-
@pytest.mark.parametrize(
|
|
31
|
-
"dataframe,queue", get_dataframes_and_queues(device_filter_="cpu")
|
|
32
|
-
)
|
|
33
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
33
34
|
def test_sklearnex_import_svc(dataframe, queue):
|
|
35
|
+
if queue and queue.sycl_device.is_gpu:
|
|
36
|
+
pytest.skip("SVC fit for the GPU sycl_queue is buggy.")
|
|
34
37
|
from sklearnex.svm import SVC
|
|
35
38
|
|
|
36
39
|
X = np.array([[-2, -1], [-1, -1], [-1, -2], [+1, +1], [+1, +2], [+2, +1]])
|
|
@@ -43,12 +46,10 @@ def test_sklearnex_import_svc(dataframe, queue):
|
|
|
43
46
|
assert_allclose(_as_numpy(svc.support_), [1, 3])
|
|
44
47
|
|
|
45
48
|
|
|
46
|
-
|
|
47
|
-
# investigate failure for `dpnp.ndarrays` and `dpctl.tensors` on `GPU`
|
|
48
|
-
@pytest.mark.parametrize(
|
|
49
|
-
"dataframe,queue", get_dataframes_and_queues(device_filter_="cpu")
|
|
50
|
-
)
|
|
49
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
51
50
|
def test_sklearnex_import_nusvc(dataframe, queue):
|
|
51
|
+
if queue and queue.sycl_device.is_gpu:
|
|
52
|
+
pytest.skip("NuSVC fit for the GPU sycl_queue is buggy.")
|
|
52
53
|
from sklearnex.svm import NuSVC
|
|
53
54
|
|
|
54
55
|
X = np.array([[-2, -1], [-1, -1], [-1, -2], [+1, +1], [+1, +2], [+2, +1]])
|
|
@@ -63,12 +64,10 @@ def test_sklearnex_import_nusvc(dataframe, queue):
|
|
|
63
64
|
assert_allclose(_as_numpy(svc.support_), [0, 1, 3, 4])
|
|
64
65
|
|
|
65
66
|
|
|
66
|
-
|
|
67
|
-
# investigate failure for `dpnp.ndarrays` and `dpctl.tensors` on `GPU`
|
|
68
|
-
@pytest.mark.parametrize(
|
|
69
|
-
"dataframe,queue", get_dataframes_and_queues(device_filter_="cpu")
|
|
70
|
-
)
|
|
67
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
71
68
|
def test_sklearnex_import_svr(dataframe, queue):
|
|
69
|
+
if queue and queue.sycl_device.is_gpu:
|
|
70
|
+
pytest.skip("SVR fit for the GPU sycl_queue is buggy.")
|
|
72
71
|
from sklearnex.svm import SVR
|
|
73
72
|
|
|
74
73
|
X = np.array([[-2, -1], [-1, -1], [-1, -2], [+1, +1], [+1, +2], [+2, +1]])
|
|
@@ -81,12 +80,10 @@ def test_sklearnex_import_svr(dataframe, queue):
|
|
|
81
80
|
assert_allclose(_as_numpy(svc.support_), [1, 3])
|
|
82
81
|
|
|
83
82
|
|
|
84
|
-
|
|
85
|
-
# investigate failure for `dpnp.ndarrays` and `dpctl.tensors` on `GPU`
|
|
86
|
-
@pytest.mark.parametrize(
|
|
87
|
-
"dataframe,queue", get_dataframes_and_queues(device_filter_="cpu")
|
|
88
|
-
)
|
|
83
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
89
84
|
def test_sklearnex_import_nusvr(dataframe, queue):
|
|
85
|
+
if queue and queue.sycl_device.is_gpu:
|
|
86
|
+
pytest.skip("NuSVR fit for the GPU sycl_queue is buggy.")
|
|
90
87
|
from sklearnex.svm import NuSVR
|
|
91
88
|
|
|
92
89
|
X = np.array([[-2, -1], [-1, -1], [-1, -2], [+1, +1], [+1, +2], [+2, +1]])
|
|
@@ -99,3 +96,29 @@ def test_sklearnex_import_nusvr(dataframe, queue):
|
|
|
99
96
|
_as_numpy(svc.dual_coef_), [[-1.0, 0.611111, 1.0, -0.611111]], rtol=1e-3
|
|
100
97
|
)
|
|
101
98
|
assert_allclose(_as_numpy(svc.support_), [1, 2, 3, 5])
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
# https://github.com/uxlfoundation/scikit-learn-intelex/issues/1880
|
|
102
|
+
def test_works_with_unsorted_indices():
|
|
103
|
+
from sklearnex.svm import SVC
|
|
104
|
+
|
|
105
|
+
X = csr_class(
|
|
106
|
+
(
|
|
107
|
+
np.array(
|
|
108
|
+
[0.44943642, 0.6316672, 0.6316672, 0.44943642, 0.6316672, 0.6316672]
|
|
109
|
+
),
|
|
110
|
+
np.array([1, 4, 3, 1, 2, 0], dtype=np.int32),
|
|
111
|
+
np.array([0, 3, 6], dtype=np.int32),
|
|
112
|
+
),
|
|
113
|
+
shape=(2, 5),
|
|
114
|
+
)
|
|
115
|
+
y = np.array([1, 0])
|
|
116
|
+
X_test_single = np.array([[1, 0, 0, 0, 0]], dtype=np.float64)
|
|
117
|
+
X_test_multi = np.array([[1, 0, 0, 0, 0], [1, 0, 0, 0, 0]], dtype=np.float64)
|
|
118
|
+
model = SVC(probability=True).fit(X, y)
|
|
119
|
+
pred_single = model.predict_proba(X_test_single)
|
|
120
|
+
pred_multi = model.predict_proba(X_test_multi)[0]
|
|
121
|
+
np.testing.assert_array_equal(
|
|
122
|
+
pred_single.reshape(-1),
|
|
123
|
+
pred_multi.reshape(-1),
|
|
124
|
+
)
|