scikit-learn-intelex 2024.7.0__py39-none-win_amd64.whl → 2025.0.1__py39-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +424 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mb/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mb/model_builders.py +377 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +242 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +241 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +597 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +524 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +318 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1397 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +29 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +272 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +325 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +1026 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +196 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +405 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +155 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +161 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +87 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +118 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +503 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +139 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +74 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +734 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +75 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +693 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/__init__.py +83 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_config.py +53 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_device_offload.py +229 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +107 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +160 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +298 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +196 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/dbscan.py +110 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/kmeans.py +560 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +115 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_base.py +38 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_policy.py +59 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +30 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/hyperparameters.py +116 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +75 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/covariance.py +125 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +146 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +122 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +95 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +235 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +204 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/pca.py +186 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +198 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/forest.py +720 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +258 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +329 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +249 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +168 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +107 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +149 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +778 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/get_tree.py +25 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +153 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/svm.py +556 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +351 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/test_common.py +41 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +168 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +107 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/__init__.py +49 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/_array_api.py +91 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/validation.py +432 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_device_offload.py +36 -13
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +30 -8
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +49 -16
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +383 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +153 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +28 -10
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +11 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/dispatcher.py +19 -9
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +2 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +7 -7
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +45 -26
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +418 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +4 -4
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +13 -10
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +153 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +5 -4
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +3 -3
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +2 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +2 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +4 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +2 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +1 -1
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview}/__init__.py +1 -3
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +8 -8
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +2 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/ridge.py +4 -4
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +307 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +37 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition}/__init__.py +4 -1
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +30 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +35 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +329 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +4 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/svc.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py +18 -5
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +2 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +12 -11
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +1 -2
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +5 -20
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/METADATA +3 -2
- scikit_learn_intelex-2025.0.1.dist-info/RECORD +255 -0
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -25
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -42
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
- scikit_learn_intelex-2024.7.0.dist-info/RECORD +0 -122
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_utils.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/_utils.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/top_level.txt +0 -0
|
@@ -35,7 +35,7 @@ from sklearnex import config_context
|
|
|
35
35
|
from .._device_offload import dispatch, wrap_output_data
|
|
36
36
|
from .._utils import PatchingConditionsChain, register_hyperparameters
|
|
37
37
|
from ..metrics import pairwise_distances
|
|
38
|
-
from ..utils import get_namespace
|
|
38
|
+
from ..utils._array_api import get_namespace
|
|
39
39
|
|
|
40
40
|
if sklearn_check_version("1.2"):
|
|
41
41
|
from sklearn.utils._param_validation import Interval
|
|
@@ -44,9 +44,9 @@ if sklearn_check_version("1.2"):
|
|
|
44
44
|
@control_n_jobs(decorated_methods=["partial_fit", "fit", "_onedal_finalize_fit"])
|
|
45
45
|
class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
46
46
|
"""
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
Maximum likelihood covariance estimator that allows for the estimation when the data are split into
|
|
48
|
+
batches. The user can use the ``partial_fit`` method to provide a single batch of data or use the ``fit`` method to provide
|
|
49
|
+
the entire dataset.
|
|
50
50
|
|
|
51
51
|
Parameters
|
|
52
52
|
----------
|
|
@@ -79,13 +79,31 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
79
79
|
|
|
80
80
|
n_samples_seen_ : int
|
|
81
81
|
The number of samples processed by the estimator. Will be reset on
|
|
82
|
-
new calls to fit
|
|
82
|
+
new calls to ``fit``, but increments across ``partial_fit`` calls.
|
|
83
83
|
|
|
84
84
|
batch_size_ : int
|
|
85
85
|
Inferred batch size from ``batch_size``.
|
|
86
86
|
|
|
87
87
|
n_features_in_ : int
|
|
88
|
-
Number of features seen during
|
|
88
|
+
Number of features seen during ``fit`` or ``partial_fit``.
|
|
89
|
+
|
|
90
|
+
Examples
|
|
91
|
+
--------
|
|
92
|
+
>>> import numpy as np
|
|
93
|
+
>>> from sklearnex.covariance import IncrementalEmpiricalCovariance
|
|
94
|
+
>>> inccov = IncrementalEmpiricalCovariance(batch_size=1)
|
|
95
|
+
>>> X = np.array([[1, 2], [3, 4]])
|
|
96
|
+
>>> inccov.partial_fit(X[:1])
|
|
97
|
+
>>> inccov.partial_fit(X[1:])
|
|
98
|
+
>>> inccov.covariance_
|
|
99
|
+
np.array([[1., 1.],[1., 1.]])
|
|
100
|
+
>>> inccov.location_
|
|
101
|
+
np.array([2., 3.])
|
|
102
|
+
>>> inccov.fit(X)
|
|
103
|
+
>>> inccov.covariance_
|
|
104
|
+
np.array([[1., 1.],[1., 1.]])
|
|
105
|
+
>>> inccov.location_
|
|
106
|
+
np.array([2., 3.])
|
|
89
107
|
"""
|
|
90
108
|
|
|
91
109
|
_onedal_incremental_covariance = staticmethod(onedal_IncrementalEmpiricalCovariance)
|
|
@@ -115,9 +133,9 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
115
133
|
)
|
|
116
134
|
return patching_status
|
|
117
135
|
|
|
118
|
-
def _onedal_finalize_fit(self):
|
|
136
|
+
def _onedal_finalize_fit(self, queue=None):
|
|
119
137
|
assert hasattr(self, "_onedal_estimator")
|
|
120
|
-
self._onedal_estimator.finalize_fit()
|
|
138
|
+
self._onedal_estimator.finalize_fit(queue=queue)
|
|
121
139
|
self._need_to_finalize = False
|
|
122
140
|
|
|
123
141
|
if not daal_check_version((2024, "P", 400)) and self.assume_centered:
|
|
@@ -192,7 +210,7 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
192
210
|
else:
|
|
193
211
|
self.n_samples_seen_ += X.shape[0]
|
|
194
212
|
|
|
195
|
-
self._onedal_estimator.partial_fit(X, queue)
|
|
213
|
+
self._onedal_estimator.partial_fit(X, queue=queue)
|
|
196
214
|
finally:
|
|
197
215
|
self._need_to_finalize = True
|
|
198
216
|
|
|
@@ -326,7 +344,7 @@ class IncrementalEmpiricalCovariance(BaseEstimator):
|
|
|
326
344
|
X_batch = X[batch]
|
|
327
345
|
self._onedal_partial_fit(X_batch, queue=queue, check_input=False)
|
|
328
346
|
|
|
329
|
-
self._onedal_finalize_fit()
|
|
347
|
+
self._onedal_finalize_fit(queue=queue)
|
|
330
348
|
|
|
331
349
|
return self
|
|
332
350
|
|
|
@@ -26,6 +26,7 @@ from sklearn.covariance.tests.test_covariance import (
|
|
|
26
26
|
from sklearn.datasets import load_diabetes
|
|
27
27
|
from sklearn.decomposition import PCA
|
|
28
28
|
|
|
29
|
+
from daal4py.sklearn._utils import daal_check_version
|
|
29
30
|
from onedal.tests.utils._dataframes_support import (
|
|
30
31
|
_as_numpy,
|
|
31
32
|
_convert_to_dataframe,
|
|
@@ -37,6 +38,11 @@ from onedal.tests.utils._dataframes_support import (
|
|
|
37
38
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
38
39
|
@pytest.mark.parametrize("assume_centered", [True, False])
|
|
39
40
|
def test_sklearnex_partial_fit_on_gold_data(dataframe, queue, dtype, assume_centered):
|
|
41
|
+
is_gpu = queue is not None and queue.sycl_device.is_gpu
|
|
42
|
+
if assume_centered and is_gpu and not daal_check_version((2025, "P", 0)):
|
|
43
|
+
pytest.skip(
|
|
44
|
+
"Due to a bug on oneDAL side, means are not set to zero when assume_centered=True"
|
|
45
|
+
)
|
|
40
46
|
from sklearnex.covariance import IncrementalEmpiricalCovariance
|
|
41
47
|
|
|
42
48
|
X = np.array([[0, 1], [0, 1]])
|
|
@@ -143,6 +149,11 @@ def test_sklearnex_partial_fit_on_random_data(
|
|
|
143
149
|
def test_sklearnex_fit_on_random_data(
|
|
144
150
|
dataframe, queue, num_batches, row_count, column_count, dtype, assume_centered
|
|
145
151
|
):
|
|
152
|
+
is_gpu = queue is not None and queue.sycl_device.is_gpu
|
|
153
|
+
if assume_centered and is_gpu and not daal_check_version((2025, "P", 0)):
|
|
154
|
+
pytest.skip(
|
|
155
|
+
"Due to a bug on oneDAL side, means are not set to zero when assume_centered=True"
|
|
156
|
+
)
|
|
146
157
|
from sklearnex.covariance import IncrementalEmpiricalCovariance
|
|
147
158
|
|
|
148
159
|
seed = 77
|
|
@@ -32,7 +32,7 @@ if daal_check_version((2024, "P", 100)):
|
|
|
32
32
|
|
|
33
33
|
from .._device_offload import dispatch, wrap_output_data
|
|
34
34
|
from .._utils import PatchingConditionsChain
|
|
35
|
-
from ..utils import get_namespace
|
|
35
|
+
from ..utils._array_api import get_namespace
|
|
36
36
|
|
|
37
37
|
if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
|
|
38
38
|
from sklearn.utils import check_scalar
|
|
@@ -48,7 +48,6 @@ def get_patch_map_core(preview=False):
|
|
|
48
48
|
import sklearn.decomposition as decomposition_module
|
|
49
49
|
|
|
50
50
|
# Preview classes for patching
|
|
51
|
-
from .preview.cluster import KMeans as KMeans_sklearnex
|
|
52
51
|
from .preview.covariance import (
|
|
53
52
|
EmpiricalCovariance as EmpiricalCovariance_sklearnex,
|
|
54
53
|
)
|
|
@@ -60,14 +59,6 @@ def get_patch_map_core(preview=False):
|
|
|
60
59
|
# when preview is used, setting the mapping element[1] to None
|
|
61
60
|
# should NOT be done. This may lose track of the unpatched
|
|
62
61
|
# sklearn estimator or function.
|
|
63
|
-
# KMeans
|
|
64
|
-
cluster_module, _, _ = mapping["kmeans"][0][0]
|
|
65
|
-
sklearn_obj = mapping["kmeans"][0][1]
|
|
66
|
-
mapping.pop("kmeans")
|
|
67
|
-
mapping["kmeans"] = [
|
|
68
|
-
[(cluster_module, "KMeans", KMeans_sklearnex), sklearn_obj]
|
|
69
|
-
]
|
|
70
|
-
|
|
71
62
|
# Covariance
|
|
72
63
|
mapping["empiricalcovariance"] = [
|
|
73
64
|
[
|
|
@@ -143,6 +134,7 @@ def get_patch_map_core(preview=False):
|
|
|
143
134
|
from .utils.parallel import _FuncWrapperOld as _FuncWrapper_sklearnex
|
|
144
135
|
|
|
145
136
|
from .cluster import DBSCAN as DBSCAN_sklearnex
|
|
137
|
+
from .cluster import KMeans as KMeans_sklearnex
|
|
146
138
|
from .covariance import (
|
|
147
139
|
IncrementalEmpiricalCovariance as IncrementalEmpiricalCovariance_sklearnex,
|
|
148
140
|
)
|
|
@@ -155,6 +147,7 @@ def get_patch_map_core(preview=False):
|
|
|
155
147
|
from .linear_model import (
|
|
156
148
|
IncrementalLinearRegression as IncrementalLinearRegression_sklearnex,
|
|
157
149
|
)
|
|
150
|
+
from .linear_model import IncrementalRidge as IncrementalRidge_sklearnex
|
|
158
151
|
from .linear_model import Lasso as Lasso_sklearnex
|
|
159
152
|
from .linear_model import LinearRegression as LinearRegression_sklearnex
|
|
160
153
|
from .linear_model import LogisticRegression as LogisticRegression_sklearnex
|
|
@@ -176,6 +169,10 @@ def get_patch_map_core(preview=False):
|
|
|
176
169
|
mapping.pop("dbscan")
|
|
177
170
|
mapping["dbscan"] = [[(cluster_module, "DBSCAN", DBSCAN_sklearnex), None]]
|
|
178
171
|
|
|
172
|
+
# KMeans
|
|
173
|
+
mapping.pop("kmeans")
|
|
174
|
+
mapping["kmeans"] = [[(cluster_module, "KMeans", KMeans_sklearnex), None]]
|
|
175
|
+
|
|
179
176
|
# PCA
|
|
180
177
|
mapping.pop("pca")
|
|
181
178
|
mapping["pca"] = [[(decomposition_module, "PCA", PCA_sklearnex), None]]
|
|
@@ -412,6 +409,19 @@ def get_patch_map_core(preview=False):
|
|
|
412
409
|
]
|
|
413
410
|
]
|
|
414
411
|
|
|
412
|
+
if daal_check_version((2024, "P", 600)):
|
|
413
|
+
# IncrementalRidge
|
|
414
|
+
mapping["incrementalridge"] = [
|
|
415
|
+
[
|
|
416
|
+
(
|
|
417
|
+
linear_model_module,
|
|
418
|
+
"IncrementalRidge",
|
|
419
|
+
IncrementalRidge_sklearnex,
|
|
420
|
+
),
|
|
421
|
+
None,
|
|
422
|
+
]
|
|
423
|
+
]
|
|
424
|
+
|
|
415
425
|
# Configs
|
|
416
426
|
mapping["set_config"] = [
|
|
417
427
|
[(base_module, "set_config", set_config_sklearnex), None]
|
|
@@ -57,10 +57,10 @@ from onedal.ensemble import RandomForestClassifier as onedal_RandomForestClassif
|
|
|
57
57
|
from onedal.ensemble import RandomForestRegressor as onedal_RandomForestRegressor
|
|
58
58
|
from onedal.primitives import get_tree_state_cls, get_tree_state_reg
|
|
59
59
|
from onedal.utils import _num_features, _num_samples
|
|
60
|
-
from sklearnex.utils import get_namespace
|
|
61
60
|
|
|
62
61
|
from .._device_offload import dispatch, wrap_output_data
|
|
63
62
|
from .._utils import PatchingConditionsChain
|
|
63
|
+
from ..utils._array_api import get_namespace
|
|
64
64
|
|
|
65
65
|
if sklearn_check_version("1.2"):
|
|
66
66
|
from sklearn.utils._param_validation import Interval
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
from .coordinate_descent import ElasticNet, Lasso
|
|
18
18
|
from .incremental_linear import IncrementalLinearRegression
|
|
19
|
+
from .incremental_ridge import IncrementalRidge
|
|
19
20
|
from .linear import LinearRegression
|
|
20
21
|
from .logistic_regression import LogisticRegression
|
|
21
22
|
from .ridge import Ridge
|
|
@@ -23,6 +24,7 @@ from .ridge import Ridge
|
|
|
23
24
|
__all__ = [
|
|
24
25
|
"ElasticNet",
|
|
25
26
|
"IncrementalLinearRegression",
|
|
27
|
+
"IncrementalRidge",
|
|
26
28
|
"Lasso",
|
|
27
29
|
"LinearRegression",
|
|
28
30
|
"LogisticRegression",
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
# ===============================================================================
|
|
16
16
|
|
|
17
17
|
from daal4py.sklearn.linear_model import ElasticNet, Lasso
|
|
18
|
-
from onedal._device_offload import
|
|
18
|
+
from onedal._device_offload import support_input_format
|
|
19
19
|
|
|
20
20
|
# Note: `sklearnex.linear_model.ElasticNet` only has functional
|
|
21
21
|
# sycl GPU support. No GPU device will be offloaded.
|
|
22
|
-
ElasticNet.fit =
|
|
23
|
-
ElasticNet.predict =
|
|
24
|
-
ElasticNet.score =
|
|
22
|
+
ElasticNet.fit = support_input_format(queue_param=False)(ElasticNet.fit)
|
|
23
|
+
ElasticNet.predict = support_input_format(queue_param=False)(ElasticNet.predict)
|
|
24
|
+
ElasticNet.score = support_input_format(queue_param=False)(ElasticNet.score)
|
|
25
25
|
|
|
26
26
|
# Note: `sklearnex.linear_model.Lasso` only has functional
|
|
27
27
|
# sycl GPU support. No GPU device will be offloaded.
|
|
28
|
-
Lasso.fit =
|
|
29
|
-
Lasso.predict =
|
|
30
|
-
Lasso.score =
|
|
28
|
+
Lasso.fit = support_input_format(queue_param=False)(Lasso.fit)
|
|
29
|
+
Lasso.predict = support_input_format(queue_param=False)(Lasso.predict)
|
|
30
|
+
Lasso.score = support_input_format(queue_param=False)(Lasso.score)
|
|
@@ -49,8 +49,9 @@ from .._utils import PatchingConditionsChain, register_hyperparameters
|
|
|
49
49
|
)
|
|
50
50
|
class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimator):
|
|
51
51
|
"""
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
Trains a linear regression model, allows for computation if the data are split into
|
|
53
|
+
batches. The user can use the ``partial_fit`` method to provide a single batch of data or use the ``fit`` method to provide
|
|
54
|
+
the entire dataset.
|
|
54
55
|
|
|
55
56
|
Parameters
|
|
56
57
|
----------
|
|
@@ -68,8 +69,7 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
68
69
|
batch_size : int, default=None
|
|
69
70
|
The number of samples to use for each batch. Only used when calling
|
|
70
71
|
``fit``. If ``batch_size`` is ``None``, then ``batch_size``
|
|
71
|
-
is inferred from the data and set to ``5 * n_features
|
|
72
|
-
balance between approximation accuracy and memory consumption.
|
|
72
|
+
is inferred from the data and set to ``5 * n_features``.
|
|
73
73
|
|
|
74
74
|
Attributes
|
|
75
75
|
----------
|
|
@@ -83,12 +83,9 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
83
83
|
Independent term in the linear model. Set to 0.0 if
|
|
84
84
|
`fit_intercept = False`.
|
|
85
85
|
|
|
86
|
-
n_features_in_ : int
|
|
87
|
-
Number of features seen during :term:`fit`.
|
|
88
|
-
|
|
89
86
|
n_samples_seen_ : int
|
|
90
87
|
The number of samples processed by the estimator. Will be reset on
|
|
91
|
-
new calls to fit
|
|
88
|
+
new calls to ``fit``, but increments across ``partial_fit`` calls.
|
|
92
89
|
It should be not less than `n_features_in_` if `fit_intercept`
|
|
93
90
|
is False and not less than `n_features_in_` + 1 if `fit_intercept`
|
|
94
91
|
is True to obtain regression coefficients.
|
|
@@ -97,8 +94,26 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
97
94
|
Inferred batch size from ``batch_size``.
|
|
98
95
|
|
|
99
96
|
n_features_in_ : int
|
|
100
|
-
Number of features seen during
|
|
101
|
-
|
|
97
|
+
Number of features seen during ``fit`` or ``partial_fit``.
|
|
98
|
+
|
|
99
|
+
Examples
|
|
100
|
+
--------
|
|
101
|
+
>>> import numpy as np
|
|
102
|
+
>>> from sklearnex.linear_model import IncrementalLinearRegression
|
|
103
|
+
>>> inclr = IncrementalLinearRegression(batch_size=2)
|
|
104
|
+
>>> X = np.array([[1, 2], [3, 4], [5, 6], [7, 10]])
|
|
105
|
+
>>> y = np.array([1.5, 3.5, 5.5, 8.5])
|
|
106
|
+
>>> inclr.partial_fit(X[:2], y[:2])
|
|
107
|
+
>>> inclr.partial_fit(X[2:], y[2:])
|
|
108
|
+
>>> inclr.coef_
|
|
109
|
+
np.array([0.5., 0.5.])
|
|
110
|
+
>>> inclr.intercept_
|
|
111
|
+
np.array(0.)
|
|
112
|
+
>>> inclr.fit(X)
|
|
113
|
+
>>> inclr.coef_
|
|
114
|
+
np.array([0.5., 0.5.])
|
|
115
|
+
>>> inclr.intercept_
|
|
116
|
+
np.array(0.)
|
|
102
117
|
"""
|
|
103
118
|
|
|
104
119
|
_onedal_incremental_linear = staticmethod(onedal_IncrementalLinearRegression)
|
|
@@ -147,7 +162,7 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
147
162
|
assert hasattr(self, "_onedal_estimator")
|
|
148
163
|
if self._need_to_finalize:
|
|
149
164
|
self._onedal_finalize_fit()
|
|
150
|
-
return self._onedal_estimator.predict(X, queue)
|
|
165
|
+
return self._onedal_estimator.predict(X, queue=queue)
|
|
151
166
|
|
|
152
167
|
def _onedal_score(self, X, y, sample_weight=None, queue=None):
|
|
153
168
|
return r2_score(
|
|
@@ -194,17 +209,17 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
194
209
|
onedal_params = {"fit_intercept": self.fit_intercept, "copy_X": self.copy_X}
|
|
195
210
|
if not hasattr(self, "_onedal_estimator"):
|
|
196
211
|
self._onedal_estimator = self._onedal_incremental_linear(**onedal_params)
|
|
197
|
-
self._onedal_estimator.partial_fit(X, y, queue)
|
|
212
|
+
self._onedal_estimator.partial_fit(X, y, queue=queue)
|
|
198
213
|
self._need_to_finalize = True
|
|
199
214
|
|
|
200
|
-
def _onedal_finalize_fit(self):
|
|
215
|
+
def _onedal_finalize_fit(self, queue=None):
|
|
201
216
|
assert hasattr(self, "_onedal_estimator")
|
|
202
217
|
is_underdetermined = self.n_samples_seen_ < self.n_features_in_ + int(
|
|
203
218
|
self.fit_intercept
|
|
204
219
|
)
|
|
205
220
|
if is_underdetermined:
|
|
206
221
|
raise ValueError("Not enough samples to finalize")
|
|
207
|
-
self._onedal_estimator.finalize_fit()
|
|
222
|
+
self._onedal_estimator.finalize_fit(queue=queue)
|
|
208
223
|
self._need_to_finalize = False
|
|
209
224
|
|
|
210
225
|
def _onedal_fit(self, X, y, queue=None):
|
|
@@ -263,8 +278,7 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
263
278
|
"Only one sample available. You may want to reshape your data array"
|
|
264
279
|
)
|
|
265
280
|
|
|
266
|
-
self._onedal_finalize_fit()
|
|
267
|
-
|
|
281
|
+
self._onedal_finalize_fit(queue=queue)
|
|
268
282
|
return self
|
|
269
283
|
|
|
270
284
|
def get_intercept_(self):
|
|
@@ -312,12 +326,12 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
312
326
|
Parameters
|
|
313
327
|
----------
|
|
314
328
|
X : array-like of shape (n_samples, n_features)
|
|
315
|
-
Training data, where
|
|
329
|
+
Training data, where ``n_samples`` is the number of samples and
|
|
316
330
|
`n_features` is the number of features.
|
|
317
331
|
|
|
318
332
|
y : array-like of shape (n_samples,) or (n_samples, n_targets)
|
|
319
|
-
Target values, where
|
|
320
|
-
|
|
333
|
+
Target values, where ``n_samples`` is the number of samples and
|
|
334
|
+
``n_targets`` is the number of targets.
|
|
321
335
|
|
|
322
336
|
Returns
|
|
323
337
|
-------
|
|
@@ -340,20 +354,20 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
340
354
|
|
|
341
355
|
def fit(self, X, y):
|
|
342
356
|
"""
|
|
343
|
-
Fit the model with X and y, using minibatches of size batch_size
|
|
357
|
+
Fit the model with X and y, using minibatches of size ``batch_size``.
|
|
344
358
|
|
|
345
359
|
Parameters
|
|
346
360
|
----------
|
|
347
361
|
X : array-like of shape (n_samples, n_features)
|
|
348
|
-
Training data, where
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
is False and not less than
|
|
362
|
+
Training data, where ``n_samples`` is the number of samples and
|
|
363
|
+
``n_features`` is the number of features. It is necessary for
|
|
364
|
+
``n_samples`` to be not less than ``n_features`` if ``fit_intercept``
|
|
365
|
+
is False and not less than ``n_features + 1`` if ``fit_intercept``
|
|
352
366
|
is True
|
|
353
367
|
|
|
354
368
|
y : array-like of shape (n_samples,) or (n_samples, n_targets)
|
|
355
|
-
Target values, where
|
|
356
|
-
|
|
369
|
+
Target values, where ``n_samples`` is the number of samples and
|
|
370
|
+
``n_targets`` is the number of targets.
|
|
357
371
|
|
|
358
372
|
Returns
|
|
359
373
|
-------
|
|
@@ -377,10 +391,15 @@ class IncrementalLinearRegression(MultiOutputMixin, RegressorMixin, BaseEstimato
|
|
|
377
391
|
def predict(self, X, y=None):
|
|
378
392
|
"""
|
|
379
393
|
Predict using the linear model.
|
|
394
|
+
|
|
380
395
|
Parameters
|
|
381
396
|
----------
|
|
382
397
|
X : array-like or sparse matrix, shape (n_samples, n_features)
|
|
383
398
|
Samples.
|
|
399
|
+
|
|
400
|
+
y : Ignored
|
|
401
|
+
Not used, present for API consistency by convention.
|
|
402
|
+
|
|
384
403
|
Returns
|
|
385
404
|
-------
|
|
386
405
|
C : array, shape (n_samples, n_targets)
|