scikit-learn-intelex 2025.7.0__py312-none-win_amd64.whl → 2025.8.0__py312-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_device_offload.py +41 -40
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +52 -76
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +26 -41
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +7 -25
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +1 -1
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +31 -11
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +5 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +8 -10
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +6 -3
- 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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +9 -24
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +16 -17
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +5 -5
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +48 -160
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +75 -188
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +5 -10
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +14 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +51 -25
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_third_party.py +52 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__init__.py +2 -1
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +13 -12
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_utils.py +31 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +26 -37
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +33 -42
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +30 -27
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +1 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +2 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -2
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +110 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -6
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +8 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +22 -7
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +2 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +76 -68
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +69 -53
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +53 -41
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +8 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +42 -31
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +8 -6
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -4
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +112 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.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.7.0.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.8.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +31 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +55 -6
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +13 -13
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +3 -21
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +19 -1
- {scikit_learn_intelex-2025.7.0.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.7.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1039
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -110
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -115
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -119
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
- scikit_learn_intelex-2025.7.0.dist-info/RECORD +0 -258
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_backend.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/validation.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/base.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.7.0.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.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/top_level.txt +0 -0
|
@@ -17,20 +17,18 @@
|
|
|
17
17
|
import inspect
|
|
18
18
|
import logging
|
|
19
19
|
from functools import wraps
|
|
20
|
+
from operator import xor
|
|
20
21
|
|
|
21
22
|
import numpy as np
|
|
22
23
|
from sklearn import get_config
|
|
23
24
|
|
|
24
|
-
from onedal import _default_backend as backend
|
|
25
|
-
|
|
26
25
|
from ._config import _get_config
|
|
27
|
-
from .datatypes import copy_to_dpnp, copy_to_usm,
|
|
26
|
+
from .datatypes import copy_to_dpnp, copy_to_usm, dlpack_to_numpy
|
|
28
27
|
from .utils import _sycl_queue_manager as QM
|
|
29
|
-
from .utils._array_api import _asarray, _is_numpy_namespace
|
|
28
|
+
from .utils._array_api import _asarray, _get_sycl_namespace, _is_numpy_namespace
|
|
30
29
|
from .utils._third_party import is_dpnp_ndarray
|
|
31
30
|
|
|
32
31
|
logger = logging.getLogger("sklearnex")
|
|
33
|
-
cpu_dlpack_device = (backend.kDLCPU, 0)
|
|
34
32
|
|
|
35
33
|
|
|
36
34
|
def supports_queue(func):
|
|
@@ -65,44 +63,23 @@ def supports_queue(func):
|
|
|
65
63
|
|
|
66
64
|
|
|
67
65
|
def _transfer_to_host(*data):
|
|
68
|
-
has_usm_data
|
|
66
|
+
has_usm_data = None
|
|
69
67
|
|
|
70
68
|
host_data = []
|
|
71
69
|
for item in data:
|
|
72
|
-
if
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
# pytorch-specific fix as it is not array api compliant
|
|
86
|
-
item = item.to("cpu")
|
|
87
|
-
else:
|
|
88
|
-
raise TypeError(f"cannot move {type(item)} to cpu")
|
|
89
|
-
|
|
90
|
-
# convert to numpy
|
|
91
|
-
if hasattr(item, "__array__"):
|
|
92
|
-
# `copy`` param for the `asarray`` is not set.
|
|
93
|
-
# The object is copied only if needed
|
|
94
|
-
item = np.asarray(item)
|
|
95
|
-
else:
|
|
96
|
-
# requires numpy 1.23
|
|
97
|
-
item = np.from_dlpack(item)
|
|
98
|
-
has_host_data = True
|
|
99
|
-
else:
|
|
100
|
-
has_host_data = True
|
|
101
|
-
|
|
102
|
-
mismatch_host_item = usm_iface is None and item is not None and has_usm_data
|
|
103
|
-
mismatch_usm_item = usm_iface is not None and has_host_data
|
|
104
|
-
|
|
105
|
-
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):
|
|
106
83
|
raise RuntimeError("Input data shall be located on single target device")
|
|
107
84
|
|
|
108
85
|
host_data.append(item)
|
|
@@ -195,3 +172,27 @@ def support_input_format(func):
|
|
|
195
172
|
return result
|
|
196
173
|
|
|
197
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.cp312-win_amd64.pyd
ADDED
|
Binary file
|
scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd
ADDED
|
Binary file
|
|
@@ -14,60 +14,13 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
from
|
|
18
|
-
|
|
19
|
-
import numpy as np
|
|
20
|
-
|
|
21
|
-
from onedal._device_offload import supports_queue
|
|
22
|
-
|
|
23
|
-
from .._config import _get_config
|
|
17
|
+
from .._device_offload import supports_queue
|
|
24
18
|
from ..common._backend import bind_default_backend
|
|
25
19
|
from ..datatypes import from_table, to_table
|
|
26
|
-
from ..utils.validation import
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class BaseBasicStatistics(metaclass=ABCMeta):
|
|
30
|
-
@abstractmethod
|
|
31
|
-
def __init__(self, result_options, algorithm):
|
|
32
|
-
self.options = result_options
|
|
33
|
-
self.algorithm = algorithm
|
|
34
|
-
|
|
35
|
-
@bind_default_backend("basic_statistics")
|
|
36
|
-
def compute(self, params, data_table, weights_table): ...
|
|
37
|
-
|
|
38
|
-
@staticmethod
|
|
39
|
-
def get_all_result_options():
|
|
40
|
-
return [
|
|
41
|
-
"min",
|
|
42
|
-
"max",
|
|
43
|
-
"sum",
|
|
44
|
-
"mean",
|
|
45
|
-
"variance",
|
|
46
|
-
"variation",
|
|
47
|
-
"sum_squares",
|
|
48
|
-
"standard_deviation",
|
|
49
|
-
"sum_squares_centered",
|
|
50
|
-
"second_order_raw_moment",
|
|
51
|
-
]
|
|
52
|
-
|
|
53
|
-
def _get_result_options(self, options):
|
|
54
|
-
if options == "all":
|
|
55
|
-
options = self.get_all_result_options()
|
|
56
|
-
if isinstance(options, list):
|
|
57
|
-
options = "|".join(options)
|
|
58
|
-
assert isinstance(options, str)
|
|
59
|
-
return options
|
|
60
|
-
|
|
61
|
-
def _get_onedal_params(self, is_csr, dtype=np.float32):
|
|
62
|
-
options = self._get_result_options(self.options)
|
|
63
|
-
return {
|
|
64
|
-
"fptype": dtype,
|
|
65
|
-
"method": "sparse" if is_csr else self.algorithm,
|
|
66
|
-
"result_option": options,
|
|
67
|
-
}
|
|
20
|
+
from ..utils.validation import _is_csr
|
|
68
21
|
|
|
69
22
|
|
|
70
|
-
class BasicStatistics
|
|
23
|
+
class BasicStatistics:
|
|
71
24
|
"""Low order moments oneDAL estimator.
|
|
72
25
|
|
|
73
26
|
Calculate basic statistics for data.
|
|
@@ -118,15 +71,52 @@ class BasicStatistics(BaseBasicStatistics):
|
|
|
118
71
|
"""
|
|
119
72
|
|
|
120
73
|
def __init__(self, result_options="all", algorithm="by_default"):
|
|
121
|
-
|
|
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
|
+
}
|
|
122
112
|
|
|
123
113
|
@supports_queue
|
|
124
|
-
def fit(self,
|
|
114
|
+
def fit(self, X, sample_weight=None, queue=None):
|
|
125
115
|
"""Generate statistics.
|
|
126
116
|
|
|
127
117
|
Parameters
|
|
128
118
|
----------
|
|
129
|
-
|
|
119
|
+
X : array-like of shape (n_samples, n_features)
|
|
130
120
|
Training data batch, where `n_samples` is the number of samples
|
|
131
121
|
in the batch, and `n_features` is the number of features.
|
|
132
122
|
|
|
@@ -143,33 +133,19 @@ class BasicStatistics(BaseBasicStatistics):
|
|
|
143
133
|
Returns the instance itself.
|
|
144
134
|
"""
|
|
145
135
|
|
|
146
|
-
is_csr = _is_csr(
|
|
147
|
-
|
|
148
|
-
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
149
|
-
if not use_raw_input:
|
|
150
|
-
if data is not None and not is_csr:
|
|
151
|
-
data = _check_array(data, ensure_2d=False)
|
|
152
|
-
if sample_weight is not None:
|
|
153
|
-
sample_weight = _check_array(sample_weight, ensure_2d=False)
|
|
136
|
+
is_csr = _is_csr(X)
|
|
154
137
|
|
|
155
|
-
is_single_dim =
|
|
138
|
+
is_single_dim = X.ndim == 1
|
|
139
|
+
X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
|
|
156
140
|
|
|
157
|
-
|
|
141
|
+
result = self._compute_raw(X_table, sample_weight_table, X_table.dtype, is_csr)
|
|
158
142
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
value = from_table(raw_value).ravel()
|
|
163
|
-
if is_single_dim:
|
|
164
|
-
setattr(self, opt, value[0])
|
|
165
|
-
else:
|
|
166
|
-
setattr(self, opt, value)
|
|
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)
|
|
167
146
|
|
|
168
147
|
return self
|
|
169
148
|
|
|
170
|
-
def _compute_raw(self, data_table, weights_table, dtype=
|
|
149
|
+
def _compute_raw(self, data_table, weights_table, dtype=None, is_csr=False):
|
|
171
150
|
params = self._get_onedal_params(is_csr, dtype)
|
|
172
|
-
|
|
173
|
-
options = self._get_result_options(self.options).split("|")
|
|
174
|
-
|
|
175
|
-
return {opt: getattr(result, opt) for opt in options}
|
|
151
|
+
return self.compute(params, data_table, weights_table)
|
|
@@ -13,21 +13,14 @@
|
|
|
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
|
-
from ..datatypes import from_table, to_table
|
|
25
|
-
from ..utils._array_api import _get_sycl_namespace
|
|
26
|
-
from ..utils.validation import _check_array
|
|
27
|
-
from .basic_statistics import BaseBasicStatistics
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
23
|
+
class IncrementalBasicStatistics(BasicStatistics):
|
|
31
24
|
"""Incremental oneDAL low order moments estimator.
|
|
32
25
|
|
|
33
26
|
Calculate basic statistics for data split into batches.
|
|
@@ -37,6 +30,9 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
37
30
|
result_options : str or list, default=str('all')
|
|
38
31
|
List of statistics to compute.
|
|
39
32
|
|
|
33
|
+
algorithm : str, default=str('by_default')
|
|
34
|
+
Method for statistics computation.
|
|
35
|
+
|
|
40
36
|
Attributes
|
|
41
37
|
----------
|
|
42
38
|
min : ndarray of shape (n_features,)
|
|
@@ -74,8 +70,8 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
74
70
|
Attributes are populated only for corresponding result options.
|
|
75
71
|
"""
|
|
76
72
|
|
|
77
|
-
def __init__(self, result_options="all"):
|
|
78
|
-
super().__init__(result_options, algorithm
|
|
73
|
+
def __init__(self, result_options="all", algorithm="by_default"):
|
|
74
|
+
super().__init__(result_options, algorithm)
|
|
79
75
|
self._reset()
|
|
80
76
|
self._queue = None
|
|
81
77
|
|
|
@@ -90,6 +86,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
90
86
|
|
|
91
87
|
def _reset(self):
|
|
92
88
|
self._need_to_finalize = False
|
|
89
|
+
self._outtype = None
|
|
93
90
|
self._queue = None
|
|
94
91
|
# get the _partial_result pointer from backend
|
|
95
92
|
self._partial_result = self.partial_compute_result()
|
|
@@ -105,7 +102,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
105
102
|
return data
|
|
106
103
|
|
|
107
104
|
@supports_queue
|
|
108
|
-
def partial_fit(self, X,
|
|
105
|
+
def partial_fit(self, X, sample_weight=None, queue=None):
|
|
109
106
|
"""Generate partial statistics from batch data in `_partial_result`.
|
|
110
107
|
|
|
111
108
|
Parameters
|
|
@@ -114,7 +111,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
114
111
|
Training data batch, where `n_samples` is the number of samples
|
|
115
112
|
in the batch, and `n_features` is the number of features.
|
|
116
113
|
|
|
117
|
-
|
|
114
|
+
sample_weight : array-like of shape (n_samples,), default=None
|
|
118
115
|
Individual weights for each sample.
|
|
119
116
|
|
|
120
117
|
queue : SyclQueue or None, default=None
|
|
@@ -126,34 +123,18 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
126
123
|
self : object
|
|
127
124
|
Returns the instance itself.
|
|
128
125
|
"""
|
|
129
|
-
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
130
|
-
sua_iface, _, _ = _get_sycl_namespace(X)
|
|
131
|
-
|
|
132
|
-
# All data should use the same sycl queue
|
|
133
|
-
if use_raw_input and sua_iface:
|
|
134
|
-
queue = X.sycl_queue
|
|
135
126
|
|
|
136
127
|
self._queue = queue
|
|
128
|
+
if not self._outtype:
|
|
129
|
+
self._outtype = return_type_constructor(X)
|
|
137
130
|
|
|
138
|
-
|
|
139
|
-
X = _check_array(
|
|
140
|
-
X, dtype=[np.float64, np.float32], ensure_2d=False, force_all_finite=False
|
|
141
|
-
)
|
|
142
|
-
if weights is not None:
|
|
143
|
-
weights = _check_array(
|
|
144
|
-
weights,
|
|
145
|
-
dtype=[np.float64, np.float32],
|
|
146
|
-
ensure_2d=False,
|
|
147
|
-
force_all_finite=False,
|
|
148
|
-
)
|
|
131
|
+
X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
|
|
149
132
|
|
|
150
133
|
if not hasattr(self, "_onedal_params"):
|
|
151
|
-
|
|
152
|
-
self._onedal_params = self._get_onedal_params(False, dtype=dtype)
|
|
134
|
+
self._onedal_params = self._get_onedal_params(False, dtype=X.dtype)
|
|
153
135
|
|
|
154
|
-
X_table, weights_table = to_table(X, weights, queue=queue)
|
|
155
136
|
self._partial_result = self.partial_compute(
|
|
156
|
-
self._onedal_params, self._partial_result, X_table,
|
|
137
|
+
self._onedal_params, self._partial_result, X_table, sample_weight_table
|
|
157
138
|
)
|
|
158
139
|
|
|
159
140
|
self._need_to_finalize = True
|
|
@@ -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":
|
|
@@ -49,16 +49,16 @@ def test_multiple_options_on_gold_data(queue, weighted, dtype):
|
|
|
49
49
|
expected_weighted_mean = np.array([0.25, 0.25])
|
|
50
50
|
expected_weighted_min = np.array([0, 0])
|
|
51
51
|
expected_weighted_max = np.array([0.5, 0.5])
|
|
52
|
-
assert_allclose(expected_weighted_mean, result.
|
|
53
|
-
assert_allclose(expected_weighted_max, result.
|
|
54
|
-
assert_allclose(expected_weighted_min, result.
|
|
52
|
+
assert_allclose(expected_weighted_mean, result.mean_)
|
|
53
|
+
assert_allclose(expected_weighted_max, result.max_)
|
|
54
|
+
assert_allclose(expected_weighted_min, result.min_)
|
|
55
55
|
else:
|
|
56
56
|
expected_mean = np.array([0.5, 0.5])
|
|
57
57
|
expected_min = np.array([0, 0])
|
|
58
58
|
expected_max = np.array([1, 1])
|
|
59
|
-
assert_allclose(expected_mean, result.
|
|
60
|
-
assert_allclose(expected_max, result.
|
|
61
|
-
assert_allclose(expected_min, result.
|
|
59
|
+
assert_allclose(expected_mean, result.mean_)
|
|
60
|
+
assert_allclose(expected_max, result.max_)
|
|
61
|
+
assert_allclose(expected_min, result.min_)
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
@pytest.mark.parametrize("queue", get_queues())
|
|
@@ -91,7 +91,7 @@ def test_single_option_on_random_data(
|
|
|
91
91
|
incbs.partial_fit(data_split[i], queue=queue)
|
|
92
92
|
result = incbs.finalize_fit()
|
|
93
93
|
|
|
94
|
-
res = getattr(result, result_option)
|
|
94
|
+
res = getattr(result, result_option + "_")
|
|
95
95
|
if weighted:
|
|
96
96
|
weighted_data = np.diag(weights) @ data
|
|
97
97
|
gtr = function(weighted_data)
|
|
@@ -129,7 +129,7 @@ def test_multiple_options_on_random_data(
|
|
|
129
129
|
incbs.partial_fit(data_split[i], queue=queue)
|
|
130
130
|
result = incbs.finalize_fit()
|
|
131
131
|
|
|
132
|
-
res_mean, res_max, res_sum = result.
|
|
132
|
+
res_mean, res_max, res_sum = result.mean_, result.max_, result.sum_
|
|
133
133
|
if weighted:
|
|
134
134
|
weighted_data = np.diag(weights) @ data
|
|
135
135
|
gtr_mean, gtr_max, gtr_sum = (
|
|
@@ -183,7 +183,7 @@ def test_all_option_on_random_data(
|
|
|
183
183
|
for result_option in options_and_tests:
|
|
184
184
|
function, tols = options_and_tests[result_option]
|
|
185
185
|
fp32tol, fp64tol = tols
|
|
186
|
-
res = getattr(result, result_option)
|
|
186
|
+
res = getattr(result, result_option + "_")
|
|
187
187
|
if weighted:
|
|
188
188
|
gtr = function(weighted_data)
|
|
189
189
|
else:
|
|
@@ -273,7 +273,7 @@ def test_incremental_estimator_pickle(queue, dtype):
|
|
|
273
273
|
for result_option in options_and_tests:
|
|
274
274
|
_, tols = options_and_tests[result_option]
|
|
275
275
|
fp32tol, fp64tol = tols
|
|
276
|
-
res = getattr(incbs, result_option)
|
|
277
|
-
res_loaded = getattr(incbs_loaded, result_option)
|
|
276
|
+
res = getattr(incbs, result_option + "_")
|
|
277
|
+
res_loaded = getattr(incbs_loaded, result_option + "_")
|
|
278
278
|
tol = fp32tol if res.dtype == np.float32 else fp64tol
|
|
279
279
|
assert_allclose(res, res_loaded, atol=tol)
|
|
@@ -16,15 +16,11 @@
|
|
|
16
16
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
|
|
19
|
-
from daal4py.sklearn._utils import make2d
|
|
20
19
|
from onedal._device_offload import supports_queue
|
|
21
20
|
|
|
22
|
-
from .._config import _get_config
|
|
23
21
|
from ..common._backend import bind_default_backend
|
|
24
22
|
from ..common._mixin import ClusterMixin
|
|
25
23
|
from ..datatypes import from_table, to_table
|
|
26
|
-
from ..utils._array_api import _get_sycl_namespace
|
|
27
|
-
from ..utils.validation import _check_array
|
|
28
24
|
|
|
29
25
|
|
|
30
26
|
class DBSCAN(ClusterMixin):
|
|
@@ -64,35 +60,21 @@ class DBSCAN(ClusterMixin):
|
|
|
64
60
|
|
|
65
61
|
@supports_queue
|
|
66
62
|
def fit(self, X, y=None, sample_weight=None, queue=None):
|
|
67
|
-
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
68
|
-
sua_iface, xp, _ = _get_sycl_namespace(X)
|
|
69
|
-
|
|
70
|
-
if not use_raw_input:
|
|
71
|
-
X = _check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
|
|
72
|
-
X = make2d(X)
|
|
73
|
-
elif sua_iface is not None:
|
|
74
|
-
queue = X.sycl_queue
|
|
75
|
-
|
|
76
63
|
X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
|
|
77
64
|
|
|
78
65
|
params = self._get_onedal_params(X_table.dtype)
|
|
79
66
|
result = self.compute(params, X_table, sample_weight_table)
|
|
80
67
|
|
|
81
|
-
|
|
68
|
+
# 2d table but only 1d of information
|
|
69
|
+
self.labels_ = from_table(result.responses, like=X)[:, 0]
|
|
82
70
|
if (
|
|
83
71
|
result.core_observation_indices is not None
|
|
84
|
-
and
|
|
72
|
+
and result.core_observation_indices.kind != "empty"
|
|
85
73
|
):
|
|
74
|
+
# 2d table to 1d
|
|
86
75
|
self.core_sample_indices_ = from_table(
|
|
87
|
-
result.core_observation_indices,
|
|
88
|
-
|
|
89
|
-
).ravel()
|
|
76
|
+
result.core_observation_indices, like=X
|
|
77
|
+
)[:, 0]
|
|
90
78
|
else:
|
|
91
|
-
|
|
92
|
-
kwargs = {"dtype": xp.int32} # always the same
|
|
93
|
-
if xp is not np:
|
|
94
|
-
kwargs["sycl_queue"] = queue
|
|
95
|
-
self.core_sample_indices_ = xp.empty((0,), **kwargs)
|
|
96
|
-
self.components_ = xp.take(X, self.core_sample_indices_, axis=0)
|
|
97
|
-
self.n_features_in_ = X.shape[1]
|
|
79
|
+
self.core_sample_indices_ = None
|
|
98
80
|
return self
|
|
@@ -105,7 +105,7 @@ class _BaseKMeans(TransformerMixin, ClusterMixin, ABC):
|
|
|
105
105
|
bs = self._get_basic_statistics_backend("variance")
|
|
106
106
|
|
|
107
107
|
res = bs._compute_raw(X_table, dummy, dtype, is_csr)
|
|
108
|
-
mean_var = from_table(res
|
|
108
|
+
mean_var = from_table(res.variance).mean()
|
|
109
109
|
|
|
110
110
|
return mean_var * rtol
|
|
111
111
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
17
|
import logging
|
|
18
|
-
from typing import
|
|
18
|
+
from typing import Callable, Dict, Tuple
|
|
19
19
|
from warnings import warn
|
|
20
20
|
|
|
21
21
|
from daal4py.sklearn._utils import daal_check_version
|
|
@@ -94,22 +94,26 @@ else:
|
|
|
94
94
|
for method in filter(lambda f: f.startswith(prefix), dir(obj))
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
hyperparameters_backend: Dict[Tuple[str, str],
|
|
97
|
+
hyperparameters_backend: Dict[Tuple[str, str], Callable] = {
|
|
98
98
|
(
|
|
99
99
|
"linear_regression",
|
|
100
100
|
"train",
|
|
101
|
-
): backend.linear_model.regression.train_hyperparameters(),
|
|
102
|
-
("covariance", "compute"): backend.covariance.compute_hyperparameters(),
|
|
101
|
+
): lambda: backend.linear_model.regression.train_hyperparameters(),
|
|
102
|
+
("covariance", "compute"): lambda: backend.covariance.compute_hyperparameters(),
|
|
103
103
|
}
|
|
104
104
|
if daal_check_version((2024, "P", 300)):
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
hyperparameters_backend[("decision_forest", "infer")] = (
|
|
106
|
+
lambda: backend.decision_forest.infer_hyperparameters()
|
|
107
|
+
)
|
|
107
108
|
if daal_check_version((2025, "P", 700)):
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
hyperparameters_backend[("pca", "train")] = (
|
|
110
|
+
lambda: backend.decomposition.dim_reduction.train_hyperparameters()
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
hyperparameters_map: Dict[Tuple[str, str], HyperParameters] = {}
|
|
111
114
|
|
|
112
|
-
for (algorithm, op),
|
|
115
|
+
for (algorithm, op), hyperparameters_lambda in hyperparameters_backend.items():
|
|
116
|
+
hyperparameters = hyperparameters_lambda()
|
|
113
117
|
setters = get_methods_with_prefix(hyperparameters, "set_")
|
|
114
118
|
getters = get_methods_with_prefix(hyperparameters, "get_")
|
|
115
119
|
|
|
@@ -123,6 +127,22 @@ else:
|
|
|
123
127
|
algorithm, op, setters, getters, hyperparameters
|
|
124
128
|
)
|
|
125
129
|
|
|
130
|
+
def get_hyperparameters_backend(algorithm, op):
|
|
131
|
+
"""Get hyperparameters for a specific algorithm and operation."""
|
|
132
|
+
if (algorithm, op) in hyperparameters_backend:
|
|
133
|
+
return hyperparameters_backend[(algorithm, op)]()
|
|
134
|
+
else:
|
|
135
|
+
raise ValueError(f"Hyperparameters for '{algorithm}.{op}' are not defined.")
|
|
126
136
|
|
|
127
|
-
|
|
137
|
+
|
|
138
|
+
def get_hyperparameters(algorithm: str, op: str) -> HyperParameters:
|
|
128
139
|
return hyperparameters_map.get((algorithm, op), None)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def reset_hyperparameters(algorithm: str, op: str) -> None:
|
|
143
|
+
new_hyperparameters_backend = get_hyperparameters_backend(algorithm, op)
|
|
144
|
+
new_setters = get_methods_with_prefix(new_hyperparameters_backend, "set_")
|
|
145
|
+
new_getters = get_methods_with_prefix(new_hyperparameters_backend, "get_")
|
|
146
|
+
hyperparameters_map[(algorithm, op)] = HyperParameters(
|
|
147
|
+
algorithm, op, new_setters, new_getters, new_hyperparameters_backend
|
|
148
|
+
)
|