scikit-learn-intelex 2024.2.0__py39-none-win_amd64.whl → 2025.1.0__py39-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +424 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py +377 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +248 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +245 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +597 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +524 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +196 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +337 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1397 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn}/linear_model/__init__.py +29 -28
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +272 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +325 -0
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +2 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +1026 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +208 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +3 -3
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +405 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +236 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch}/tests/_models_info.py +13 -22
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch}/tests/test_patching.py +10 -56
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch}/tests/utils/_launch_algorithms.py +4 -5
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +503 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +139 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +74 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +734 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +75 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +693 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/__init__.py +83 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_config.py +54 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_device_offload.py +222 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +160 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +298 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +196 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +110 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +564 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +115 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_base.py +38 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_policy.py +59 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +30 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +125 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +76 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +125 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +146 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +122 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +154 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +414 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/basic_statistics → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +204 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +186 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +198 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +727 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +258 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +329 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +249 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +168 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +250 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +767 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +25 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +153 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/svm.py +556 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +351 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +176 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/tests/test_common.py +57 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +162 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +102 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/__init__.py +49 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +81 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/validation.py +440 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/__init__.py +10 -7
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/_config.py +22 -16
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +126 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/_utils.py +27 -4
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +230 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +345 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +270 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +404 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +16 -7
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +395 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +8 -6
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +159 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/conftest.py +82 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +398 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +111 -17
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +425 -0
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_preview_pca.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +25 -9
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +222 -42
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +249 -182
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +39 -21
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +16 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +13 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +482 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +425 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +341 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +182 -102
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +7 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +207 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +153 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +167 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +45 -4
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +4 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +5 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +5 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +97 -28
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +53 -6
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +48 -149
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +43 -144
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +50 -93
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +6 -9
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +24 -18
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +18 -5
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +233 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +266 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/decomposition → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model}/__init__.py +19 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/ridge.py +424 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +102 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +307 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +97 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +172 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +37 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +30 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +128 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +4 -12
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +265 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +14 -18
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +329 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +145 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +162 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +288 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +339 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +168 -73
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +71 -66
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +166 -72
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +64 -63
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +12 -20
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +390 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +379 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +276 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +6 -8
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_patching.py +385 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +321 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +44 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +371 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +82 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +89 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/METADATA +231 -230
- scikit_learn_intelex-2025.1.0.dist-info/RECORD +257 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/WHEEL +1 -1
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -223
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -17
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -30
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +0 -130
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -17
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -27
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -381
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -82
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -371
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/pca.py +0 -374
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +0 -188
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -222
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -240
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -93
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability_tests.py +0 -428
- scikit_learn_intelex-2024.2.0.dist-info/RECORD +0 -101
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/top_level.txt +0 -0
|
@@ -14,14 +14,21 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
+
import numpy as np
|
|
17
18
|
from sklearn.exceptions import NotFittedError
|
|
18
|
-
from sklearn.
|
|
19
|
-
from sklearn.
|
|
19
|
+
from sklearn.metrics import accuracy_score
|
|
20
|
+
from sklearn.svm import NuSVC as _sklearn_NuSVC
|
|
21
|
+
from sklearn.utils.validation import (
|
|
22
|
+
_deprecate_positional_args,
|
|
23
|
+
check_array,
|
|
24
|
+
check_is_fitted,
|
|
25
|
+
)
|
|
20
26
|
|
|
21
27
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
22
28
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
23
29
|
|
|
24
30
|
from .._device_offload import dispatch, wrap_output_data
|
|
31
|
+
from ..utils._array_api import get_namespace
|
|
25
32
|
from ._common import BaseSVC
|
|
26
33
|
|
|
27
34
|
if sklearn_check_version("1.0"):
|
|
@@ -29,15 +36,20 @@ if sklearn_check_version("1.0"):
|
|
|
29
36
|
|
|
30
37
|
from onedal.svm import NuSVC as onedal_NuSVC
|
|
31
38
|
|
|
39
|
+
if sklearn_check_version("1.6"):
|
|
40
|
+
from sklearn.utils.validation import validate_data
|
|
41
|
+
else:
|
|
42
|
+
validate_data = BaseSVC._validate_data
|
|
43
|
+
|
|
32
44
|
|
|
33
45
|
@control_n_jobs(
|
|
34
|
-
decorated_methods=["fit", "predict", "_predict_proba", "decision_function"]
|
|
46
|
+
decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
|
|
35
47
|
)
|
|
36
|
-
class NuSVC(
|
|
37
|
-
__doc__ =
|
|
48
|
+
class NuSVC(_sklearn_NuSVC, BaseSVC):
|
|
49
|
+
__doc__ = _sklearn_NuSVC.__doc__
|
|
38
50
|
|
|
39
51
|
if sklearn_check_version("1.2"):
|
|
40
|
-
_parameter_constraints: dict = {**
|
|
52
|
+
_parameter_constraints: dict = {**_sklearn_NuSVC._parameter_constraints}
|
|
41
53
|
|
|
42
54
|
@_deprecate_positional_args
|
|
43
55
|
def __init__(
|
|
@@ -78,90 +90,64 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
78
90
|
)
|
|
79
91
|
|
|
80
92
|
def fit(self, X, y, sample_weight=None):
|
|
81
|
-
"""
|
|
82
|
-
Fit the SVM model according to the given training data.
|
|
83
|
-
|
|
84
|
-
Parameters
|
|
85
|
-
----------
|
|
86
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features) \
|
|
87
|
-
or (n_samples, n_samples)
|
|
88
|
-
Training vectors, where `n_samples` is the number of samples
|
|
89
|
-
and `n_features` is the number of features.
|
|
90
|
-
For kernel="precomputed", the expected shape of X is
|
|
91
|
-
(n_samples, n_samples).
|
|
92
|
-
|
|
93
|
-
y : array-like of shape (n_samples,)
|
|
94
|
-
Target values (class labels in classification, real numbers in
|
|
95
|
-
regression).
|
|
96
|
-
|
|
97
|
-
sample_weight : array-like of shape (n_samples,), default=None
|
|
98
|
-
Per-sample weights. Rescale C per sample. Higher weights
|
|
99
|
-
force the classifier to put more emphasis on these points.
|
|
100
|
-
|
|
101
|
-
Returns
|
|
102
|
-
-------
|
|
103
|
-
self : object
|
|
104
|
-
Fitted estimator.
|
|
105
|
-
|
|
106
|
-
Notes
|
|
107
|
-
-----
|
|
108
|
-
If X and y are not C-ordered and contiguous arrays of np.float64 and
|
|
109
|
-
X is not a scipy.sparse.csr_matrix, X and/or y may be copied.
|
|
110
|
-
|
|
111
|
-
If X is a dense array, then the other methods will not support sparse
|
|
112
|
-
matrices as input.
|
|
113
|
-
"""
|
|
114
93
|
if sklearn_check_version("1.2"):
|
|
115
94
|
self._validate_params()
|
|
116
|
-
|
|
117
|
-
|
|
95
|
+
elif self.nu <= 0 or self.nu > 1:
|
|
96
|
+
# else if added to correct issues with
|
|
97
|
+
# sklearn tests:
|
|
98
|
+
# svm/tests/test_sparse.py::test_error
|
|
99
|
+
# svm/tests/test_svm.py::test_bad_input
|
|
100
|
+
# for sklearn versions < 1.2 (i.e. without
|
|
101
|
+
# validate_params parameter checking)
|
|
102
|
+
# Without this, a segmentation fault with
|
|
103
|
+
# Windows fatal exception: access violation
|
|
104
|
+
# occurs
|
|
105
|
+
raise ValueError("nu <= 0 or nu > 1")
|
|
118
106
|
dispatch(
|
|
119
107
|
self,
|
|
120
108
|
"fit",
|
|
121
109
|
{
|
|
122
110
|
"onedal": self.__class__._onedal_fit,
|
|
123
|
-
"sklearn":
|
|
111
|
+
"sklearn": _sklearn_NuSVC.fit,
|
|
124
112
|
},
|
|
125
113
|
X,
|
|
126
114
|
y,
|
|
127
|
-
sample_weight,
|
|
115
|
+
sample_weight=sample_weight,
|
|
128
116
|
)
|
|
129
117
|
|
|
130
118
|
return self
|
|
131
119
|
|
|
132
120
|
@wrap_output_data
|
|
133
121
|
def predict(self, X):
|
|
134
|
-
|
|
135
|
-
Perform regression on samples in X.
|
|
136
|
-
|
|
137
|
-
For an one-class model, +1 (inlier) or -1 (outlier) is returned.
|
|
138
|
-
|
|
139
|
-
Parameters
|
|
140
|
-
----------
|
|
141
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features)
|
|
142
|
-
For kernel="precomputed", the expected shape of X is
|
|
143
|
-
(n_samples_test, n_samples_train).
|
|
144
|
-
|
|
145
|
-
Returns
|
|
146
|
-
-------
|
|
147
|
-
y_pred : ndarray of shape (n_samples,)
|
|
148
|
-
The predicted values.
|
|
149
|
-
"""
|
|
150
|
-
if sklearn_check_version("1.0"):
|
|
151
|
-
self._check_feature_names(X, reset=False)
|
|
122
|
+
check_is_fitted(self)
|
|
152
123
|
return dispatch(
|
|
153
124
|
self,
|
|
154
125
|
"predict",
|
|
155
126
|
{
|
|
156
127
|
"onedal": self.__class__._onedal_predict,
|
|
157
|
-
"sklearn":
|
|
128
|
+
"sklearn": _sklearn_NuSVC.predict,
|
|
158
129
|
},
|
|
159
130
|
X,
|
|
160
131
|
)
|
|
161
132
|
|
|
133
|
+
@wrap_output_data
|
|
134
|
+
def score(self, X, y, sample_weight=None):
|
|
135
|
+
check_is_fitted(self)
|
|
136
|
+
return dispatch(
|
|
137
|
+
self,
|
|
138
|
+
"score",
|
|
139
|
+
{
|
|
140
|
+
"onedal": self.__class__._onedal_score,
|
|
141
|
+
"sklearn": _sklearn_NuSVC.score,
|
|
142
|
+
},
|
|
143
|
+
X,
|
|
144
|
+
y,
|
|
145
|
+
sample_weight=sample_weight,
|
|
146
|
+
)
|
|
147
|
+
|
|
162
148
|
if sklearn_check_version("1.0"):
|
|
163
149
|
|
|
164
|
-
@available_if(
|
|
150
|
+
@available_if(_sklearn_NuSVC._check_proba)
|
|
165
151
|
def predict_proba(self, X):
|
|
166
152
|
"""
|
|
167
153
|
Compute probabilities of possible outcomes for samples in X.
|
|
@@ -189,23 +175,61 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
189
175
|
predict. Also, it will produce meaningless results on very small
|
|
190
176
|
datasets.
|
|
191
177
|
"""
|
|
178
|
+
check_is_fitted(self)
|
|
192
179
|
return self._predict_proba(X)
|
|
193
180
|
|
|
181
|
+
@available_if(_sklearn_NuSVC._check_proba)
|
|
182
|
+
def predict_log_proba(self, X):
|
|
183
|
+
"""Compute log probabilities of possible outcomes for samples in X.
|
|
184
|
+
|
|
185
|
+
The model need to have probability information computed at training
|
|
186
|
+
time: fit with attribute `probability` set to True.
|
|
187
|
+
|
|
188
|
+
Parameters
|
|
189
|
+
----------
|
|
190
|
+
X : array-like of shape (n_samples, n_features) or \
|
|
191
|
+
(n_samples_test, n_samples_train)
|
|
192
|
+
For kernel="precomputed", the expected shape of X is
|
|
193
|
+
(n_samples_test, n_samples_train).
|
|
194
|
+
|
|
195
|
+
Returns
|
|
196
|
+
-------
|
|
197
|
+
T : ndarray of shape (n_samples, n_classes)
|
|
198
|
+
Returns the log-probabilities of the sample for each class in
|
|
199
|
+
the model. The columns correspond to the classes in sorted
|
|
200
|
+
order, as they appear in the attribute :term:`classes_`.
|
|
201
|
+
|
|
202
|
+
Notes
|
|
203
|
+
-----
|
|
204
|
+
The probability model is created using cross validation, so
|
|
205
|
+
the results can be slightly different than those obtained by
|
|
206
|
+
predict. Also, it will produce meaningless results on very small
|
|
207
|
+
datasets.
|
|
208
|
+
"""
|
|
209
|
+
xp, _ = get_namespace(X)
|
|
210
|
+
|
|
211
|
+
return xp.log(self.predict_proba(X))
|
|
212
|
+
|
|
194
213
|
else:
|
|
195
214
|
|
|
196
215
|
@property
|
|
197
216
|
def predict_proba(self):
|
|
198
217
|
self._check_proba()
|
|
218
|
+
check_is_fitted(self)
|
|
199
219
|
return self._predict_proba
|
|
200
220
|
|
|
221
|
+
def _predict_log_proba(self, X):
|
|
222
|
+
xp, _ = get_namespace(X)
|
|
223
|
+
return xp.log(self.predict_proba(X))
|
|
224
|
+
|
|
225
|
+
predict_proba.__doc__ = _sklearn_NuSVC.predict_proba.__doc__
|
|
226
|
+
|
|
201
227
|
@wrap_output_data
|
|
202
228
|
def _predict_proba(self, X):
|
|
203
|
-
if sklearn_check_version("1.0"):
|
|
204
|
-
self._check_feature_names(X, reset=False)
|
|
205
229
|
sklearn_pred_proba = (
|
|
206
|
-
|
|
230
|
+
_sklearn_NuSVC.predict_proba
|
|
207
231
|
if sklearn_check_version("1.0")
|
|
208
|
-
else
|
|
232
|
+
else _sklearn_NuSVC._predict_proba
|
|
209
233
|
)
|
|
210
234
|
|
|
211
235
|
return dispatch(
|
|
@@ -220,24 +244,44 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
220
244
|
|
|
221
245
|
@wrap_output_data
|
|
222
246
|
def decision_function(self, X):
|
|
223
|
-
|
|
224
|
-
self._check_feature_names(X, reset=False)
|
|
247
|
+
check_is_fitted(self)
|
|
225
248
|
return dispatch(
|
|
226
249
|
self,
|
|
227
250
|
"decision_function",
|
|
228
251
|
{
|
|
229
252
|
"onedal": self.__class__._onedal_decision_function,
|
|
230
|
-
"sklearn":
|
|
253
|
+
"sklearn": _sklearn_NuSVC.decision_function,
|
|
231
254
|
},
|
|
232
255
|
X,
|
|
233
256
|
)
|
|
234
257
|
|
|
258
|
+
decision_function.__doc__ = _sklearn_NuSVC.decision_function.__doc__
|
|
259
|
+
|
|
260
|
+
def _get_sample_weight(self, X, y, sample_weight=None):
|
|
261
|
+
sample_weight = super()._get_sample_weight(X, y, sample_weight)
|
|
262
|
+
if sample_weight is None:
|
|
263
|
+
return sample_weight
|
|
264
|
+
|
|
265
|
+
weight_per_class = [
|
|
266
|
+
np.sum(sample_weight[y == class_label]) for class_label in np.unique(y)
|
|
267
|
+
]
|
|
268
|
+
|
|
269
|
+
for i in range(len(weight_per_class)):
|
|
270
|
+
for j in range(i + 1, len(weight_per_class)):
|
|
271
|
+
if self.nu * (weight_per_class[i] + weight_per_class[j]) / 2 > min(
|
|
272
|
+
weight_per_class[i], weight_per_class[j]
|
|
273
|
+
):
|
|
274
|
+
raise ValueError("specified nu is infeasible")
|
|
275
|
+
|
|
276
|
+
return sample_weight
|
|
277
|
+
|
|
235
278
|
def _onedal_fit(self, X, y, sample_weight=None, queue=None):
|
|
279
|
+
X, _, weights = self._onedal_fit_checks(X, y, sample_weight)
|
|
236
280
|
onedal_params = {
|
|
237
281
|
"nu": self.nu,
|
|
238
282
|
"kernel": self.kernel,
|
|
239
283
|
"degree": self.degree,
|
|
240
|
-
"gamma": self.
|
|
284
|
+
"gamma": self._compute_gamma_sigma(X),
|
|
241
285
|
"coef0": self.coef0,
|
|
242
286
|
"tol": self.tol,
|
|
243
287
|
"shrinking": self.shrinking,
|
|
@@ -249,13 +293,37 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
249
293
|
}
|
|
250
294
|
|
|
251
295
|
self._onedal_estimator = onedal_NuSVC(**onedal_params)
|
|
252
|
-
self._onedal_estimator.fit(X, y,
|
|
296
|
+
self._onedal_estimator.fit(X, y, weights, queue=queue)
|
|
253
297
|
|
|
254
298
|
if self.probability:
|
|
255
|
-
self._fit_proba(
|
|
299
|
+
self._fit_proba(
|
|
300
|
+
X,
|
|
301
|
+
y,
|
|
302
|
+
sample_weight=sample_weight,
|
|
303
|
+
queue=queue,
|
|
304
|
+
)
|
|
305
|
+
|
|
256
306
|
self._save_attributes()
|
|
257
307
|
|
|
258
308
|
def _onedal_predict(self, X, queue=None):
|
|
309
|
+
if sklearn_check_version("1.0"):
|
|
310
|
+
validate_data(
|
|
311
|
+
self,
|
|
312
|
+
X,
|
|
313
|
+
dtype=[np.float64, np.float32],
|
|
314
|
+
force_all_finite=False,
|
|
315
|
+
ensure_2d=False,
|
|
316
|
+
accept_sparse="csr",
|
|
317
|
+
reset=False,
|
|
318
|
+
)
|
|
319
|
+
else:
|
|
320
|
+
X = check_array(
|
|
321
|
+
X,
|
|
322
|
+
dtype=[np.float64, np.float32],
|
|
323
|
+
force_all_finite=False,
|
|
324
|
+
accept_sparse="csr",
|
|
325
|
+
)
|
|
326
|
+
|
|
259
327
|
return self._onedal_estimator.predict(X, queue=queue)
|
|
260
328
|
|
|
261
329
|
def _onedal_predict_proba(self, X, queue=None):
|
|
@@ -273,4 +341,31 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
273
341
|
return self.clf_prob.predict_proba(X)
|
|
274
342
|
|
|
275
343
|
def _onedal_decision_function(self, X, queue=None):
|
|
344
|
+
if sklearn_check_version("1.0"):
|
|
345
|
+
validate_data(
|
|
346
|
+
self,
|
|
347
|
+
X,
|
|
348
|
+
dtype=[np.float64, np.float32],
|
|
349
|
+
force_all_finite=False,
|
|
350
|
+
accept_sparse="csr",
|
|
351
|
+
reset=False,
|
|
352
|
+
)
|
|
353
|
+
else:
|
|
354
|
+
X = check_array(
|
|
355
|
+
X,
|
|
356
|
+
dtype=[np.float64, np.float32],
|
|
357
|
+
force_all_finite=False,
|
|
358
|
+
accept_sparse="csr",
|
|
359
|
+
)
|
|
360
|
+
|
|
276
361
|
return self._onedal_estimator.decision_function(X, queue=queue)
|
|
362
|
+
|
|
363
|
+
def _onedal_score(self, X, y, sample_weight=None, queue=None):
|
|
364
|
+
return accuracy_score(
|
|
365
|
+
y, self._onedal_predict(X, queue=queue), sample_weight=sample_weight
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
fit.__doc__ = _sklearn_NuSVC.fit.__doc__
|
|
369
|
+
predict.__doc__ = _sklearn_NuSVC.predict.__doc__
|
|
370
|
+
decision_function.__doc__ = _sklearn_NuSVC.decision_function.__doc__
|
|
371
|
+
score.__doc__ = _sklearn_NuSVC.score.__doc__
|
|
@@ -14,8 +14,13 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
from sklearn.
|
|
17
|
+
import numpy as np
|
|
18
|
+
from sklearn.svm import NuSVR as _sklearn_NuSVR
|
|
19
|
+
from sklearn.utils.validation import (
|
|
20
|
+
_deprecate_positional_args,
|
|
21
|
+
check_array,
|
|
22
|
+
check_is_fitted,
|
|
23
|
+
)
|
|
19
24
|
|
|
20
25
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
21
26
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
@@ -24,26 +29,31 @@ from onedal.svm import NuSVR as onedal_NuSVR
|
|
|
24
29
|
from .._device_offload import dispatch, wrap_output_data
|
|
25
30
|
from ._common import BaseSVR
|
|
26
31
|
|
|
32
|
+
if sklearn_check_version("1.6"):
|
|
33
|
+
from sklearn.utils.validation import validate_data
|
|
34
|
+
else:
|
|
35
|
+
validate_data = BaseSVR._validate_data
|
|
27
36
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
|
|
38
|
+
@control_n_jobs(decorated_methods=["fit", "predict", "score"])
|
|
39
|
+
class NuSVR(_sklearn_NuSVR, BaseSVR):
|
|
40
|
+
__doc__ = _sklearn_NuSVR.__doc__
|
|
31
41
|
|
|
32
42
|
if sklearn_check_version("1.2"):
|
|
33
|
-
_parameter_constraints: dict = {**
|
|
43
|
+
_parameter_constraints: dict = {**_sklearn_NuSVR._parameter_constraints}
|
|
34
44
|
|
|
35
45
|
@_deprecate_positional_args
|
|
36
46
|
def __init__(
|
|
37
47
|
self,
|
|
38
48
|
*,
|
|
49
|
+
nu=0.5,
|
|
50
|
+
C=1.0,
|
|
39
51
|
kernel="rbf",
|
|
40
52
|
degree=3,
|
|
41
53
|
gamma="scale",
|
|
42
54
|
coef0=0.0,
|
|
43
|
-
tol=1e-3,
|
|
44
|
-
C=1.0,
|
|
45
|
-
nu=0.5,
|
|
46
55
|
shrinking=True,
|
|
56
|
+
tol=1e-3,
|
|
47
57
|
cache_size=200,
|
|
48
58
|
verbose=False,
|
|
49
59
|
max_iter=-1,
|
|
@@ -63,93 +73,68 @@ class NuSVR(sklearn_NuSVR, BaseSVR):
|
|
|
63
73
|
)
|
|
64
74
|
|
|
65
75
|
def fit(self, X, y, sample_weight=None):
|
|
66
|
-
"""
|
|
67
|
-
Fit the SVM model according to the given training data.
|
|
68
|
-
|
|
69
|
-
Parameters
|
|
70
|
-
----------
|
|
71
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features) \
|
|
72
|
-
or (n_samples, n_samples)
|
|
73
|
-
Training vectors, where `n_samples` is the number of samples
|
|
74
|
-
and `n_features` is the number of features.
|
|
75
|
-
For kernel="precomputed", the expected shape of X is
|
|
76
|
-
(n_samples, n_samples).
|
|
77
|
-
|
|
78
|
-
y : array-like of shape (n_samples,)
|
|
79
|
-
Target values (class labels in classification, real numbers in
|
|
80
|
-
regression).
|
|
81
|
-
|
|
82
|
-
sample_weight : array-like of shape (n_samples,), default=None
|
|
83
|
-
Per-sample weights. Rescale C per sample. Higher weights
|
|
84
|
-
force the classifier to put more emphasis on these points.
|
|
85
|
-
|
|
86
|
-
Returns
|
|
87
|
-
-------
|
|
88
|
-
self : object
|
|
89
|
-
Fitted estimator.
|
|
90
|
-
|
|
91
|
-
Notes
|
|
92
|
-
-----
|
|
93
|
-
If X and y are not C-ordered and contiguous arrays of np.float64 and
|
|
94
|
-
X is not a scipy.sparse.csr_matrix, X and/or y may be copied.
|
|
95
|
-
|
|
96
|
-
If X is a dense array, then the other methods will not support sparse
|
|
97
|
-
matrices as input.
|
|
98
|
-
"""
|
|
99
76
|
if sklearn_check_version("1.2"):
|
|
100
77
|
self._validate_params()
|
|
101
|
-
|
|
102
|
-
|
|
78
|
+
elif self.nu <= 0 or self.nu > 1:
|
|
79
|
+
# else if added to correct issues with
|
|
80
|
+
# sklearn tests:
|
|
81
|
+
# svm/tests/test_sparse.py::test_error
|
|
82
|
+
# svm/tests/test_svm.py::test_bad_input
|
|
83
|
+
# for sklearn versions < 1.2 (i.e. without
|
|
84
|
+
# validate_params parameter checking)
|
|
85
|
+
# Without this, a segmentation fault with
|
|
86
|
+
# Windows fatal exception: access violation
|
|
87
|
+
# occurs
|
|
88
|
+
raise ValueError("nu <= 0 or nu > 1")
|
|
103
89
|
dispatch(
|
|
104
90
|
self,
|
|
105
91
|
"fit",
|
|
106
92
|
{
|
|
107
93
|
"onedal": self.__class__._onedal_fit,
|
|
108
|
-
"sklearn":
|
|
94
|
+
"sklearn": _sklearn_NuSVR.fit,
|
|
109
95
|
},
|
|
110
96
|
X,
|
|
111
97
|
y,
|
|
112
|
-
sample_weight,
|
|
98
|
+
sample_weight=sample_weight,
|
|
113
99
|
)
|
|
114
100
|
return self
|
|
115
101
|
|
|
116
102
|
@wrap_output_data
|
|
117
103
|
def predict(self, X):
|
|
118
|
-
|
|
119
|
-
Perform regression on samples in X.
|
|
120
|
-
|
|
121
|
-
For an one-class model, +1 (inlier) or -1 (outlier) is returned.
|
|
122
|
-
|
|
123
|
-
Parameters
|
|
124
|
-
----------
|
|
125
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features)
|
|
126
|
-
For kernel="precomputed", the expected shape of X is
|
|
127
|
-
(n_samples_test, n_samples_train).
|
|
128
|
-
|
|
129
|
-
Returns
|
|
130
|
-
-------
|
|
131
|
-
y_pred : ndarray of shape (n_samples,)
|
|
132
|
-
The predicted values.
|
|
133
|
-
"""
|
|
134
|
-
if sklearn_check_version("1.0"):
|
|
135
|
-
self._check_feature_names(X, reset=False)
|
|
104
|
+
check_is_fitted(self)
|
|
136
105
|
return dispatch(
|
|
137
106
|
self,
|
|
138
107
|
"predict",
|
|
139
108
|
{
|
|
140
109
|
"onedal": self.__class__._onedal_predict,
|
|
141
|
-
"sklearn":
|
|
110
|
+
"sklearn": _sklearn_NuSVR.predict,
|
|
111
|
+
},
|
|
112
|
+
X,
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
@wrap_output_data
|
|
116
|
+
def score(self, X, y, sample_weight=None):
|
|
117
|
+
check_is_fitted(self)
|
|
118
|
+
return dispatch(
|
|
119
|
+
self,
|
|
120
|
+
"score",
|
|
121
|
+
{
|
|
122
|
+
"onedal": self.__class__._onedal_score,
|
|
123
|
+
"sklearn": _sklearn_NuSVR.score,
|
|
142
124
|
},
|
|
143
125
|
X,
|
|
126
|
+
y,
|
|
127
|
+
sample_weight=sample_weight,
|
|
144
128
|
)
|
|
145
129
|
|
|
146
130
|
def _onedal_fit(self, X, y, sample_weight=None, queue=None):
|
|
131
|
+
X, _, sample_weight = self._onedal_fit_checks(X, y, sample_weight)
|
|
147
132
|
onedal_params = {
|
|
148
133
|
"C": self.C,
|
|
149
134
|
"nu": self.nu,
|
|
150
135
|
"kernel": self.kernel,
|
|
151
136
|
"degree": self.degree,
|
|
152
|
-
"gamma": self.
|
|
137
|
+
"gamma": self._compute_gamma_sigma(X),
|
|
153
138
|
"coef0": self.coef0,
|
|
154
139
|
"tol": self.tol,
|
|
155
140
|
"shrinking": self.shrinking,
|
|
@@ -162,4 +147,24 @@ class NuSVR(sklearn_NuSVR, BaseSVR):
|
|
|
162
147
|
self._save_attributes()
|
|
163
148
|
|
|
164
149
|
def _onedal_predict(self, X, queue=None):
|
|
150
|
+
if sklearn_check_version("1.0"):
|
|
151
|
+
X = validate_data(
|
|
152
|
+
self,
|
|
153
|
+
X,
|
|
154
|
+
dtype=[np.float64, np.float32],
|
|
155
|
+
force_all_finite=False,
|
|
156
|
+
accept_sparse="csr",
|
|
157
|
+
reset=False,
|
|
158
|
+
)
|
|
159
|
+
else:
|
|
160
|
+
X = check_array(
|
|
161
|
+
X,
|
|
162
|
+
dtype=[np.float64, np.float32],
|
|
163
|
+
force_all_finite=False,
|
|
164
|
+
accept_sparse="csr",
|
|
165
|
+
)
|
|
165
166
|
return self._onedal_estimator.predict(X, queue=queue)
|
|
167
|
+
|
|
168
|
+
fit.__doc__ = _sklearn_NuSVR.fit.__doc__
|
|
169
|
+
predict.__doc__ = _sklearn_NuSVR.predict.__doc__
|
|
170
|
+
score.__doc__ = _sklearn_NuSVR.score.__doc__
|