scikit-learn-intelex 2024.0.1__py311-none-win_amd64.whl → 2025.1.0__py311-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.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.cp311-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.cp311-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-2024.0.1.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn}/cluster/__init__.py +3 -3
- 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.0.1.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +4 -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.0.1.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn}/linear_model/__init__.py +29 -30
- 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-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
- 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.0.1.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +4 -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-2024.0.1.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +4 -3
- 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.0.1.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.0.1.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 -42
- {scikit_learn_intelex-2024.0.1.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.0.1.data/data/Lib/site-packages/sklearnex/spmd/linear_model → 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.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-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.0.1.data/data/Lib/site-packages/sklearnex/basic_statistics → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -3
- 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.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/__init__.py +12 -7
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -1
- {scikit_learn_intelex-2024.0.1.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.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/_utils.py +42 -5
- 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.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -2
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +18 -8
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +395 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +8 -7
- 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/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +398 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +237 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -1
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +425 -0
- scikit_learn_intelex-2024.0.1.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 +26 -6
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +242 -28
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +262 -180
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +39 -22
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +16 -3
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +13 -1
- 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-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +413 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +24 -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-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +134 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -1
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py +21 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +5 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +5 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -1
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +1 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/neighbors/_lof.py +236 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +54 -8
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +51 -151
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +46 -146
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +53 -95
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +16 -19
- {scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview}/__init__.py +1 -3
- {scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/preview/decomposition → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/covariance}/__init__.py +19 -20
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +138 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +66 -0
- 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.0.1.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +19 -18
- 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-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +1 -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/covariance.py +21 -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.0.1.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.0.1.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-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +21 -0
- scikit_learn_intelex-2024.0.1.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/logistic_regression.py +21 -0
- 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-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -1
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +339 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +172 -73
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +73 -66
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +171 -73
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +65 -62
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +12 -21
- 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.0.1.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.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -1
- {scikit_learn_intelex-2024.0.1.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.0.1.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/WHEEL +1 -1
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -223
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -18
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -31
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -18
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -28
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -373
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -18
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -77
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -29
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/neighbors/lof.py +0 -437
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -370
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/preview/decomposition/pca.py +0 -376
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/svm/_common.py +0 -188
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -225
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -210
- scikit_learn_intelex-2024.0.1.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability_tests.py +0 -428
- scikit_learn_intelex-2024.0.1.dist-info/RECORD +0 -90
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2024.0.1.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.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.0.1.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.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2024.0.1.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2024.0.1.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.0.1.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/top_level.txt +0 -0
|
@@ -14,13 +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.
|
|
20
|
-
|
|
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
|
+
)
|
|
26
|
+
|
|
27
|
+
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
21
28
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
22
29
|
|
|
23
30
|
from .._device_offload import dispatch, wrap_output_data
|
|
31
|
+
from ..utils._array_api import get_namespace
|
|
24
32
|
from ._common import BaseSVC
|
|
25
33
|
|
|
26
34
|
if sklearn_check_version("1.0"):
|
|
@@ -28,12 +36,20 @@ if sklearn_check_version("1.0"):
|
|
|
28
36
|
|
|
29
37
|
from onedal.svm import NuSVC as onedal_NuSVC
|
|
30
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
|
+
|
|
31
44
|
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
@control_n_jobs(
|
|
46
|
+
decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
|
|
47
|
+
)
|
|
48
|
+
class NuSVC(_sklearn_NuSVC, BaseSVC):
|
|
49
|
+
__doc__ = _sklearn_NuSVC.__doc__
|
|
34
50
|
|
|
35
51
|
if sklearn_check_version("1.2"):
|
|
36
|
-
_parameter_constraints: dict = {**
|
|
52
|
+
_parameter_constraints: dict = {**_sklearn_NuSVC._parameter_constraints}
|
|
37
53
|
|
|
38
54
|
@_deprecate_positional_args
|
|
39
55
|
def __init__(
|
|
@@ -74,90 +90,64 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
74
90
|
)
|
|
75
91
|
|
|
76
92
|
def fit(self, X, y, sample_weight=None):
|
|
77
|
-
"""
|
|
78
|
-
Fit the SVM model according to the given training data.
|
|
79
|
-
|
|
80
|
-
Parameters
|
|
81
|
-
----------
|
|
82
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features) \
|
|
83
|
-
or (n_samples, n_samples)
|
|
84
|
-
Training vectors, where `n_samples` is the number of samples
|
|
85
|
-
and `n_features` is the number of features.
|
|
86
|
-
For kernel="precomputed", the expected shape of X is
|
|
87
|
-
(n_samples, n_samples).
|
|
88
|
-
|
|
89
|
-
y : array-like of shape (n_samples,)
|
|
90
|
-
Target values (class labels in classification, real numbers in
|
|
91
|
-
regression).
|
|
92
|
-
|
|
93
|
-
sample_weight : array-like of shape (n_samples,), default=None
|
|
94
|
-
Per-sample weights. Rescale C per sample. Higher weights
|
|
95
|
-
force the classifier to put more emphasis on these points.
|
|
96
|
-
|
|
97
|
-
Returns
|
|
98
|
-
-------
|
|
99
|
-
self : object
|
|
100
|
-
Fitted estimator.
|
|
101
|
-
|
|
102
|
-
Notes
|
|
103
|
-
-----
|
|
104
|
-
If X and y are not C-ordered and contiguous arrays of np.float64 and
|
|
105
|
-
X is not a scipy.sparse.csr_matrix, X and/or y may be copied.
|
|
106
|
-
|
|
107
|
-
If X is a dense array, then the other methods will not support sparse
|
|
108
|
-
matrices as input.
|
|
109
|
-
"""
|
|
110
93
|
if sklearn_check_version("1.2"):
|
|
111
94
|
self._validate_params()
|
|
112
|
-
|
|
113
|
-
|
|
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")
|
|
114
106
|
dispatch(
|
|
115
107
|
self,
|
|
116
108
|
"fit",
|
|
117
109
|
{
|
|
118
110
|
"onedal": self.__class__._onedal_fit,
|
|
119
|
-
"sklearn":
|
|
111
|
+
"sklearn": _sklearn_NuSVC.fit,
|
|
120
112
|
},
|
|
121
113
|
X,
|
|
122
114
|
y,
|
|
123
|
-
sample_weight,
|
|
115
|
+
sample_weight=sample_weight,
|
|
124
116
|
)
|
|
125
117
|
|
|
126
118
|
return self
|
|
127
119
|
|
|
128
120
|
@wrap_output_data
|
|
129
121
|
def predict(self, X):
|
|
130
|
-
|
|
131
|
-
Perform regression on samples in X.
|
|
132
|
-
|
|
133
|
-
For an one-class model, +1 (inlier) or -1 (outlier) is returned.
|
|
134
|
-
|
|
135
|
-
Parameters
|
|
136
|
-
----------
|
|
137
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features)
|
|
138
|
-
For kernel="precomputed", the expected shape of X is
|
|
139
|
-
(n_samples_test, n_samples_train).
|
|
140
|
-
|
|
141
|
-
Returns
|
|
142
|
-
-------
|
|
143
|
-
y_pred : ndarray of shape (n_samples,)
|
|
144
|
-
The predicted values.
|
|
145
|
-
"""
|
|
146
|
-
if sklearn_check_version("1.0"):
|
|
147
|
-
self._check_feature_names(X, reset=False)
|
|
122
|
+
check_is_fitted(self)
|
|
148
123
|
return dispatch(
|
|
149
124
|
self,
|
|
150
125
|
"predict",
|
|
151
126
|
{
|
|
152
127
|
"onedal": self.__class__._onedal_predict,
|
|
153
|
-
"sklearn":
|
|
128
|
+
"sklearn": _sklearn_NuSVC.predict,
|
|
154
129
|
},
|
|
155
130
|
X,
|
|
156
131
|
)
|
|
157
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
|
+
|
|
158
148
|
if sklearn_check_version("1.0"):
|
|
159
149
|
|
|
160
|
-
@available_if(
|
|
150
|
+
@available_if(_sklearn_NuSVC._check_proba)
|
|
161
151
|
def predict_proba(self, X):
|
|
162
152
|
"""
|
|
163
153
|
Compute probabilities of possible outcomes for samples in X.
|
|
@@ -185,23 +175,61 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
185
175
|
predict. Also, it will produce meaningless results on very small
|
|
186
176
|
datasets.
|
|
187
177
|
"""
|
|
178
|
+
check_is_fitted(self)
|
|
188
179
|
return self._predict_proba(X)
|
|
189
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
|
+
|
|
190
213
|
else:
|
|
191
214
|
|
|
192
215
|
@property
|
|
193
216
|
def predict_proba(self):
|
|
194
217
|
self._check_proba()
|
|
218
|
+
check_is_fitted(self)
|
|
195
219
|
return self._predict_proba
|
|
196
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
|
+
|
|
197
227
|
@wrap_output_data
|
|
198
228
|
def _predict_proba(self, X):
|
|
199
|
-
if sklearn_check_version("1.0"):
|
|
200
|
-
self._check_feature_names(X, reset=False)
|
|
201
229
|
sklearn_pred_proba = (
|
|
202
|
-
|
|
230
|
+
_sklearn_NuSVC.predict_proba
|
|
203
231
|
if sklearn_check_version("1.0")
|
|
204
|
-
else
|
|
232
|
+
else _sklearn_NuSVC._predict_proba
|
|
205
233
|
)
|
|
206
234
|
|
|
207
235
|
return dispatch(
|
|
@@ -216,24 +244,44 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
216
244
|
|
|
217
245
|
@wrap_output_data
|
|
218
246
|
def decision_function(self, X):
|
|
219
|
-
|
|
220
|
-
self._check_feature_names(X, reset=False)
|
|
247
|
+
check_is_fitted(self)
|
|
221
248
|
return dispatch(
|
|
222
249
|
self,
|
|
223
250
|
"decision_function",
|
|
224
251
|
{
|
|
225
252
|
"onedal": self.__class__._onedal_decision_function,
|
|
226
|
-
"sklearn":
|
|
253
|
+
"sklearn": _sklearn_NuSVC.decision_function,
|
|
227
254
|
},
|
|
228
255
|
X,
|
|
229
256
|
)
|
|
230
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
|
+
|
|
231
278
|
def _onedal_fit(self, X, y, sample_weight=None, queue=None):
|
|
279
|
+
X, _, weights = self._onedal_fit_checks(X, y, sample_weight)
|
|
232
280
|
onedal_params = {
|
|
233
281
|
"nu": self.nu,
|
|
234
282
|
"kernel": self.kernel,
|
|
235
283
|
"degree": self.degree,
|
|
236
|
-
"gamma": self.
|
|
284
|
+
"gamma": self._compute_gamma_sigma(X),
|
|
237
285
|
"coef0": self.coef0,
|
|
238
286
|
"tol": self.tol,
|
|
239
287
|
"shrinking": self.shrinking,
|
|
@@ -245,13 +293,37 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
245
293
|
}
|
|
246
294
|
|
|
247
295
|
self._onedal_estimator = onedal_NuSVC(**onedal_params)
|
|
248
|
-
self._onedal_estimator.fit(X, y,
|
|
296
|
+
self._onedal_estimator.fit(X, y, weights, queue=queue)
|
|
249
297
|
|
|
250
298
|
if self.probability:
|
|
251
|
-
self._fit_proba(
|
|
299
|
+
self._fit_proba(
|
|
300
|
+
X,
|
|
301
|
+
y,
|
|
302
|
+
sample_weight=sample_weight,
|
|
303
|
+
queue=queue,
|
|
304
|
+
)
|
|
305
|
+
|
|
252
306
|
self._save_attributes()
|
|
253
307
|
|
|
254
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
|
+
|
|
255
327
|
return self._onedal_estimator.predict(X, queue=queue)
|
|
256
328
|
|
|
257
329
|
def _onedal_predict_proba(self, X, queue=None):
|
|
@@ -269,4 +341,31 @@ class NuSVC(sklearn_NuSVC, BaseSVC):
|
|
|
269
341
|
return self.clf_prob.predict_proba(X)
|
|
270
342
|
|
|
271
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
|
+
|
|
272
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,34 +14,46 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
from sklearn.
|
|
19
|
-
|
|
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
|
+
)
|
|
24
|
+
|
|
25
|
+
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
20
26
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
21
27
|
from onedal.svm import NuSVR as onedal_NuSVR
|
|
22
28
|
|
|
23
29
|
from .._device_offload import dispatch, wrap_output_data
|
|
24
30
|
from ._common import BaseSVR
|
|
25
31
|
|
|
32
|
+
if sklearn_check_version("1.6"):
|
|
33
|
+
from sklearn.utils.validation import validate_data
|
|
34
|
+
else:
|
|
35
|
+
validate_data = BaseSVR._validate_data
|
|
36
|
+
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
@control_n_jobs(decorated_methods=["fit", "predict", "score"])
|
|
39
|
+
class NuSVR(_sklearn_NuSVR, BaseSVR):
|
|
40
|
+
__doc__ = _sklearn_NuSVR.__doc__
|
|
29
41
|
|
|
30
42
|
if sklearn_check_version("1.2"):
|
|
31
|
-
_parameter_constraints: dict = {**
|
|
43
|
+
_parameter_constraints: dict = {**_sklearn_NuSVR._parameter_constraints}
|
|
32
44
|
|
|
33
45
|
@_deprecate_positional_args
|
|
34
46
|
def __init__(
|
|
35
47
|
self,
|
|
36
48
|
*,
|
|
49
|
+
nu=0.5,
|
|
50
|
+
C=1.0,
|
|
37
51
|
kernel="rbf",
|
|
38
52
|
degree=3,
|
|
39
53
|
gamma="scale",
|
|
40
54
|
coef0=0.0,
|
|
41
|
-
tol=1e-3,
|
|
42
|
-
C=1.0,
|
|
43
|
-
nu=0.5,
|
|
44
55
|
shrinking=True,
|
|
56
|
+
tol=1e-3,
|
|
45
57
|
cache_size=200,
|
|
46
58
|
verbose=False,
|
|
47
59
|
max_iter=-1,
|
|
@@ -61,93 +73,68 @@ class NuSVR(sklearn_NuSVR, BaseSVR):
|
|
|
61
73
|
)
|
|
62
74
|
|
|
63
75
|
def fit(self, X, y, sample_weight=None):
|
|
64
|
-
"""
|
|
65
|
-
Fit the SVM model according to the given training data.
|
|
66
|
-
|
|
67
|
-
Parameters
|
|
68
|
-
----------
|
|
69
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features) \
|
|
70
|
-
or (n_samples, n_samples)
|
|
71
|
-
Training vectors, where `n_samples` is the number of samples
|
|
72
|
-
and `n_features` is the number of features.
|
|
73
|
-
For kernel="precomputed", the expected shape of X is
|
|
74
|
-
(n_samples, n_samples).
|
|
75
|
-
|
|
76
|
-
y : array-like of shape (n_samples,)
|
|
77
|
-
Target values (class labels in classification, real numbers in
|
|
78
|
-
regression).
|
|
79
|
-
|
|
80
|
-
sample_weight : array-like of shape (n_samples,), default=None
|
|
81
|
-
Per-sample weights. Rescale C per sample. Higher weights
|
|
82
|
-
force the classifier to put more emphasis on these points.
|
|
83
|
-
|
|
84
|
-
Returns
|
|
85
|
-
-------
|
|
86
|
-
self : object
|
|
87
|
-
Fitted estimator.
|
|
88
|
-
|
|
89
|
-
Notes
|
|
90
|
-
-----
|
|
91
|
-
If X and y are not C-ordered and contiguous arrays of np.float64 and
|
|
92
|
-
X is not a scipy.sparse.csr_matrix, X and/or y may be copied.
|
|
93
|
-
|
|
94
|
-
If X is a dense array, then the other methods will not support sparse
|
|
95
|
-
matrices as input.
|
|
96
|
-
"""
|
|
97
76
|
if sklearn_check_version("1.2"):
|
|
98
77
|
self._validate_params()
|
|
99
|
-
|
|
100
|
-
|
|
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")
|
|
101
89
|
dispatch(
|
|
102
90
|
self,
|
|
103
91
|
"fit",
|
|
104
92
|
{
|
|
105
93
|
"onedal": self.__class__._onedal_fit,
|
|
106
|
-
"sklearn":
|
|
94
|
+
"sklearn": _sklearn_NuSVR.fit,
|
|
107
95
|
},
|
|
108
96
|
X,
|
|
109
97
|
y,
|
|
110
|
-
sample_weight,
|
|
98
|
+
sample_weight=sample_weight,
|
|
111
99
|
)
|
|
112
100
|
return self
|
|
113
101
|
|
|
114
102
|
@wrap_output_data
|
|
115
103
|
def predict(self, X):
|
|
116
|
-
|
|
117
|
-
Perform regression on samples in X.
|
|
118
|
-
|
|
119
|
-
For an one-class model, +1 (inlier) or -1 (outlier) is returned.
|
|
120
|
-
|
|
121
|
-
Parameters
|
|
122
|
-
----------
|
|
123
|
-
X : {array-like, sparse matrix} of shape (n_samples, n_features)
|
|
124
|
-
For kernel="precomputed", the expected shape of X is
|
|
125
|
-
(n_samples_test, n_samples_train).
|
|
126
|
-
|
|
127
|
-
Returns
|
|
128
|
-
-------
|
|
129
|
-
y_pred : ndarray of shape (n_samples,)
|
|
130
|
-
The predicted values.
|
|
131
|
-
"""
|
|
132
|
-
if sklearn_check_version("1.0"):
|
|
133
|
-
self._check_feature_names(X, reset=False)
|
|
104
|
+
check_is_fitted(self)
|
|
134
105
|
return dispatch(
|
|
135
106
|
self,
|
|
136
107
|
"predict",
|
|
137
108
|
{
|
|
138
109
|
"onedal": self.__class__._onedal_predict,
|
|
139
|
-
"sklearn":
|
|
110
|
+
"sklearn": _sklearn_NuSVR.predict,
|
|
140
111
|
},
|
|
141
112
|
X,
|
|
142
113
|
)
|
|
143
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,
|
|
124
|
+
},
|
|
125
|
+
X,
|
|
126
|
+
y,
|
|
127
|
+
sample_weight=sample_weight,
|
|
128
|
+
)
|
|
129
|
+
|
|
144
130
|
def _onedal_fit(self, X, y, sample_weight=None, queue=None):
|
|
131
|
+
X, _, sample_weight = self._onedal_fit_checks(X, y, sample_weight)
|
|
145
132
|
onedal_params = {
|
|
146
133
|
"C": self.C,
|
|
147
134
|
"nu": self.nu,
|
|
148
135
|
"kernel": self.kernel,
|
|
149
136
|
"degree": self.degree,
|
|
150
|
-
"gamma": self.
|
|
137
|
+
"gamma": self._compute_gamma_sigma(X),
|
|
151
138
|
"coef0": self.coef0,
|
|
152
139
|
"tol": self.tol,
|
|
153
140
|
"shrinking": self.shrinking,
|
|
@@ -160,4 +147,24 @@ class NuSVR(sklearn_NuSVR, BaseSVR):
|
|
|
160
147
|
self._save_attributes()
|
|
161
148
|
|
|
162
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
|
+
)
|
|
163
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__
|