scikit-learn-intelex 2025.4.0__py39-none-win_amd64.whl → 2025.5.0__py39-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +1 -1
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +855 -0
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +99 -91
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_device_offload.py +79 -83
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +1 -13
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -1
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +147 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +143 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_utils.py +28 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +13 -20
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +34 -40
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +6 -8
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +2 -6
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +42 -60
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -17
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +106 -362
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +6 -6
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +41 -126
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +42 -85
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +48 -39
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +34 -71
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +14 -18
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +60 -1
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +2 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +1 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +3 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +31 -73
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +30 -70
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +5 -13
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -13
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +48 -62
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
- {scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors}/__init__.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +12 -25
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +35 -128
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +9 -21
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +33 -126
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +9 -21
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +26 -11
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +16 -23
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.5.0.dist-info/RECORD +257 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
- scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/top_level.txt +0 -0
scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Copyright contributors to the oneDAL project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
import re
|
|
15
|
+
import sys
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
|
|
19
|
+
from .. import (
|
|
20
|
+
classifier_prediction_result,
|
|
21
|
+
logistic_regression_model_builder,
|
|
22
|
+
logistic_regression_prediction,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
_docstring_X = """Parameters
|
|
26
|
+
----------
|
|
27
|
+
X : array-like(n_samples, n_features)
|
|
28
|
+
The features / covariates for each row. Can be passed as either a NumPy array
|
|
29
|
+
or as a sparse CSR array/matrix from SciPy. For faster results, use the same
|
|
30
|
+
dtype as what this object was built for."""
|
|
31
|
+
if (sys.version_info.major == 3) and (sys.version_info.minor <= 12):
|
|
32
|
+
_docstring_X = re.sub("^", " " * 8, _docstring_X, flags=re.MULTILINE).strip()
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class LogisticDAALModel:
|
|
36
|
+
"""
|
|
37
|
+
Logistic Regression Predictor
|
|
38
|
+
|
|
39
|
+
Creates a logistic regression or multionomial logistic regression model object
|
|
40
|
+
which can calculate fast predictions of different types (classes, probabilities,
|
|
41
|
+
logarithms of probabilities), from fitted coefficients and intercepts obtained
|
|
42
|
+
elsewhere (such as from :obj:`sklearn.linear_model.LogisticRegression`), making
|
|
43
|
+
the predictions either in double (``np.float64``) or single (``np.float32``)
|
|
44
|
+
precision.
|
|
45
|
+
|
|
46
|
+
See Also
|
|
47
|
+
--------
|
|
48
|
+
:obj:`sklearn.linear_model.LogisticRegression`, :obj:`sklearn.linear_model.SGDClassifier`,
|
|
49
|
+
:obj:`daal4py.classifier_prediction_result`.
|
|
50
|
+
|
|
51
|
+
Parameters
|
|
52
|
+
----------
|
|
53
|
+
coefs : array(n_classes, n_features) or array(n_features,)
|
|
54
|
+
The fitted model coefficients. Note that only dense arrays are supported.
|
|
55
|
+
In the case of binary classification, can be passed as a 1D array or as a
|
|
56
|
+
2D array having a single row.
|
|
57
|
+
intercepts: array(n_classes) or float
|
|
58
|
+
The fitted intercepts. In the case of binary classification, must be passed
|
|
59
|
+
as either a scalar, or as a 1D array with a single entry.
|
|
60
|
+
dtype : np.float32 or np.float64
|
|
61
|
+
The dtype to use for the object.
|
|
62
|
+
|
|
63
|
+
Attributes
|
|
64
|
+
----------
|
|
65
|
+
n_classes_ : int
|
|
66
|
+
Number of classes in the model.
|
|
67
|
+
n_features_in_ : int
|
|
68
|
+
Number of features in the model.
|
|
69
|
+
dtype_ : np.dtype
|
|
70
|
+
The dtype of the model
|
|
71
|
+
coef_ : array(n_classes, n_features)
|
|
72
|
+
The model coefficients
|
|
73
|
+
intercept_ : array(n_classes)
|
|
74
|
+
The model intercepts
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
def __init__(self, coefs, intercepts, dtype=np.float64):
|
|
78
|
+
assert dtype in [np.float32, np.float64]
|
|
79
|
+
coefs = np.require(coefs, requirements=["ENSUREARRAY"])
|
|
80
|
+
if len(coefs.shape) == 1:
|
|
81
|
+
coefs = coefs.reshape((1, -1))
|
|
82
|
+
self.n_features_in_ = coefs.shape[1]
|
|
83
|
+
self.n_classes_ = max(2, coefs.shape[0])
|
|
84
|
+
intercepts = np.require(intercepts, requirements=["ENSUREARRAY"]).reshape(-1)
|
|
85
|
+
if self.n_classes_ == 2:
|
|
86
|
+
assert len(intercepts) == 1
|
|
87
|
+
else:
|
|
88
|
+
assert intercepts.shape[0] == coefs.shape[0]
|
|
89
|
+
self._fptype = "float" if dtype == np.float32 else "double"
|
|
90
|
+
self.dtype_ = dtype
|
|
91
|
+
if coefs.dtype != self.dtype_:
|
|
92
|
+
coefs = coefs.astype(self.dtype_)
|
|
93
|
+
if intercepts.dtype != self.dtype_:
|
|
94
|
+
intercepts = intercepts.astype(self.dtype_)
|
|
95
|
+
builder = logistic_regression_model_builder(
|
|
96
|
+
n_classes=self.n_classes_, n_features=coefs.shape[1]
|
|
97
|
+
)
|
|
98
|
+
builder.set_beta(coefs, intercepts)
|
|
99
|
+
self._model = builder.model
|
|
100
|
+
self._alg_pred_class = logistic_regression_prediction(
|
|
101
|
+
nClasses=self.n_classes_,
|
|
102
|
+
fptype=self._fptype,
|
|
103
|
+
resultsToEvaluate="computeClassLabels",
|
|
104
|
+
)
|
|
105
|
+
self._alg_pred_prob = logistic_regression_prediction(
|
|
106
|
+
nClasses=self.n_classes_,
|
|
107
|
+
fptype=self._fptype,
|
|
108
|
+
resultsToEvaluate="computeClassProbabilities",
|
|
109
|
+
)
|
|
110
|
+
self._alg_pred_logprob = logistic_regression_prediction(
|
|
111
|
+
nClasses=self.n_classes_,
|
|
112
|
+
fptype=self._fptype,
|
|
113
|
+
resultsToEvaluate="computeClassLogProbabilities",
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
@property
|
|
117
|
+
def coef_(self):
|
|
118
|
+
return self._model.Beta[:, 1:]
|
|
119
|
+
|
|
120
|
+
@property
|
|
121
|
+
def intercept_(self):
|
|
122
|
+
return self._model.Beta[:, 0]
|
|
123
|
+
|
|
124
|
+
def predict(self, X) -> np.ndarray:
|
|
125
|
+
"""
|
|
126
|
+
Predict most probable class
|
|
127
|
+
|
|
128
|
+
%docstring_X%
|
|
129
|
+
|
|
130
|
+
Returns
|
|
131
|
+
-------
|
|
132
|
+
classes : array(n_samples,)
|
|
133
|
+
The most probable class, as integer indexes
|
|
134
|
+
"""
|
|
135
|
+
return (
|
|
136
|
+
self._alg_pred_class.compute(X, self._model)
|
|
137
|
+
.prediction.reshape(-1)
|
|
138
|
+
.astype(int)
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
predict.__doc__ = predict.__doc__.replace(r"%docstring_X%", _docstring_X)
|
|
142
|
+
|
|
143
|
+
def predict_proba(self, X) -> np.ndarray:
|
|
144
|
+
"""
|
|
145
|
+
Predict probabilities of belonging to each class
|
|
146
|
+
|
|
147
|
+
%docstring_X%
|
|
148
|
+
|
|
149
|
+
Returns
|
|
150
|
+
-------
|
|
151
|
+
proba : array(n_samples, n_classes)
|
|
152
|
+
The predicted probabilities for each class.
|
|
153
|
+
"""
|
|
154
|
+
return self._alg_pred_prob.compute(X, self._model).probabilities
|
|
155
|
+
|
|
156
|
+
predict_proba.__doc__ = predict_proba.__doc__.replace(r"%docstring_X%", _docstring_X)
|
|
157
|
+
|
|
158
|
+
def predict_log_proba(self, X) -> np.ndarray:
|
|
159
|
+
"""
|
|
160
|
+
Predict log-probabilities of belonging to each class
|
|
161
|
+
|
|
162
|
+
%docstring_X%
|
|
163
|
+
|
|
164
|
+
Returns
|
|
165
|
+
-------
|
|
166
|
+
log_proba : array(n_samples, n_classes)
|
|
167
|
+
The logarithms of the predicted probabilities for each class.
|
|
168
|
+
"""
|
|
169
|
+
return self._alg_pred_logprob.compute(X, self._model).logProbabilities
|
|
170
|
+
|
|
171
|
+
predict_log_proba.__doc__ = predict_log_proba.__doc__.replace(
|
|
172
|
+
r"%docstring_X%", _docstring_X
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
def predict_multiple(
|
|
176
|
+
self, X, classes: bool = True, proba: bool = True, log_proba: bool = True
|
|
177
|
+
) -> classifier_prediction_result:
|
|
178
|
+
"""
|
|
179
|
+
Make multiple prediction types at once
|
|
180
|
+
|
|
181
|
+
A method that can output the results from ``predict``, ``predict_proba``, and ``predict_log_proba``
|
|
182
|
+
all together in the same call more efficiently than computing them independently.
|
|
183
|
+
|
|
184
|
+
%docstring_X%
|
|
185
|
+
classes : bool
|
|
186
|
+
Whether to output class predictions (what is obtained from :meth:`predict`).
|
|
187
|
+
proba : bool
|
|
188
|
+
Whether to output per-class probability predictions (what is obtained from
|
|
189
|
+
:meth:`predict_proba`).
|
|
190
|
+
log_proba : bool
|
|
191
|
+
Whether to output per-class logarithms of probabilities (what is obtained
|
|
192
|
+
from :meth:`predict_log_proba`).
|
|
193
|
+
|
|
194
|
+
Returns
|
|
195
|
+
-------
|
|
196
|
+
predictions : classifier_prediction_result
|
|
197
|
+
An object of class :obj:`daal4py.classifier_prediction_result` with the requested
|
|
198
|
+
prediction types for the same ``X`` data.
|
|
199
|
+
"""
|
|
200
|
+
pred_request = "|".join(
|
|
201
|
+
(["computeClassLabels"] if classes else [])
|
|
202
|
+
+ (["computeClassProbabilities"] if proba else [])
|
|
203
|
+
+ (["computeClassLogProbabilities"] if log_proba else [])
|
|
204
|
+
)
|
|
205
|
+
if not len(pred_request):
|
|
206
|
+
raise ValueError(
|
|
207
|
+
"Must request at least one of 'classes', 'proba', 'log_proba'."
|
|
208
|
+
)
|
|
209
|
+
return logistic_regression_prediction(
|
|
210
|
+
nClasses=self.n_classes_,
|
|
211
|
+
fptype=self._fptype,
|
|
212
|
+
resultsToEvaluate=pred_request,
|
|
213
|
+
).compute(X, self._model)
|
|
214
|
+
|
|
215
|
+
predict_multiple.__doc__ = predict_multiple.__doc__.replace(
|
|
216
|
+
r"%docstring_X%", _docstring_X
|
|
217
|
+
)
|
|
@@ -32,6 +32,15 @@ except (ImportError, ModuleNotFoundError):
|
|
|
32
32
|
|
|
33
33
|
from sklearn.utils.metaestimators import available_if
|
|
34
34
|
|
|
35
|
+
from .gbt_convertors import (
|
|
36
|
+
get_catboost_params,
|
|
37
|
+
get_gbt_model_from_catboost,
|
|
38
|
+
get_gbt_model_from_lightgbm,
|
|
39
|
+
get_gbt_model_from_xgboost,
|
|
40
|
+
get_lightgbm_params,
|
|
41
|
+
get_xgboost_params,
|
|
42
|
+
)
|
|
43
|
+
|
|
35
44
|
|
|
36
45
|
def parse_dtype(dt):
|
|
37
46
|
if dt == np.double:
|
|
@@ -85,18 +94,18 @@ class GBTDAALBaseModel:
|
|
|
85
94
|
self.n_features_in_ = len(params["features_info"]["float_features"])
|
|
86
95
|
|
|
87
96
|
def _convert_model_from_lightgbm(self, booster):
|
|
88
|
-
lgbm_params =
|
|
89
|
-
self.daal_model_ =
|
|
97
|
+
lgbm_params = get_lightgbm_params(booster)
|
|
98
|
+
self.daal_model_ = get_gbt_model_from_lightgbm(booster, lgbm_params)
|
|
90
99
|
self._get_params_from_lightgbm(lgbm_params)
|
|
91
100
|
|
|
92
101
|
def _convert_model_from_xgboost(self, booster):
|
|
93
|
-
xgb_params =
|
|
94
|
-
self.daal_model_ =
|
|
102
|
+
xgb_params = get_xgboost_params(booster)
|
|
103
|
+
self.daal_model_ = get_gbt_model_from_xgboost(booster, xgb_params)
|
|
95
104
|
self._get_params_from_xgboost(xgb_params)
|
|
96
105
|
|
|
97
106
|
def _convert_model_from_catboost(self, booster):
|
|
98
|
-
catboost_params =
|
|
99
|
-
self.daal_model_ =
|
|
107
|
+
catboost_params = get_catboost_params(booster)
|
|
108
|
+
self.daal_model_ = get_gbt_model_from_catboost(booster)
|
|
100
109
|
self._get_params_from_catboost(catboost_params)
|
|
101
110
|
|
|
102
111
|
def _convert_model(self, model):
|
|
@@ -108,85 +117,31 @@ class GBTDAALBaseModel:
|
|
|
108
117
|
|
|
109
118
|
# Build GBTDAALClassifier from LightGBM
|
|
110
119
|
if (submodule_name, class_name) == ("lightgbm.sklearn", "LGBMClassifier"):
|
|
111
|
-
|
|
112
|
-
self._convert_model_from_lightgbm(model.booster_)
|
|
113
|
-
else:
|
|
114
|
-
raise TypeError(
|
|
115
|
-
f"Only GBTDAALClassifier can be created from\
|
|
116
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
117
|
-
)
|
|
120
|
+
self._convert_model_from_lightgbm(model.booster_)
|
|
118
121
|
# Build GBTDAALClassifier from XGBoost
|
|
119
122
|
elif (submodule_name, class_name) == ("xgboost.sklearn", "XGBClassifier"):
|
|
120
|
-
|
|
121
|
-
self._convert_model_from_xgboost(model.get_booster())
|
|
122
|
-
else:
|
|
123
|
-
raise TypeError(
|
|
124
|
-
f"Only GBTDAALClassifier can be created from\
|
|
125
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
126
|
-
)
|
|
123
|
+
self._convert_model_from_xgboost(model.get_booster())
|
|
127
124
|
# Build GBTDAALClassifier from CatBoost
|
|
128
125
|
elif (submodule_name, class_name) == ("catboost.core", "CatBoostClassifier"):
|
|
129
|
-
|
|
130
|
-
self._convert_model_from_catboost(model)
|
|
131
|
-
else:
|
|
132
|
-
raise TypeError(
|
|
133
|
-
f"Only GBTDAALClassifier can be created from\
|
|
134
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
135
|
-
)
|
|
126
|
+
self._convert_model_from_catboost(model)
|
|
136
127
|
# Build GBTDAALRegressor from LightGBM
|
|
137
128
|
elif (submodule_name, class_name) == ("lightgbm.sklearn", "LGBMRegressor"):
|
|
138
|
-
|
|
139
|
-
self._convert_model_from_lightgbm(model.booster_)
|
|
140
|
-
else:
|
|
141
|
-
raise TypeError(
|
|
142
|
-
f"Only GBTDAALRegressor can be created from\
|
|
143
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
144
|
-
)
|
|
129
|
+
self._convert_model_from_lightgbm(model.booster_)
|
|
145
130
|
# Build GBTDAALRegressor from XGBoost
|
|
146
131
|
elif (submodule_name, class_name) == ("xgboost.sklearn", "XGBRegressor"):
|
|
147
|
-
|
|
148
|
-
self._convert_model_from_xgboost(model.get_booster())
|
|
149
|
-
else:
|
|
150
|
-
raise TypeError(
|
|
151
|
-
f"Only GBTDAALRegressor can be created from\
|
|
152
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
153
|
-
)
|
|
132
|
+
self._convert_model_from_xgboost(model.get_booster())
|
|
154
133
|
# Build GBTDAALRegressor from CatBoost
|
|
155
134
|
elif (submodule_name, class_name) == ("catboost.core", "CatBoostRegressor"):
|
|
156
|
-
|
|
157
|
-
self._convert_model_from_catboost(model)
|
|
158
|
-
else:
|
|
159
|
-
raise TypeError(
|
|
160
|
-
f"Only GBTDAALRegressor can be created from\
|
|
161
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
162
|
-
)
|
|
135
|
+
self._convert_model_from_catboost(model)
|
|
163
136
|
# Build GBTDAALModel from LightGBM
|
|
164
137
|
elif (submodule_name, class_name) == ("lightgbm.basic", "Booster"):
|
|
165
|
-
|
|
166
|
-
self._convert_model_from_lightgbm(model)
|
|
167
|
-
else:
|
|
168
|
-
raise TypeError(
|
|
169
|
-
f"Only GBTDAALModel can be created from\
|
|
170
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
171
|
-
)
|
|
138
|
+
self._convert_model_from_lightgbm(model)
|
|
172
139
|
# Build GBTDAALModel from XGBoost
|
|
173
140
|
elif (submodule_name, class_name) == ("xgboost.core", "Booster"):
|
|
174
|
-
|
|
175
|
-
self._convert_model_from_xgboost(model)
|
|
176
|
-
else:
|
|
177
|
-
raise TypeError(
|
|
178
|
-
f"Only GBTDAALModel can be created from\
|
|
179
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
180
|
-
)
|
|
141
|
+
self._convert_model_from_xgboost(model)
|
|
181
142
|
# Build GBTDAALModel from CatBoost
|
|
182
143
|
elif (submodule_name, class_name) == ("catboost.core", "CatBoost"):
|
|
183
|
-
|
|
184
|
-
self._convert_model_from_catboost(model)
|
|
185
|
-
else:
|
|
186
|
-
raise TypeError(
|
|
187
|
-
f"Only GBTDAALModel can be created from\
|
|
188
|
-
{submodule_name}.{class_name} (got {self_class_name})"
|
|
189
|
-
)
|
|
144
|
+
self._convert_model_from_catboost(model)
|
|
190
145
|
else:
|
|
191
146
|
raise TypeError(f"Unknown model format {submodule_name}.{class_name}")
|
|
192
147
|
|
|
@@ -335,7 +290,61 @@ class GBTDAALBaseModel:
|
|
|
335
290
|
|
|
336
291
|
|
|
337
292
|
class GBTDAALModel(GBTDAALBaseModel):
|
|
338
|
-
|
|
293
|
+
"""
|
|
294
|
+
Gradient Boosted Decision Tree Model
|
|
295
|
+
|
|
296
|
+
Model class offering accelerated predictions for gradient-boosted decision
|
|
297
|
+
tree models from other libraries.
|
|
298
|
+
|
|
299
|
+
Objects of this class are meant to be initialized from GBT model objects
|
|
300
|
+
created through other libraries, returning a different class which can calculate
|
|
301
|
+
predictions faster than the original library that created said model.
|
|
302
|
+
|
|
303
|
+
Can be created from model objects that meet all of the following criteria:
|
|
304
|
+
|
|
305
|
+
- Were produced from one of the following libraries: ``xgboost``, ``lightgbm``, or ``catboost``.
|
|
306
|
+
It can work with either the base booster classes of those libraries or with their
|
|
307
|
+
scikit-learn-compatible classes.
|
|
308
|
+
- Do not use categorical features.
|
|
309
|
+
- Are for regression or classification (e.g. no ranking). In the case of XGBoost objective
|
|
310
|
+
``binary:logitraw``, it will create a classification model out of it, and in the case of
|
|
311
|
+
objective ``reg:logistic``, will create a regression model.
|
|
312
|
+
- Are not multi-output models. Note that multi-class classification **is** supported.
|
|
313
|
+
|
|
314
|
+
Parameters
|
|
315
|
+
----------
|
|
316
|
+
model : booster object from another library
|
|
317
|
+
The fitted GBT model from which this object will be created. See rest of the documentation
|
|
318
|
+
for supported input types.
|
|
319
|
+
"""
|
|
320
|
+
|
|
321
|
+
def __init__(self, model):
|
|
322
|
+
self._convert_model(model)
|
|
323
|
+
for type_str in ("xgboost", "lightgbm", "catboost"):
|
|
324
|
+
if type_str in str(type(model)):
|
|
325
|
+
self.model_type = type_str
|
|
326
|
+
break
|
|
327
|
+
|
|
328
|
+
def predict(
|
|
329
|
+
self, X, pred_contribs: bool = False, pred_interactions: bool = False
|
|
330
|
+
) -> np.ndarray:
|
|
331
|
+
"""
|
|
332
|
+
Compute model predictions on new data
|
|
333
|
+
|
|
334
|
+
Computes the predicted values of the response variable for new data given the features / covariates
|
|
335
|
+
for each row.
|
|
336
|
+
|
|
337
|
+
In the case of classification models, this will output the most probable class (see
|
|
338
|
+
:meth:`predict_proba` for probability predictions), while in the case of regression
|
|
339
|
+
models, will output values in the link scale (what XGBoost calls 'margin' and LightGBM
|
|
340
|
+
calls 'raw').
|
|
341
|
+
|
|
342
|
+
:param X: The features covariates. Should be an array of shape ``[num_samples, num_features]``.
|
|
343
|
+
:param bool pred_contribs: Whether to predict feature contributions. Result should have shape ``[num_samples, num_features+1]``, with the last column corresponding to the intercept. See :obj:`xgboost.Booster.predict` for more details about this type of computation.
|
|
344
|
+
:param bool pred_interactions: Whether to predict feature interactions. Result should have shape ``[num_samples, num_features+1, num_features+1]``, with the last position across the last two dimensions corresponding to the intercept. See :obj:`xgboost.Booster.predict` for more details about this type of computation.
|
|
345
|
+
|
|
346
|
+
:rtype: np.ndarray
|
|
347
|
+
"""
|
|
339
348
|
fptype = getFPType(X)
|
|
340
349
|
if self._is_regression:
|
|
341
350
|
return self._predict_regression(X, fptype, pred_contribs, pred_interactions)
|
|
@@ -348,30 +357,29 @@ class GBTDAALModel(GBTDAALBaseModel):
|
|
|
348
357
|
X, fptype, "computeClassLabels", pred_contribs, pred_interactions
|
|
349
358
|
)
|
|
350
359
|
|
|
351
|
-
|
|
360
|
+
@property
|
|
361
|
+
def is_classifier_(self) -> bool:
|
|
362
|
+
"""Whether this is a classification model"""
|
|
352
363
|
return not self._is_regression
|
|
353
364
|
|
|
354
|
-
@
|
|
355
|
-
def
|
|
356
|
-
|
|
357
|
-
return self.
|
|
365
|
+
@property
|
|
366
|
+
def is_regressor_(self) -> bool:
|
|
367
|
+
"""Whether this is a regression model"""
|
|
368
|
+
return self._is_regression
|
|
358
369
|
|
|
370
|
+
def _check_proba(self):
|
|
371
|
+
return not self._is_regression
|
|
359
372
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
except TypeError as err:
|
|
365
|
-
if "Only GBTDAALRegressor can be created" in str(err):
|
|
366
|
-
gbm = d4p.sklearn.ensemble.GBTDAALRegressor.convert_model(model)
|
|
367
|
-
elif "Only GBTDAALClassifier can be created" in str(err):
|
|
368
|
-
gbm = d4p.sklearn.ensemble.GBTDAALClassifier.convert_model(model)
|
|
369
|
-
else:
|
|
370
|
-
raise
|
|
373
|
+
@available_if(_check_proba)
|
|
374
|
+
def predict_proba(self, X) -> np.ndarray:
|
|
375
|
+
"""
|
|
376
|
+
Predict class probabilities
|
|
371
377
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
gbm.model_type = type_str
|
|
375
|
-
break
|
|
378
|
+
Computes the predicted probabilities of belonging to each class for each row in the
|
|
379
|
+
input data given the features / covariates. Output shape is ``[num_samples, num_classes]``.
|
|
376
380
|
|
|
377
|
-
|
|
381
|
+
:param X: The features covariates. Should be an array of shape ``[num_samples, num_features]``.
|
|
382
|
+
:rtype: np.ndarray
|
|
383
|
+
"""
|
|
384
|
+
fptype = getFPType(X)
|
|
385
|
+
return self._predict_classification(X, fptype, "computeClassProbabilities")
|
|
Binary file
|
|
@@ -82,7 +82,7 @@ def _run_with_n_jobs(method):
|
|
|
82
82
|
if not isinstance(threading.current_thread(), threading._MainThread):
|
|
83
83
|
warn(
|
|
84
84
|
"'Threading' parallel backend is not supported by "
|
|
85
|
-
"
|
|
85
|
+
"Extension for Scikit-learn*. "
|
|
86
86
|
"Falling back to usage of all available threads."
|
|
87
87
|
)
|
|
88
88
|
result = method(self, *args, **kwargs)
|
|
@@ -214,7 +214,11 @@ def control_n_jobs(decorated_methods: list = []):
|
|
|
214
214
|
and "n_jobs : int" not in original_class.__doc__
|
|
215
215
|
):
|
|
216
216
|
# Python 3.13 removed extra tab in class doc string
|
|
217
|
-
tab =
|
|
217
|
+
tab = (
|
|
218
|
+
" "
|
|
219
|
+
if (sys.version_info.major == 3 and sys.version_info.minor < 13)
|
|
220
|
+
else ""
|
|
221
|
+
)
|
|
218
222
|
parameters_doc_tail = f"\n{tab}Attributes"
|
|
219
223
|
n_jobs_doc = f"""
|
|
220
224
|
{tab}n_jobs : int, default=None
|
|
@@ -231,7 +231,7 @@ class PatchingConditionsChain:
|
|
|
231
231
|
else:
|
|
232
232
|
self.logger.debug(
|
|
233
233
|
f"{self.scope_name}: debugging for the patch is enabled to track"
|
|
234
|
-
" the usage of
|
|
234
|
+
" the usage of oneAPI Data Analytics Library (oneDAL)"
|
|
235
235
|
)
|
|
236
236
|
for message in self.messages:
|
|
237
237
|
self.logger.debug(
|
|
@@ -26,6 +26,7 @@ import daal4py
|
|
|
26
26
|
|
|
27
27
|
from .._n_jobs_support import control_n_jobs
|
|
28
28
|
from .._utils import PatchingConditionsChain, getFPType, make2d, sklearn_check_version
|
|
29
|
+
from ..utils.validation import check_feature_names
|
|
29
30
|
|
|
30
31
|
if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
|
|
31
32
|
from sklearn.utils import check_scalar
|
|
@@ -121,8 +122,7 @@ class DBSCAN(DBSCAN_original):
|
|
|
121
122
|
if self.eps <= 0.0:
|
|
122
123
|
raise ValueError(f"eps == {self.eps}, must be > 0.0.")
|
|
123
124
|
|
|
124
|
-
|
|
125
|
-
self._check_feature_names(X, reset=True)
|
|
125
|
+
check_feature_names(self, X, reset=True)
|
|
126
126
|
|
|
127
127
|
if sample_weight is not None:
|
|
128
128
|
sample_weight = _check_sample_weight(sample_weight, X)
|
|
@@ -36,6 +36,7 @@ import daal4py
|
|
|
36
36
|
|
|
37
37
|
from .._n_jobs_support import control_n_jobs
|
|
38
38
|
from .._utils import PatchingConditionsChain, getFPType, sklearn_check_version
|
|
39
|
+
from ..utils.validation import check_feature_names, validate_data
|
|
39
40
|
|
|
40
41
|
if sklearn_check_version("1.1"):
|
|
41
42
|
from sklearn.utils.validation import _check_sample_weight, _is_arraylike_not_scalar
|
|
@@ -262,7 +263,8 @@ def _fit(self, X, y=None, sample_weight=None):
|
|
|
262
263
|
if sklearn_check_version("1.2"):
|
|
263
264
|
self._validate_params()
|
|
264
265
|
|
|
265
|
-
X =
|
|
266
|
+
X = validate_data(
|
|
267
|
+
self,
|
|
266
268
|
X,
|
|
267
269
|
accept_sparse="csr",
|
|
268
270
|
dtype=[np.float64, np.float32],
|
|
@@ -310,8 +312,7 @@ def _fit(self, X, y=None, sample_weight=None):
|
|
|
310
312
|
raise ValueError(f"n_init should be > 0, got {self.n_init} instead.")
|
|
311
313
|
|
|
312
314
|
random_state = check_random_state(self.random_state)
|
|
313
|
-
|
|
314
|
-
self._check_feature_names(X, reset=True)
|
|
315
|
+
check_feature_names(self, X, reset=True)
|
|
315
316
|
|
|
316
317
|
if self.max_iter <= 0:
|
|
317
318
|
raise ValueError(f"max_iter should be > 0, got {self.max_iter} instead.")
|
|
@@ -413,8 +414,7 @@ def _fit(self, X, y=None, sample_weight=None):
|
|
|
413
414
|
|
|
414
415
|
|
|
415
416
|
def _daal4py_check_test_data(self, X):
|
|
416
|
-
|
|
417
|
-
self._check_feature_names(X, reset=False)
|
|
417
|
+
check_feature_names(self, X, reset=False)
|
|
418
418
|
X = check_array(
|
|
419
419
|
X, accept_sparse="csr", dtype=[np.float64, np.float32], accept_large_sparse=False
|
|
420
420
|
)
|
|
@@ -514,34 +514,6 @@ class KMeans(KMeans_original):
|
|
|
514
514
|
algorithm=algorithm,
|
|
515
515
|
)
|
|
516
516
|
|
|
517
|
-
elif sklearn_check_version("1.0"):
|
|
518
|
-
|
|
519
|
-
@_deprecate_positional_args
|
|
520
|
-
def __init__(
|
|
521
|
-
self,
|
|
522
|
-
n_clusters=8,
|
|
523
|
-
*,
|
|
524
|
-
init="k-means++",
|
|
525
|
-
n_init=10,
|
|
526
|
-
max_iter=300,
|
|
527
|
-
tol=1e-4,
|
|
528
|
-
verbose=0,
|
|
529
|
-
random_state=None,
|
|
530
|
-
copy_x=True,
|
|
531
|
-
algorithm="lloyd" if sklearn_check_version("1.1") else "auto",
|
|
532
|
-
):
|
|
533
|
-
super(KMeans, self).__init__(
|
|
534
|
-
n_clusters=n_clusters,
|
|
535
|
-
init=init,
|
|
536
|
-
max_iter=max_iter,
|
|
537
|
-
tol=tol,
|
|
538
|
-
n_init=n_init,
|
|
539
|
-
verbose=verbose,
|
|
540
|
-
random_state=random_state,
|
|
541
|
-
copy_x=copy_x,
|
|
542
|
-
algorithm=algorithm,
|
|
543
|
-
)
|
|
544
|
-
|
|
545
517
|
else:
|
|
546
518
|
|
|
547
519
|
@_deprecate_positional_args
|
|
@@ -553,24 +525,20 @@ class KMeans(KMeans_original):
|
|
|
553
525
|
n_init=10,
|
|
554
526
|
max_iter=300,
|
|
555
527
|
tol=1e-4,
|
|
556
|
-
precompute_distances="deprecated",
|
|
557
528
|
verbose=0,
|
|
558
529
|
random_state=None,
|
|
559
530
|
copy_x=True,
|
|
560
|
-
|
|
561
|
-
algorithm="auto",
|
|
531
|
+
algorithm="lloyd" if sklearn_check_version("1.1") else "auto",
|
|
562
532
|
):
|
|
563
533
|
super(KMeans, self).__init__(
|
|
564
534
|
n_clusters=n_clusters,
|
|
565
535
|
init=init,
|
|
566
536
|
max_iter=max_iter,
|
|
567
537
|
tol=tol,
|
|
568
|
-
precompute_distances=precompute_distances,
|
|
569
538
|
n_init=n_init,
|
|
570
539
|
verbose=verbose,
|
|
571
540
|
random_state=random_state,
|
|
572
541
|
copy_x=copy_x,
|
|
573
|
-
n_jobs=n_jobs,
|
|
574
542
|
algorithm=algorithm,
|
|
575
543
|
)
|
|
576
544
|
|
|
@@ -27,6 +27,7 @@ import daal4py
|
|
|
27
27
|
|
|
28
28
|
from .._n_jobs_support import control_n_jobs
|
|
29
29
|
from .._utils import PatchingConditionsChain, getFPType, sklearn_check_version
|
|
30
|
+
from ..utils.validation import check_feature_names, validate_data
|
|
30
31
|
|
|
31
32
|
if sklearn_check_version("1.4"):
|
|
32
33
|
from sklearn.utils._array_api import get_namespace
|
|
@@ -223,7 +224,8 @@ class PCA(PCA_original):
|
|
|
223
224
|
"PCA with svd_solver='arpack' is not supported for Array API inputs."
|
|
224
225
|
)
|
|
225
226
|
|
|
226
|
-
X =
|
|
227
|
+
X = validate_data(
|
|
228
|
+
self,
|
|
227
229
|
X,
|
|
228
230
|
dtype=[xp.float64, xp.float32],
|
|
229
231
|
accept_sparse=("csr", "csc"),
|
|
@@ -237,8 +239,8 @@ class PCA(PCA_original):
|
|
|
237
239
|
"PCA does not support sparse input. See "
|
|
238
240
|
"TruncatedSVD for a possible alternative."
|
|
239
241
|
)
|
|
240
|
-
X =
|
|
241
|
-
X, dtype=[np.float64, np.float32], ensure_2d=True, copy=False
|
|
242
|
+
X = validate_data(
|
|
243
|
+
self, X, dtype=[np.float64, np.float32], ensure_2d=True, copy=False
|
|
242
244
|
)
|
|
243
245
|
|
|
244
246
|
if self.n_components is None:
|
|
@@ -291,9 +293,9 @@ class PCA(PCA_original):
|
|
|
291
293
|
|
|
292
294
|
if not shape_good_for_daal or self._fit_svd_solver != "full":
|
|
293
295
|
if sklearn_check_version("1.4"):
|
|
294
|
-
X = self
|
|
296
|
+
X = validate_data(self, X, copy=self.copy, accept_sparse=("csr", "csc"))
|
|
295
297
|
else:
|
|
296
|
-
X = self
|
|
298
|
+
X = validate_data(self, X, copy=self.copy)
|
|
297
299
|
|
|
298
300
|
_patching_status = PatchingConditionsChain("sklearn.decomposition.PCA.fit")
|
|
299
301
|
_dal_ready = _patching_status.and_conditions(
|
|
@@ -333,9 +335,11 @@ class PCA(PCA_original):
|
|
|
333
335
|
def _transform_daal4py(self, X, whiten=False, scale_eigenvalues=True, check_X=True):
|
|
334
336
|
check_is_fitted(self)
|
|
335
337
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
338
|
+
check_feature_names(self, X, reset=False)
|
|
339
|
+
if sklearn_check_version("1.6"):
|
|
340
|
+
X = check_array(X, dtype=[np.float64, np.float32], ensure_all_finite=check_X)
|
|
341
|
+
else:
|
|
342
|
+
X = check_array(X, dtype=[np.float64, np.float32], force_all_finite=check_X)
|
|
339
343
|
fpType = getFPType(X)
|
|
340
344
|
|
|
341
345
|
tr_data = dict()
|