scikit-learn-intelex 2025.6.1__py310-none-win_amd64.whl → 2025.8.0__py310-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.8.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +2 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +258 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +30 -5
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +4 -4
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +616 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +15 -16
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/__init__.py +26 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_config.py +5 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_device_offload.py +84 -94
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +151 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +42 -57
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +6 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +11 -11
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +7 -25
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +18 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_backend.py +62 -37
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +32 -9
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +6 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +10 -12
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +8 -16
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +12 -2
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +156 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +61 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +63 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +8 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +61 -19
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +8 -17
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +6 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +15 -9
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +201 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +230 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +14 -15
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +10 -17
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +64 -17
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -12
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +15 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +23 -6
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +25 -25
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +106 -54
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/utils/_third_party.py +220 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/validation.py +11 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__init__.py +2 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_config.py +17 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +45 -34
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_utils.py +52 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/base.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +31 -45
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +50 -55
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +30 -27
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +1 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +14 -5
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +21 -9
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +54 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +13 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +17 -5
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +22 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +2 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +90 -73
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +83 -60
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +53 -41
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +11 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +47 -27
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +27 -61
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +577 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +8 -6
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +54 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +7 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +6 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +12 -8
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +11 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -7
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +21 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +31 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +41 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +77 -6
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +13 -13
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +4 -22
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +71 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +29 -11
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.8.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1025
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +0 -111
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -117
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +0 -311
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +0 -351
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +0 -71
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
- scikit_learn_intelex-2025.6.1.dist-info/RECORD +0 -257
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/top_level.txt +0 -0
|
@@ -21,9 +21,34 @@ from daal4py.sklearn._utils import daal_check_version
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class Backend:
|
|
24
|
-
"""Encapsulates the oneDAL pybind11 modules and provides a unified interface to it together with additional properties about dpc/spmd policies"""
|
|
25
24
|
|
|
26
25
|
def __init__(self, backend_module, is_dpc, is_spmd):
|
|
26
|
+
"""A unified interface to an available oneDAL pybind11 module.
|
|
27
|
+
|
|
28
|
+
This class encapsulates a oneDAL pybind11 module allowing for
|
|
29
|
+
dynamic access of module objects. This simplifies method and
|
|
30
|
+
attribute access in sklearnex without aliasing in sys.modules.
|
|
31
|
+
It contains additional attributes for inspection of the pybind11
|
|
32
|
+
module type (i.e. dpc or spmd) for use in policy creation.
|
|
33
|
+
|
|
34
|
+
Parameters
|
|
35
|
+
----------
|
|
36
|
+
backend_module : oneDAL pybind11 module
|
|
37
|
+
Pybind11 module to be encapsulated.
|
|
38
|
+
|
|
39
|
+
is_dpc : bool
|
|
40
|
+
Flag describing if the module is Data Parallel C++-enabled.
|
|
41
|
+
|
|
42
|
+
is_spmd : bool
|
|
43
|
+
Flag describing if the module is single program, multiple
|
|
44
|
+
data enabled.
|
|
45
|
+
|
|
46
|
+
Returns
|
|
47
|
+
-------
|
|
48
|
+
self : Backend
|
|
49
|
+
Encapsulated oneDAL pybind11 module.
|
|
50
|
+
"""
|
|
51
|
+
|
|
27
52
|
self.backend = backend_module
|
|
28
53
|
self.is_dpc = is_dpc
|
|
29
54
|
self.is_spmd = is_spmd
|
|
@@ -59,13 +59,14 @@ def _get_onedal_threadlocal_config():
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
def _get_config(copy=True):
|
|
62
|
-
"""Retrieve current
|
|
63
|
-
|
|
62
|
+
"""Retrieve current configuration set by :func:`sklearnex.set_config`
|
|
63
|
+
|
|
64
64
|
Parameters
|
|
65
65
|
----------
|
|
66
66
|
copy : bool, default=True
|
|
67
|
-
If False, a mutable view of the configuration is returned. Each
|
|
68
|
-
has a separate copy of the configuration.
|
|
67
|
+
If 'False', a mutable view of the configuration is returned. Each
|
|
68
|
+
thread has a separate copy of the configuration.
|
|
69
|
+
|
|
69
70
|
Returns
|
|
70
71
|
-------
|
|
71
72
|
config : dict
|
|
@@ -16,34 +16,39 @@
|
|
|
16
16
|
|
|
17
17
|
import inspect
|
|
18
18
|
import logging
|
|
19
|
-
from collections.abc import Iterable
|
|
20
19
|
from functools import wraps
|
|
20
|
+
from operator import xor
|
|
21
21
|
|
|
22
22
|
import numpy as np
|
|
23
23
|
from sklearn import get_config
|
|
24
24
|
|
|
25
25
|
from ._config import _get_config
|
|
26
|
+
from .datatypes import copy_to_dpnp, copy_to_usm, dlpack_to_numpy
|
|
26
27
|
from .utils import _sycl_queue_manager as QM
|
|
27
|
-
from .utils._array_api import _asarray, _is_numpy_namespace
|
|
28
|
-
from .utils.
|
|
29
|
-
|
|
30
|
-
if dpctl_available:
|
|
31
|
-
from dpctl.memory import MemoryUSMDevice, as_usm_memory
|
|
32
|
-
from dpctl.tensor import usm_ndarray
|
|
33
|
-
else:
|
|
34
|
-
from onedal import _dpc_backend
|
|
35
|
-
|
|
36
|
-
SyclQueue = getattr(_dpc_backend, "SyclQueue", None)
|
|
28
|
+
from .utils._array_api import _asarray, _get_sycl_namespace, _is_numpy_namespace
|
|
29
|
+
from .utils._third_party import is_dpnp_ndarray
|
|
37
30
|
|
|
38
31
|
logger = logging.getLogger("sklearnex")
|
|
39
32
|
|
|
40
33
|
|
|
41
34
|
def supports_queue(func):
|
|
42
|
-
"""
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
If
|
|
46
|
-
|
|
35
|
+
"""Decorator that updates the global queue before function evaluation.
|
|
36
|
+
|
|
37
|
+
The global queue is updated based on provided queue and global configuration.
|
|
38
|
+
If a ``queue`` keyword argument is provided in the decorated function, its
|
|
39
|
+
value will be used globally. If no queue is provided, the global queue will
|
|
40
|
+
be updated from the provided data. In either case, all data objects are
|
|
41
|
+
verified to be on the same device (or on host).
|
|
42
|
+
|
|
43
|
+
Parameters
|
|
44
|
+
----------
|
|
45
|
+
func : callable
|
|
46
|
+
Function to be wrapped for SYCL queue use in oneDAL.
|
|
47
|
+
|
|
48
|
+
Returns
|
|
49
|
+
-------
|
|
50
|
+
wrapper : callable
|
|
51
|
+
Wrapped function.
|
|
47
52
|
"""
|
|
48
53
|
|
|
49
54
|
@wraps(func)
|
|
@@ -57,75 +62,24 @@ def supports_queue(func):
|
|
|
57
62
|
return wrapper
|
|
58
63
|
|
|
59
64
|
|
|
60
|
-
if dpnp_available:
|
|
61
|
-
import dpnp
|
|
62
|
-
|
|
63
|
-
from .utils._array_api import _convert_to_dpnp
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def _copy_to_usm(queue, array):
|
|
67
|
-
if not dpctl_available:
|
|
68
|
-
raise RuntimeError(
|
|
69
|
-
"dpctl need to be installed to work " "with __sycl_usm_array_interface__"
|
|
70
|
-
)
|
|
71
|
-
|
|
72
|
-
if hasattr(array, "__array__"):
|
|
73
|
-
|
|
74
|
-
try:
|
|
75
|
-
mem = MemoryUSMDevice(array.nbytes, queue=queue)
|
|
76
|
-
mem.copy_from_host(array.tobytes())
|
|
77
|
-
return usm_ndarray(array.shape, array.dtype, buffer=mem)
|
|
78
|
-
except ValueError as e:
|
|
79
|
-
# ValueError will raise if device does not support the dtype
|
|
80
|
-
# retry with float32 (needed for fp16 and fp64 support issues)
|
|
81
|
-
# try again as float32, if it is a float32 just raise the error.
|
|
82
|
-
if array.dtype == np.float32:
|
|
83
|
-
raise e
|
|
84
|
-
return _copy_to_usm(queue, array.astype(np.float32))
|
|
85
|
-
else:
|
|
86
|
-
if isinstance(array, Iterable):
|
|
87
|
-
array = [_copy_to_usm(queue, i) for i in array]
|
|
88
|
-
return array
|
|
89
|
-
|
|
90
|
-
|
|
91
65
|
def _transfer_to_host(*data):
|
|
92
|
-
has_usm_data
|
|
66
|
+
has_usm_data = None
|
|
93
67
|
|
|
94
68
|
host_data = []
|
|
95
69
|
for item in data:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
order = "F"
|
|
110
|
-
item = np.ndarray(
|
|
111
|
-
shape=usm_iface["shape"],
|
|
112
|
-
dtype=usm_iface["typestr"],
|
|
113
|
-
buffer=buffer,
|
|
114
|
-
order=order,
|
|
115
|
-
)
|
|
116
|
-
has_usm_data = True
|
|
117
|
-
elif array_api and not _is_numpy_namespace(array_api):
|
|
118
|
-
# `copy`` param for the `asarray`` is not setted.
|
|
119
|
-
# The object is copied only if needed.
|
|
120
|
-
item = np.asarray(item)
|
|
121
|
-
has_host_data = True
|
|
122
|
-
else:
|
|
123
|
-
has_host_data = True
|
|
124
|
-
|
|
125
|
-
mismatch_host_item = usm_iface is None and item is not None and has_usm_data
|
|
126
|
-
mismatch_usm_item = usm_iface is not None and has_host_data
|
|
127
|
-
|
|
128
|
-
if mismatch_host_item or mismatch_usm_item:
|
|
70
|
+
if item is None:
|
|
71
|
+
host_data.append(item)
|
|
72
|
+
continue
|
|
73
|
+
|
|
74
|
+
if usm_iface := hasattr(item, "__sycl_usm_array_interface__"):
|
|
75
|
+
xp = item.__array_namespace__()
|
|
76
|
+
item = xp.asnumpy(item)
|
|
77
|
+
has_usm_data = has_usm_data or has_usm_data is None
|
|
78
|
+
elif not isinstance(item, np.ndarray) and (hasattr(item, "__dlpack_device__")):
|
|
79
|
+
item = dlpack_to_numpy(item)
|
|
80
|
+
|
|
81
|
+
# set has_usm_data to boolean and use xor to see if they don't match
|
|
82
|
+
if xor((has_usm_data := bool(has_usm_data)), usm_iface):
|
|
129
83
|
raise RuntimeError("Input data shall be located on single target device")
|
|
130
84
|
|
|
131
85
|
host_data.append(item)
|
|
@@ -140,10 +94,21 @@ def _get_host_inputs(*args, **kwargs):
|
|
|
140
94
|
|
|
141
95
|
|
|
142
96
|
def support_input_format(func):
|
|
143
|
-
"""
|
|
97
|
+
"""Transform input and output function arrays to/from host.
|
|
98
|
+
|
|
144
99
|
Converts and moves the output arrays of the decorated function
|
|
145
100
|
to match the input array type and device.
|
|
146
101
|
Puts SYCLQueue from data to decorated function arguments.
|
|
102
|
+
|
|
103
|
+
Parameters
|
|
104
|
+
----------
|
|
105
|
+
func : callable
|
|
106
|
+
Function or method which has array data as input.
|
|
107
|
+
|
|
108
|
+
Returns
|
|
109
|
+
-------
|
|
110
|
+
wrapper_impl : callable
|
|
111
|
+
Wrapped function or method which will return matching format.
|
|
147
112
|
"""
|
|
148
113
|
|
|
149
114
|
def invoke_func(self_or_None, *args, **kwargs):
|
|
@@ -174,15 +139,16 @@ def support_input_format(func):
|
|
|
174
139
|
)
|
|
175
140
|
if _get_config()["use_raw_input"] is True and not override_raw_input:
|
|
176
141
|
if "queue" not in kwargs:
|
|
177
|
-
usm_iface
|
|
178
|
-
|
|
179
|
-
|
|
142
|
+
if usm_iface := getattr(args[0], "__sycl_usm_array_interface__", None):
|
|
143
|
+
kwargs["queue"] = usm_iface["syclobj"]
|
|
144
|
+
else:
|
|
145
|
+
kwargs["queue"] = None
|
|
180
146
|
return invoke_func(self, *args, **kwargs)
|
|
181
147
|
elif len(args) == 0 and len(kwargs) == 0:
|
|
182
148
|
# no arguments, there's nothing we can deduce from them -> just call the function
|
|
183
149
|
return invoke_func(self, *args, **kwargs)
|
|
184
150
|
|
|
185
|
-
data = (*args, *kwargs.values())
|
|
151
|
+
data = (*args, *kwargs.values())[0]
|
|
186
152
|
# get and set the global queue from the kwarg or data
|
|
187
153
|
with QM.manage_global_queue(kwargs.get("queue"), *args) as queue:
|
|
188
154
|
hostargs, hostkwargs = _get_host_inputs(*args, **kwargs)
|
|
@@ -191,18 +157,42 @@ def support_input_format(func):
|
|
|
191
157
|
hostkwargs["queue"] = queue
|
|
192
158
|
result = invoke_func(self, *hostargs, **hostkwargs)
|
|
193
159
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
160
|
+
if queue and hasattr(data, "__sycl_usm_array_interface__"):
|
|
161
|
+
return (
|
|
162
|
+
copy_to_dpnp(queue, result)
|
|
163
|
+
if is_dpnp_ndarray(data)
|
|
164
|
+
else copy_to_usm(queue, result)
|
|
165
|
+
)
|
|
200
166
|
|
|
201
167
|
if get_config().get("transform_output") in ("default", None):
|
|
202
|
-
input_array_api = getattr(data
|
|
168
|
+
input_array_api = getattr(data, "__array_namespace__", lambda: None)()
|
|
203
169
|
if input_array_api and not _is_numpy_namespace(input_array_api):
|
|
204
|
-
input_array_api_device = data
|
|
170
|
+
input_array_api_device = data.device
|
|
205
171
|
result = _asarray(result, input_array_api, device=input_array_api_device)
|
|
206
172
|
return result
|
|
207
173
|
|
|
208
174
|
return wrapper_impl
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def support_sycl_format(func):
|
|
178
|
+
# This wrapper enables scikit-learn functions and methods to work with
|
|
179
|
+
# all sycl data frameworks as they no longer support numpy implicit
|
|
180
|
+
# conversion and must be manually converted. This is only necessary
|
|
181
|
+
# when array API is supported but not active.
|
|
182
|
+
|
|
183
|
+
@wraps(func)
|
|
184
|
+
def wrapper(*args, **kwargs):
|
|
185
|
+
if (
|
|
186
|
+
not get_config().get("array_api_dispatch", False)
|
|
187
|
+
and _get_sycl_namespace(*args)[2]
|
|
188
|
+
):
|
|
189
|
+
with QM.manage_global_queue(kwargs.get("queue"), *args):
|
|
190
|
+
if inspect.isfunction(func) and "." in func.__qualname__:
|
|
191
|
+
self, (args, kwargs) = args[0], _get_host_inputs(*args[1:], **kwargs)
|
|
192
|
+
return func(self, *args, **kwargs)
|
|
193
|
+
else:
|
|
194
|
+
args, kwargs = _get_host_inputs(*args, **kwargs)
|
|
195
|
+
return func(*args, **kwargs)
|
|
196
|
+
return func(*args, **kwargs)
|
|
197
|
+
|
|
198
|
+
return wrapper
|
scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd
ADDED
|
Binary file
|
scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd
ADDED
|
Binary file
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
from .._device_offload import supports_queue
|
|
18
|
+
from ..common._backend import bind_default_backend
|
|
19
|
+
from ..datatypes import from_table, to_table
|
|
20
|
+
from ..utils.validation import _is_csr
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class BasicStatistics:
|
|
24
|
+
"""Low order moments oneDAL estimator.
|
|
25
|
+
|
|
26
|
+
Calculate basic statistics for data.
|
|
27
|
+
|
|
28
|
+
Parameters
|
|
29
|
+
----------
|
|
30
|
+
result_options : str or list, default=str('all')
|
|
31
|
+
List of statistics to compute.
|
|
32
|
+
|
|
33
|
+
algorithm : str, default=str('by_default')
|
|
34
|
+
Method for statistics computation.
|
|
35
|
+
|
|
36
|
+
Attributes
|
|
37
|
+
----------
|
|
38
|
+
min : ndarray of shape (n_features,)
|
|
39
|
+
Minimum of each feature over all samples.
|
|
40
|
+
|
|
41
|
+
max : ndarray of shape (n_features,)
|
|
42
|
+
Maximum of each feature over all samples.
|
|
43
|
+
|
|
44
|
+
sum : ndarray of shape (n_features,)
|
|
45
|
+
Sum of each feature over all samples.
|
|
46
|
+
|
|
47
|
+
mean : ndarray of shape (n_features,)
|
|
48
|
+
Mean of each feature over all samples.
|
|
49
|
+
|
|
50
|
+
variance : ndarray of shape (n_features,)
|
|
51
|
+
Variance of each feature over all samples.
|
|
52
|
+
|
|
53
|
+
variation : ndarray of shape (n_features,)
|
|
54
|
+
Variation of each feature over all samples.
|
|
55
|
+
|
|
56
|
+
sum_squares : ndarray of shape (n_features,)
|
|
57
|
+
Sum of squares for each feature over all samples.
|
|
58
|
+
|
|
59
|
+
standard_deviation : ndarray of shape (n_features,)
|
|
60
|
+
Standard deviation of each feature over all samples.
|
|
61
|
+
|
|
62
|
+
sum_squares_centered : ndarray of shape (n_features,)
|
|
63
|
+
Centered sum of squares for each feature over all samples.
|
|
64
|
+
|
|
65
|
+
second_order_raw_moment : ndarray of shape (n_features,)
|
|
66
|
+
Second order moment of each feature over all samples.
|
|
67
|
+
|
|
68
|
+
Notes
|
|
69
|
+
-----
|
|
70
|
+
Attributes are populated only for corresponding result options.
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
def __init__(self, result_options="all", algorithm="by_default"):
|
|
74
|
+
self.options = result_options
|
|
75
|
+
self.algorithm = algorithm
|
|
76
|
+
|
|
77
|
+
@bind_default_backend("basic_statistics")
|
|
78
|
+
def compute(self, params, data_table, weights_table): ...
|
|
79
|
+
|
|
80
|
+
@staticmethod
|
|
81
|
+
def get_all_result_options():
|
|
82
|
+
return [
|
|
83
|
+
"min",
|
|
84
|
+
"max",
|
|
85
|
+
"sum",
|
|
86
|
+
"mean",
|
|
87
|
+
"variance",
|
|
88
|
+
"variation",
|
|
89
|
+
"sum_squares",
|
|
90
|
+
"standard_deviation",
|
|
91
|
+
"sum_squares_centered",
|
|
92
|
+
"second_order_raw_moment",
|
|
93
|
+
]
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def options(self):
|
|
97
|
+
if self._options == ["all"]:
|
|
98
|
+
return self.get_all_result_options()
|
|
99
|
+
return self._options
|
|
100
|
+
|
|
101
|
+
@options.setter
|
|
102
|
+
def options(self, opts):
|
|
103
|
+
# options always to be an iterable
|
|
104
|
+
self._options = opts.split("|") if isinstance(opts, str) else opts
|
|
105
|
+
|
|
106
|
+
def _get_onedal_params(self, is_csr, dtype=None):
|
|
107
|
+
return {
|
|
108
|
+
"fptype": dtype,
|
|
109
|
+
"method": "sparse" if is_csr else self.algorithm,
|
|
110
|
+
"result_option": "|".join(self.options),
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@supports_queue
|
|
114
|
+
def fit(self, X, sample_weight=None, queue=None):
|
|
115
|
+
"""Generate statistics.
|
|
116
|
+
|
|
117
|
+
Parameters
|
|
118
|
+
----------
|
|
119
|
+
X : array-like of shape (n_samples, n_features)
|
|
120
|
+
Training data batch, where `n_samples` is the number of samples
|
|
121
|
+
in the batch, and `n_features` is the number of features.
|
|
122
|
+
|
|
123
|
+
sample_weight : array-like of shape (n_samples,), default=None
|
|
124
|
+
Individual weights for each sample.
|
|
125
|
+
|
|
126
|
+
queue : SyclQueue or None, default=None
|
|
127
|
+
SYCL Queue object for device code execution. Default
|
|
128
|
+
value None causes computation on host.
|
|
129
|
+
|
|
130
|
+
Returns
|
|
131
|
+
-------
|
|
132
|
+
self : object
|
|
133
|
+
Returns the instance itself.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
is_csr = _is_csr(X)
|
|
137
|
+
|
|
138
|
+
is_single_dim = X.ndim == 1
|
|
139
|
+
X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
|
|
140
|
+
|
|
141
|
+
result = self._compute_raw(X_table, sample_weight_table, X_table.dtype, is_csr)
|
|
142
|
+
|
|
143
|
+
for opt in self.options:
|
|
144
|
+
value = from_table(getattr(result, opt), like=X)[0, :] # 2D table [1, n]
|
|
145
|
+
setattr(self, opt + "_", value[0] if is_single_dim else value)
|
|
146
|
+
|
|
147
|
+
return self
|
|
148
|
+
|
|
149
|
+
def _compute_raw(self, data_table, weights_table, dtype=None, is_csr=False):
|
|
150
|
+
params = self._get_onedal_params(is_csr, dtype)
|
|
151
|
+
return self.compute(params, data_table, weights_table)
|
|
@@ -13,30 +13,27 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
from .._device_offload import supports_queue
|
|
17
|
+
from ..common._backend import bind_default_backend
|
|
18
|
+
from ..datatypes import from_table, return_type_constructor, to_table
|
|
19
|
+
from ..utils import _sycl_queue_manager as QM
|
|
20
|
+
from .basic_statistics import BasicStatistics
|
|
17
21
|
|
|
18
|
-
from daal4py.sklearn._utils import get_dtype
|
|
19
|
-
from onedal._device_offload import supports_queue
|
|
20
|
-
from onedal.common._backend import bind_default_backend
|
|
21
|
-
from onedal.utils import _sycl_queue_manager as QM
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
from ..utils._array_api import _get_sycl_namespace
|
|
26
|
-
from ..utils.validation import _check_array
|
|
27
|
-
from .basic_statistics import BaseBasicStatistics
|
|
23
|
+
class IncrementalBasicStatistics(BasicStatistics):
|
|
24
|
+
"""Incremental oneDAL low order moments estimator.
|
|
28
25
|
|
|
26
|
+
Calculate basic statistics for data split into batches.
|
|
29
27
|
|
|
30
|
-
class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
31
|
-
"""
|
|
32
|
-
Incremental estimator for basic statistics based on oneDAL implementation.
|
|
33
|
-
Allows to compute basic statistics if data are splitted into batches.
|
|
34
28
|
Parameters
|
|
35
29
|
----------
|
|
36
|
-
result_options:
|
|
37
|
-
List of statistics to compute
|
|
30
|
+
result_options : str or list, default=str('all')
|
|
31
|
+
List of statistics to compute.
|
|
32
|
+
|
|
33
|
+
algorithm : str, default=str('by_default')
|
|
34
|
+
Method for statistics computation.
|
|
38
35
|
|
|
39
|
-
Attributes
|
|
36
|
+
Attributes
|
|
40
37
|
----------
|
|
41
38
|
min : ndarray of shape (n_features,)
|
|
42
39
|
Minimum of each feature over all samples.
|
|
@@ -67,10 +64,14 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
67
64
|
|
|
68
65
|
second_order_raw_moment : ndarray of shape (n_features,)
|
|
69
66
|
Second order moment of each feature over all samples.
|
|
67
|
+
|
|
68
|
+
Notes
|
|
69
|
+
-----
|
|
70
|
+
Attributes are populated only for corresponding result options.
|
|
70
71
|
"""
|
|
71
72
|
|
|
72
|
-
def __init__(self, result_options="all"):
|
|
73
|
-
super().__init__(result_options, algorithm
|
|
73
|
+
def __init__(self, result_options="all", algorithm="by_default"):
|
|
74
|
+
super().__init__(result_options, algorithm)
|
|
74
75
|
self._reset()
|
|
75
76
|
self._queue = None
|
|
76
77
|
|
|
@@ -85,6 +86,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
85
86
|
|
|
86
87
|
def _reset(self):
|
|
87
88
|
self._need_to_finalize = False
|
|
89
|
+
self._outtype = None
|
|
88
90
|
self._queue = None
|
|
89
91
|
# get the _partial_result pointer from backend
|
|
90
92
|
self._partial_result = self.partial_compute_result()
|
|
@@ -100,10 +102,8 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
100
102
|
return data
|
|
101
103
|
|
|
102
104
|
@supports_queue
|
|
103
|
-
def partial_fit(self, X,
|
|
104
|
-
"""
|
|
105
|
-
Computes partial data for basic statistics
|
|
106
|
-
from data batch X and saves it to `_partial_result`.
|
|
105
|
+
def partial_fit(self, X, sample_weight=None, queue=None):
|
|
106
|
+
"""Generate partial statistics from batch data in `_partial_result`.
|
|
107
107
|
|
|
108
108
|
Parameters
|
|
109
109
|
----------
|
|
@@ -111,56 +111,37 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
111
111
|
Training data batch, where `n_samples` is the number of samples
|
|
112
112
|
in the batch, and `n_features` is the number of features.
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
sample_weight : array-like of shape (n_samples,), default=None
|
|
115
|
+
Individual weights for each sample.
|
|
116
|
+
|
|
117
|
+
queue : SyclQueue or None, default=None
|
|
118
|
+
SYCL Queue object for device code execution. Default
|
|
119
|
+
value None causes computation on host.
|
|
116
120
|
|
|
117
121
|
Returns
|
|
118
122
|
-------
|
|
119
123
|
self : object
|
|
120
124
|
Returns the instance itself.
|
|
121
125
|
"""
|
|
122
|
-
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
123
|
-
sua_iface, _, _ = _get_sycl_namespace(X)
|
|
124
|
-
|
|
125
|
-
# All data should use the same sycl queue
|
|
126
|
-
if use_raw_input and sua_iface:
|
|
127
|
-
queue = X.sycl_queue
|
|
128
126
|
|
|
129
127
|
self._queue = queue
|
|
128
|
+
if not self._outtype:
|
|
129
|
+
self._outtype = return_type_constructor(X)
|
|
130
130
|
|
|
131
|
-
|
|
132
|
-
X = _check_array(
|
|
133
|
-
X, dtype=[np.float64, np.float32], ensure_2d=False, force_all_finite=False
|
|
134
|
-
)
|
|
135
|
-
if weights is not None:
|
|
136
|
-
weights = _check_array(
|
|
137
|
-
weights,
|
|
138
|
-
dtype=[np.float64, np.float32],
|
|
139
|
-
ensure_2d=False,
|
|
140
|
-
force_all_finite=False,
|
|
141
|
-
)
|
|
131
|
+
X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
|
|
142
132
|
|
|
143
133
|
if not hasattr(self, "_onedal_params"):
|
|
144
|
-
|
|
145
|
-
self._onedal_params = self._get_onedal_params(False, dtype=dtype)
|
|
134
|
+
self._onedal_params = self._get_onedal_params(False, dtype=X.dtype)
|
|
146
135
|
|
|
147
|
-
X_table, weights_table = to_table(X, weights, queue=queue)
|
|
148
136
|
self._partial_result = self.partial_compute(
|
|
149
|
-
self._onedal_params, self._partial_result, X_table,
|
|
137
|
+
self._onedal_params, self._partial_result, X_table, sample_weight_table
|
|
150
138
|
)
|
|
151
139
|
|
|
152
140
|
self._need_to_finalize = True
|
|
153
141
|
self._queue = queue
|
|
154
142
|
|
|
155
143
|
def finalize_fit(self):
|
|
156
|
-
"""
|
|
157
|
-
Finalizes basic statistics computation and obtains result
|
|
158
|
-
attributes from the current `_partial_result`.
|
|
159
|
-
|
|
160
|
-
Parameters
|
|
161
|
-
----------
|
|
162
|
-
queue : dpctl.SyclQueue
|
|
163
|
-
If not None, use this queue for computations.
|
|
144
|
+
"""Finalize statistics from the current `_partial_result`.
|
|
164
145
|
|
|
165
146
|
Returns
|
|
166
147
|
-------
|
|
@@ -171,10 +152,14 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
171
152
|
with QM.manage_global_queue(self._queue):
|
|
172
153
|
result = self.finalize_compute(self._onedal_params, self._partial_result)
|
|
173
154
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
155
|
+
for opt in self.options:
|
|
156
|
+
setattr(
|
|
157
|
+
self,
|
|
158
|
+
opt + "_",
|
|
159
|
+
from_table(getattr(result, opt), like=self._outtype)[0, :],
|
|
160
|
+
)
|
|
177
161
|
|
|
162
|
+
self._outtype = None
|
|
178
163
|
self._need_to_finalize = False
|
|
179
164
|
|
|
180
165
|
return self
|
|
@@ -19,7 +19,6 @@ import pytest
|
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
20
|
from scipy import sparse as sp
|
|
21
21
|
|
|
22
|
-
from daal4py.sklearn._utils import daal_check_version
|
|
23
22
|
from onedal.basic_statistics import BasicStatistics
|
|
24
23
|
from onedal.basic_statistics.tests.utils import options_and_tests
|
|
25
24
|
from onedal.tests.utils._device_selection import get_queues
|
|
@@ -57,7 +56,7 @@ def test_single_option_on_random_data(
|
|
|
57
56
|
|
|
58
57
|
result = basicstat.fit(data, sample_weight=weights, queue=queue)
|
|
59
58
|
|
|
60
|
-
res = getattr(result, result_option)
|
|
59
|
+
res = getattr(result, result_option + "_")
|
|
61
60
|
if weighted:
|
|
62
61
|
weighted_data = np.diag(weights) @ data
|
|
63
62
|
gtr = function(weighted_data)
|
|
@@ -89,7 +88,7 @@ def test_multiple_options_on_random_data(queue, row_count, column_count, weighte
|
|
|
89
88
|
|
|
90
89
|
result = basicstat.fit(data, sample_weight=weights, queue=queue)
|
|
91
90
|
|
|
92
|
-
res_mean, res_max, res_sum = result.
|
|
91
|
+
res_mean, res_max, res_sum = result.mean_, result.max_, result.sum_
|
|
93
92
|
if weighted:
|
|
94
93
|
weighted_data = np.diag(weights) @ data
|
|
95
94
|
gtr_mean, gtr_max, gtr_sum = (
|
|
@@ -136,7 +135,7 @@ def test_all_option_on_random_data(queue, row_count, column_count, weighted, dty
|
|
|
136
135
|
for result_option in options_and_tests:
|
|
137
136
|
function, tols = options_and_tests[result_option]
|
|
138
137
|
fp32tol, fp64tol = tols
|
|
139
|
-
res = getattr(result, result_option)
|
|
138
|
+
res = getattr(result, result_option + "_")
|
|
140
139
|
if weighted:
|
|
141
140
|
gtr = function(weighted_data)
|
|
142
141
|
else:
|
|
@@ -168,7 +167,7 @@ def test_1d_input_on_random_data(queue, result_option, data_size, weighted, dtyp
|
|
|
168
167
|
|
|
169
168
|
result = basicstat.fit(data, sample_weight=weights, queue=queue)
|
|
170
169
|
|
|
171
|
-
res = getattr(result, result_option)
|
|
170
|
+
res = getattr(result, result_option + "_")
|
|
172
171
|
if weighted:
|
|
173
172
|
weighted_data = weights * data
|
|
174
173
|
gtr = function(weighted_data)
|
|
@@ -199,7 +198,7 @@ def test_basic_csr(queue, dtype):
|
|
|
199
198
|
basicstat = BasicStatistics(result_options="mean")
|
|
200
199
|
result = basicstat.fit(data, queue=queue)
|
|
201
200
|
|
|
202
|
-
res_mean = result.
|
|
201
|
+
res_mean = result.mean_
|
|
203
202
|
gtr_mean = data.mean(axis=0)
|
|
204
203
|
tol = 5e-6 if res_mean.dtype == np.float32 else 1e-9
|
|
205
204
|
assert_allclose(gtr_mean, res_mean, rtol=tol)
|
|
@@ -232,7 +231,7 @@ def test_options_csr(queue, option, dtype):
|
|
|
232
231
|
basicstat = BasicStatistics(result_options=result_option)
|
|
233
232
|
result = basicstat.fit(data, queue=queue)
|
|
234
233
|
|
|
235
|
-
res = getattr(result, result_option)
|
|
234
|
+
res = getattr(result, result_option + "_")
|
|
236
235
|
func = getattr(data, function)
|
|
237
236
|
gtr = func(axis=0)
|
|
238
237
|
if type(gtr).__name__ != "ndarray":
|