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