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
|
@@ -99,9 +99,11 @@ def test_incremental_linear_regression_fit_spmd_gold(
|
|
|
99
99
|
inclin.fit(dpt_X, dpt_y)
|
|
100
100
|
|
|
101
101
|
rtol = 1e-5 if (dtype == np.float32) else 1e-7
|
|
102
|
-
assert_allclose(inclin.coef_, inclin_spmd.coef_, rtol=rtol)
|
|
102
|
+
assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), rtol=rtol)
|
|
103
103
|
if fit_intercept:
|
|
104
|
-
assert_allclose(
|
|
104
|
+
assert_allclose(
|
|
105
|
+
_as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), rtol=rtol
|
|
106
|
+
)
|
|
105
107
|
|
|
106
108
|
|
|
107
109
|
@pytest.mark.skipif(
|
|
@@ -184,9 +186,11 @@ def test_incremental_linear_regression_partial_fit_spmd_gold(
|
|
|
184
186
|
inclin.fit(dpt_X, dpt_y)
|
|
185
187
|
|
|
186
188
|
rtol = 1e-5 if (dtype == np.float32) else 1e-7
|
|
187
|
-
assert_allclose(inclin.coef_, inclin_spmd.coef_, rtol=rtol)
|
|
189
|
+
assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), rtol=rtol)
|
|
188
190
|
if fit_intercept:
|
|
189
|
-
assert_allclose(
|
|
191
|
+
assert_allclose(
|
|
192
|
+
_as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), rtol=rtol
|
|
193
|
+
)
|
|
190
194
|
|
|
191
195
|
|
|
192
196
|
@pytest.mark.skipif(
|
|
@@ -242,9 +246,11 @@ def test_incremental_linear_regression_fit_spmd_random(
|
|
|
242
246
|
inclin_spmd.fit(local_dpt_X, local_dpt_y)
|
|
243
247
|
inclin.fit(dpt_X, dpt_y)
|
|
244
248
|
|
|
245
|
-
assert_allclose(inclin.coef_, inclin_spmd.coef_, atol=tol)
|
|
249
|
+
assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), atol=tol)
|
|
246
250
|
if fit_intercept:
|
|
247
|
-
assert_allclose(
|
|
251
|
+
assert_allclose(
|
|
252
|
+
_as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), atol=tol
|
|
253
|
+
)
|
|
248
254
|
|
|
249
255
|
y_pred_spmd = inclin_spmd.predict(dpt_X_test)
|
|
250
256
|
y_pred = inclin.predict(dpt_X_test)
|
|
@@ -325,9 +331,11 @@ def test_incremental_linear_regression_partial_fit_spmd_random(
|
|
|
325
331
|
inclin_spmd.partial_fit(local_dpt_X, local_dpt_y)
|
|
326
332
|
inclin.partial_fit(dpt_X, dpt_y)
|
|
327
333
|
|
|
328
|
-
assert_allclose(inclin.coef_, inclin_spmd.coef_, atol=tol)
|
|
334
|
+
assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), atol=tol)
|
|
329
335
|
if fit_intercept:
|
|
330
|
-
assert_allclose(
|
|
336
|
+
assert_allclose(
|
|
337
|
+
_as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), atol=tol
|
|
338
|
+
)
|
|
331
339
|
|
|
332
340
|
y_pred_spmd = inclin_spmd.predict(dpt_X_test)
|
|
333
341
|
y_pred = inclin.predict(dpt_X_test)
|
|
@@ -19,6 +19,7 @@ import pytest
|
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
20
|
|
|
21
21
|
from onedal.tests.utils._dataframes_support import (
|
|
22
|
+
_as_numpy,
|
|
22
23
|
_convert_to_dataframe,
|
|
23
24
|
get_dataframes_and_queues,
|
|
24
25
|
)
|
|
@@ -83,8 +84,8 @@ def test_linear_spmd_gold(dataframe, queue):
|
|
|
83
84
|
spmd_model = LinearRegression_SPMD().fit(local_dpt_X_train, local_dpt_y_train)
|
|
84
85
|
batch_model = LinearRegression_Batch().fit(X_train, y_train)
|
|
85
86
|
|
|
86
|
-
assert_allclose(spmd_model.coef_, batch_model.coef_)
|
|
87
|
-
assert_allclose(spmd_model.intercept_, batch_model.intercept_)
|
|
87
|
+
assert_allclose(_as_numpy(spmd_model.coef_), _as_numpy(batch_model.coef_))
|
|
88
|
+
assert_allclose(_as_numpy(spmd_model.intercept_), _as_numpy(batch_model.intercept_))
|
|
88
89
|
|
|
89
90
|
# ensure predictions of batch algo match spmd
|
|
90
91
|
spmd_result = spmd_model.predict(local_dpt_X_test)
|
|
@@ -142,8 +143,15 @@ def test_linear_spmd_synthetic(
|
|
|
142
143
|
batch_model = LinearRegression_Batch().fit(X_train, y_train)
|
|
143
144
|
|
|
144
145
|
tol = 1e-3 if dtype == np.float32 else 1e-7
|
|
145
|
-
assert_allclose(
|
|
146
|
-
|
|
146
|
+
assert_allclose(
|
|
147
|
+
_as_numpy(spmd_model.coef_), _as_numpy(batch_model.coef_), rtol=tol, atol=tol
|
|
148
|
+
)
|
|
149
|
+
assert_allclose(
|
|
150
|
+
_as_numpy(spmd_model.intercept_),
|
|
151
|
+
_as_numpy(batch_model.intercept_),
|
|
152
|
+
rtol=tol,
|
|
153
|
+
atol=tol,
|
|
154
|
+
)
|
|
147
155
|
|
|
148
156
|
# ensure predictions of batch algo match spmd
|
|
149
157
|
# Configure raw input status for spmd estimator
|
|
@@ -18,6 +18,11 @@ import numpy as np
|
|
|
18
18
|
import pytest
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
20
|
|
|
21
|
+
try:
|
|
22
|
+
from scipy.sparse import csr_array as csr_class
|
|
23
|
+
except ImportError:
|
|
24
|
+
from scipy.sparse import csr_matrix as csr_class
|
|
25
|
+
|
|
21
26
|
from onedal.tests.utils._dataframes_support import (
|
|
22
27
|
_as_numpy,
|
|
23
28
|
_convert_to_dataframe,
|
|
@@ -91,3 +96,29 @@ def test_sklearnex_import_nusvr(dataframe, queue):
|
|
|
91
96
|
_as_numpy(svc.dual_coef_), [[-1.0, 0.611111, 1.0, -0.611111]], rtol=1e-3
|
|
92
97
|
)
|
|
93
98
|
assert_allclose(_as_numpy(svc.support_), [1, 2, 3, 5])
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
# https://github.com/uxlfoundation/scikit-learn-intelex/issues/1880
|
|
102
|
+
def test_works_with_unsorted_indices():
|
|
103
|
+
from sklearnex.svm import SVC
|
|
104
|
+
|
|
105
|
+
X = csr_class(
|
|
106
|
+
(
|
|
107
|
+
np.array(
|
|
108
|
+
[0.44943642, 0.6316672, 0.6316672, 0.44943642, 0.6316672, 0.6316672]
|
|
109
|
+
),
|
|
110
|
+
np.array([1, 4, 3, 1, 2, 0], dtype=np.int32),
|
|
111
|
+
np.array([0, 3, 6], dtype=np.int32),
|
|
112
|
+
),
|
|
113
|
+
shape=(2, 5),
|
|
114
|
+
)
|
|
115
|
+
y = np.array([1, 0])
|
|
116
|
+
X_test_single = np.array([[1, 0, 0, 0, 0]], dtype=np.float64)
|
|
117
|
+
X_test_multi = np.array([[1, 0, 0, 0, 0], [1, 0, 0, 0, 0]], dtype=np.float64)
|
|
118
|
+
model = SVC(probability=True).fit(X, y)
|
|
119
|
+
pred_single = model.predict_proba(X_test_single)
|
|
120
|
+
pred_multi = model.predict_proba(X_test_multi)[0]
|
|
121
|
+
np.testing.assert_array_equal(
|
|
122
|
+
pred_single.reshape(-1),
|
|
123
|
+
pred_multi.reshape(-1),
|
|
124
|
+
)
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
17
|
import logging
|
|
18
|
+
from contextlib import nullcontext
|
|
19
|
+
from unittest.mock import patch
|
|
18
20
|
|
|
19
21
|
import numpy as np
|
|
20
22
|
import pytest
|
|
@@ -160,6 +162,11 @@ def test_fallback_to_host(caplog):
|
|
|
160
162
|
from sklearnex._device_offload import dispatch
|
|
161
163
|
from sklearnex._utils import PatchingConditionsChain
|
|
162
164
|
|
|
165
|
+
# This is done due to the use of name mangling in _sycl_queue_manager which
|
|
166
|
+
# doesn't operate in classes directly. This impacts sklearnex's ``dispatch``
|
|
167
|
+
# routine, which expects class methods rather than instance methods.
|
|
168
|
+
is_fallback = lambda: QM.__global_queue == QM.__fallback_queue
|
|
169
|
+
|
|
163
170
|
class _Estimator:
|
|
164
171
|
def _onedal_gpu_supported(self, method_name, *data):
|
|
165
172
|
patching_status = PatchingConditionsChain("")
|
|
@@ -172,11 +179,7 @@ def test_fallback_to_host(caplog):
|
|
|
172
179
|
|
|
173
180
|
def _onedal_test(self, *args, queue=None):
|
|
174
181
|
if args[0] == "cpu":
|
|
175
|
-
assert (
|
|
176
|
-
queue is None
|
|
177
|
-
and QM.__global_queue == QM.__fallback_queue
|
|
178
|
-
and QM.get_global_queue() is None
|
|
179
|
-
)
|
|
182
|
+
assert queue is None and is_fallback() and QM.get_global_queue() is None
|
|
180
183
|
elif args[0] == "gpu":
|
|
181
184
|
assert queue is not None and QM.get_global_queue() is not None
|
|
182
185
|
|
|
@@ -194,7 +197,7 @@ def test_fallback_to_host(caplog):
|
|
|
194
197
|
dispatch(
|
|
195
198
|
est,
|
|
196
199
|
"test",
|
|
197
|
-
{"onedal":
|
|
200
|
+
{"onedal": _Estimator._onedal_test, "sklearn": None},
|
|
198
201
|
"cpu" if fallback else "gpu",
|
|
199
202
|
)
|
|
200
203
|
|
|
@@ -205,3 +208,49 @@ def test_fallback_to_host(caplog):
|
|
|
205
208
|
in caplog.messages[start:]
|
|
206
209
|
)
|
|
207
210
|
start = len(caplog.messages)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
def test_other_device_fallback():
|
|
214
|
+
# force a fallback to cpu with direct use of dispatch and PatchingConditionsChain
|
|
215
|
+
# it should complete with allow_fallback_to_host. The data should be moved to cpu
|
|
216
|
+
# by calling ``to_device``.
|
|
217
|
+
from onedal.utils import _sycl_queue_manager as QM
|
|
218
|
+
from sklearnex._device_offload import dispatch
|
|
219
|
+
from sklearnex._utils import PatchingConditionsChain
|
|
220
|
+
|
|
221
|
+
class FakeCUDA:
|
|
222
|
+
def __init__(self, data):
|
|
223
|
+
self.__data = data
|
|
224
|
+
|
|
225
|
+
def to_device(self, *args):
|
|
226
|
+
return self.__data
|
|
227
|
+
|
|
228
|
+
def __dlpack_device__(self):
|
|
229
|
+
return (2, 0)
|
|
230
|
+
|
|
231
|
+
class _CPUEstimator:
|
|
232
|
+
def _onedal_cpu_supported(self, method_name, *data):
|
|
233
|
+
patching_status = PatchingConditionsChain("")
|
|
234
|
+
return patching_status
|
|
235
|
+
|
|
236
|
+
def _onedal_test(self, data, queue=None):
|
|
237
|
+
assert queue is None and QM.get_global_queue() is None
|
|
238
|
+
assert isinstance(data, np.ndarray)
|
|
239
|
+
|
|
240
|
+
est = _CPUEstimator()
|
|
241
|
+
err_msg = "Device support is not implemented for the supplied data type."
|
|
242
|
+
data = FakeCUDA(np.eye(5, 8))
|
|
243
|
+
|
|
244
|
+
for fallback in [True, False]:
|
|
245
|
+
ctx = nullcontext() if fallback else pytest.raises(RuntimeError, match=err_msg)
|
|
246
|
+
_mock = patch.object(FakeCUDA, "to_device", wraps=data.to_device)
|
|
247
|
+
with sklearnex.config_context(allow_fallback_to_host=fallback), ctx, _mock as spy:
|
|
248
|
+
dispatch(
|
|
249
|
+
est,
|
|
250
|
+
"test",
|
|
251
|
+
{"onedal": _CPUEstimator._onedal_test, "sklearn": None},
|
|
252
|
+
data,
|
|
253
|
+
)
|
|
254
|
+
if fallback:
|
|
255
|
+
# verify ``FakeCUDA.to_device`` was used
|
|
256
|
+
spy.assert_called_once_with("cpu")
|
scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 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
|
+
import numpy as np
|
|
18
|
+
import pytest
|
|
19
|
+
from sklearn.datasets import make_classification, make_regression
|
|
20
|
+
|
|
21
|
+
from daal4py.sklearn._utils import daal_check_version
|
|
22
|
+
from sklearnex.decomposition import PCA
|
|
23
|
+
from sklearnex.ensemble import RandomForestClassifier
|
|
24
|
+
from sklearnex.linear_model import IncrementalLinearRegression, LinearRegression
|
|
25
|
+
from sklearnex.preview.covariance import EmpiricalCovariance
|
|
26
|
+
|
|
27
|
+
# Table of estimators to test hyperparameter reset functionality.
|
|
28
|
+
# Each row contains the following elements:
|
|
29
|
+
#
|
|
30
|
+
# [estimator, estimator_type, operation, hyperparameter_name, non_default_value]
|
|
31
|
+
#
|
|
32
|
+
# estimator: the estimator class to test. For example, EmpiricalCovariance.
|
|
33
|
+
# estimator_type: the type of operation to get.
|
|
34
|
+
# Possible values: "compute", "regression", "classification".
|
|
35
|
+
# operation: the argument used in get_hyperparameters() and reset_hyperparameters()
|
|
36
|
+
# methods of the estimator.
|
|
37
|
+
# hyperparameter_name: the name of the hyperparameter to test.
|
|
38
|
+
# non_default_value: the value to set for the hyperparameter before resetting it.
|
|
39
|
+
# This value should be different from the default value of the hyperparameter.
|
|
40
|
+
test_estimators = [
|
|
41
|
+
[EmpiricalCovariance, "compute", "fit", "cpu_macro_block", 10],
|
|
42
|
+
[IncrementalLinearRegression, "regression", "fit", "cpu_macro_block", 10],
|
|
43
|
+
[IncrementalLinearRegression, "regression", "partial_fit", "cpu_macro_block", 10],
|
|
44
|
+
[LinearRegression, "regression", "fit", "cpu_macro_block", 10],
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
if daal_check_version((2024, "P", 300)):
|
|
48
|
+
test_estimators.append(
|
|
49
|
+
[RandomForestClassifier, "classification", "predict", "block_size", 8]
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
if daal_check_version((2025, "P", 700)):
|
|
53
|
+
test_estimators.append([EmpiricalCovariance, "compute", "fit", "cpu_grain_size", 2])
|
|
54
|
+
test_estimators.append([PCA, "compute", "fit", "cpu_macro_block", 10])
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def call_estimator(estimator_object, estimator_type, op, X, y=None):
|
|
58
|
+
if estimator_type == "compute":
|
|
59
|
+
return estimator_object.fit(X)
|
|
60
|
+
elif estimator_type == "regression" or estimator_type == "classification":
|
|
61
|
+
if y is None:
|
|
62
|
+
raise ValueError("y must be provided for regression or classification tasks")
|
|
63
|
+
if op == "partial_fit":
|
|
64
|
+
result = estimator_object.partial_fit(X, y)
|
|
65
|
+
else:
|
|
66
|
+
result = estimator_object.fit(X, y)
|
|
67
|
+
if op == "predict":
|
|
68
|
+
return estimator_object.predict(X)
|
|
69
|
+
else:
|
|
70
|
+
return result
|
|
71
|
+
else:
|
|
72
|
+
raise ValueError(f"Unknown estimator type: {estimator_type}")
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def test_reset_hyperparameters():
|
|
76
|
+
for estimator, estimator_type, op, param_name, non_default_value in test_estimators:
|
|
77
|
+
|
|
78
|
+
if estimator_type == "compute":
|
|
79
|
+
X = np.random.rand(100, 5)
|
|
80
|
+
y = None
|
|
81
|
+
elif estimator_type == "regression":
|
|
82
|
+
X, y = make_regression(n_features=5, n_informative=5, random_state=777)
|
|
83
|
+
elif estimator_type == "classification":
|
|
84
|
+
X, y = make_classification(n_features=5, random_state=777)
|
|
85
|
+
|
|
86
|
+
# Create an instance of the estimator
|
|
87
|
+
est_object = estimator()
|
|
88
|
+
|
|
89
|
+
# Fit the model to the data with the default hyperparameters
|
|
90
|
+
call_estimator(est_object, estimator_type, op, X, y)
|
|
91
|
+
|
|
92
|
+
# Get the hyperparameters before resetting
|
|
93
|
+
hparams_before = estimator.get_hyperparameters(op)
|
|
94
|
+
default_hparam_value = getattr(hparams_before, param_name)
|
|
95
|
+
|
|
96
|
+
# Fit the model to the data with non-default hyperparameters
|
|
97
|
+
setattr(hparams_before, param_name, non_default_value)
|
|
98
|
+
call_estimator(est_object, estimator_type, op, X, y)
|
|
99
|
+
|
|
100
|
+
# Check if the hyperparameters have been set to non-default values
|
|
101
|
+
assert getattr(hparams_before, param_name) == non_default_value
|
|
102
|
+
assert getattr(estimator.get_hyperparameters(op), param_name) == non_default_value
|
|
103
|
+
|
|
104
|
+
# Reset the hyperparameters
|
|
105
|
+
estimator.reset_hyperparameters(op)
|
|
106
|
+
call_estimator(est_object, estimator_type, op, X, y)
|
|
107
|
+
|
|
108
|
+
# Check if the hyperparameters have been reset to default values
|
|
109
|
+
assert (
|
|
110
|
+
getattr(estimator.get_hyperparameters(op), param_name) == default_hparam_value
|
|
111
|
+
)
|
|
@@ -168,25 +168,25 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
168
168
|
)
|
|
169
169
|
elif method and not hasattr(est, method):
|
|
170
170
|
pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
|
|
171
|
-
elif dataframe == "array_api" and estimator == "PCA" and "score" in method:
|
|
172
|
-
pytest.skip(
|
|
173
|
-
f"PCA.{method} has sklearn array_api support which breaks with array_api_dispatching"
|
|
174
|
-
)
|
|
175
|
-
elif (
|
|
176
|
-
dataframe == "array_api"
|
|
177
|
-
and not sklearn_check_version("1.3")
|
|
178
|
-
and estimator == "IncrementalEmpiricalCovariance"
|
|
179
|
-
and method == "score"
|
|
180
|
-
):
|
|
181
|
-
pytest.skip(
|
|
182
|
-
f"array checking in sklearn <1.3 does not fully support array_api inputs, causes sklearnex-only estimator failure"
|
|
183
|
-
)
|
|
184
171
|
|
|
185
172
|
if dataframe == "array_api":
|
|
186
173
|
# as array_api dispatching is experimental, sklearn support isn't guaranteed.
|
|
187
174
|
# the infrastructure from sklearn that sklearnex depends on is also susceptible
|
|
188
175
|
# to failure. In this case compare to sklearn for the same failure. By design
|
|
189
176
|
# the patching of sklearn should act similarly. Technically this is conformance.
|
|
177
|
+
if estimator == "PCA" and "score" in method:
|
|
178
|
+
pytest.skip(
|
|
179
|
+
f"PCA.{method} has sklearn array_api support which breaks with array_api_dispatching"
|
|
180
|
+
)
|
|
181
|
+
elif (
|
|
182
|
+
not sklearn_check_version("1.3")
|
|
183
|
+
and estimator == "IncrementalEmpiricalCovariance"
|
|
184
|
+
and method == "score"
|
|
185
|
+
):
|
|
186
|
+
pytest.skip(
|
|
187
|
+
f"array checking in sklearn <1.3 does not fully support array_api inputs, causes sklearnex-only estimator failure"
|
|
188
|
+
)
|
|
189
|
+
|
|
190
190
|
with config_context(array_api_dispatch=True):
|
|
191
191
|
try:
|
|
192
192
|
_check_estimator_patching(caplog, dataframe, queue, dtype, est, method)
|
|
@@ -398,25 +398,13 @@ def _get_processor_info():
|
|
|
398
398
|
class DummyEstimator(BaseEstimator):
|
|
399
399
|
|
|
400
400
|
def fit(self, X, y=None):
|
|
401
|
-
sua_iface, xp, _ = _get_sycl_namespace(X)
|
|
402
401
|
X_table = to_table(X)
|
|
403
402
|
y_table = to_table(y)
|
|
404
403
|
# The presence of the fitted attributes (ending with a trailing
|
|
405
404
|
# underscore) is required for the correct check. The cleanup of
|
|
406
405
|
# the memory will occur at the estimator instance deletion.
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
X_table, sua_iface=sua_iface, sycl_queue=X.sycl_queue, xp=xp
|
|
410
|
-
)
|
|
411
|
-
self.y_attr_ = from_table(
|
|
412
|
-
y_table,
|
|
413
|
-
sua_iface=sua_iface,
|
|
414
|
-
sycl_queue=X.sycl_queue if y is None else y.sycl_queue,
|
|
415
|
-
xp=xp,
|
|
416
|
-
)
|
|
417
|
-
else:
|
|
418
|
-
self.x_attr_ = from_table(X_table)
|
|
419
|
-
self.y_attr_ = from_table(y_table)
|
|
406
|
+
self.x_attr_ = from_table(X_table, like=X)
|
|
407
|
+
self.y_attr_ = from_table(y_table, like=X if y is None else y)
|
|
420
408
|
|
|
421
409
|
return self
|
|
422
410
|
|
|
@@ -424,13 +412,7 @@ class DummyEstimator(BaseEstimator):
|
|
|
424
412
|
# Checks if the estimator is fitted by verifying the presence of
|
|
425
413
|
# fitted attributes (ending with a trailing underscore).
|
|
426
414
|
check_is_fitted(self)
|
|
427
|
-
sua_iface, xp, _ = _get_sycl_namespace(X)
|
|
428
415
|
X_table = to_table(X)
|
|
429
|
-
|
|
430
|
-
returned_X = from_table(
|
|
431
|
-
X_table, sua_iface=sua_iface, sycl_queue=X.sycl_queue, xp=xp
|
|
432
|
-
)
|
|
433
|
-
else:
|
|
434
|
-
returned_X = from_table(X_table)
|
|
416
|
+
returned_X = from_table(X_table, like=X)
|
|
435
417
|
|
|
436
418
|
return returned_X
|
|
@@ -16,11 +16,19 @@
|
|
|
16
16
|
|
|
17
17
|
"""Tools to support array_api."""
|
|
18
18
|
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import Union
|
|
21
|
+
|
|
19
22
|
import numpy as np
|
|
20
23
|
|
|
21
24
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
22
25
|
from onedal.utils._array_api import _get_sycl_namespace
|
|
23
26
|
|
|
27
|
+
from ..base import oneDALEstimator
|
|
28
|
+
|
|
29
|
+
if sklearn_check_version("1.6"):
|
|
30
|
+
from ..base import Tags
|
|
31
|
+
|
|
24
32
|
if sklearn_check_version("1.2"):
|
|
25
33
|
from sklearn.utils._array_api import get_namespace as sklearn_get_namespace
|
|
26
34
|
|
|
@@ -80,3 +88,66 @@ def get_namespace(*arrays):
|
|
|
80
88
|
return sklearn_get_namespace(*arrays)
|
|
81
89
|
else:
|
|
82
90
|
return np, False
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def _enable_array_api(original_class: type[oneDALEstimator]) -> type[oneDALEstimator]:
|
|
94
|
+
if sklearn_check_version("1.6"):
|
|
95
|
+
|
|
96
|
+
def __sklearn_tags__(self) -> Tags:
|
|
97
|
+
sktags = super(original_class, self).__sklearn_tags__()
|
|
98
|
+
sktags.onedal_array_api = True
|
|
99
|
+
return sktags
|
|
100
|
+
|
|
101
|
+
original_class.__sklearn_tags__ = __sklearn_tags__
|
|
102
|
+
|
|
103
|
+
elif sklearn_check_version("1.3"):
|
|
104
|
+
|
|
105
|
+
def _more_tags(self) -> dict[str, bool]:
|
|
106
|
+
return {"onedal_array_api": True}
|
|
107
|
+
|
|
108
|
+
original_class._more_tags = _more_tags
|
|
109
|
+
|
|
110
|
+
return original_class
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def enable_array_api(
|
|
114
|
+
class_or_str: Union[type[oneDALEstimator], str],
|
|
115
|
+
) -> Union[type[oneDALEstimator], Callable]:
|
|
116
|
+
"""Enable sklearnex to use dpctl, dpnp or array API inputs in oneDAL offloading.
|
|
117
|
+
|
|
118
|
+
This wrapper sets the proper flags/tags for the sklearnex infrastructure
|
|
119
|
+
to maintain the data framework, as the estimator can use it natively.
|
|
120
|
+
|
|
121
|
+
Parameters
|
|
122
|
+
----------
|
|
123
|
+
class_or_str : oneDALEstimator subclass or str
|
|
124
|
+
Class which should enable data zero-copy support in sklearnex. By
|
|
125
|
+
default it will enable for sklearn versions >1.3. If the wrapper is
|
|
126
|
+
decorated with an argument, it must be a string defining the oldest
|
|
127
|
+
sklearn version where array API support begins.
|
|
128
|
+
|
|
129
|
+
Returns
|
|
130
|
+
-------
|
|
131
|
+
cls or wrapper : modified oneDALEstimator subclass or wrapper
|
|
132
|
+
Estimator class or wrapper.
|
|
133
|
+
|
|
134
|
+
Examples
|
|
135
|
+
--------
|
|
136
|
+
@enable_array_api # default array API support
|
|
137
|
+
class PCA():
|
|
138
|
+
...
|
|
139
|
+
|
|
140
|
+
@enable_array_api("1.5") # array API support for sklearn > 1.5
|
|
141
|
+
class Ridge():
|
|
142
|
+
...
|
|
143
|
+
"""
|
|
144
|
+
if isinstance(class_or_str, str):
|
|
145
|
+
# enable array_api for the estimator for a given sklearn version str
|
|
146
|
+
if sklearn_check_version(class_or_str):
|
|
147
|
+
return _enable_array_api
|
|
148
|
+
else:
|
|
149
|
+
# do not apply the wrapper as it is not supported
|
|
150
|
+
return lambda x: x
|
|
151
|
+
else:
|
|
152
|
+
# default setting (apply array_api enablement for sklearn >=1.3)
|
|
153
|
+
return _enable_array_api(class_or_str)
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
+
import warnings
|
|
18
|
+
from functools import update_wrapper
|
|
19
|
+
|
|
20
|
+
from daal4py.sklearn._utils import sklearn_check_version
|
|
21
|
+
|
|
22
|
+
from .._config import config_context, get_config
|
|
23
|
+
|
|
24
|
+
# Replacement of _FuncWrapper is required to correctly propagate
|
|
25
|
+
# the scikit-learn-intelex configuration functions to the joblib workers.
|
|
26
|
+
if sklearn_check_version("1.7"):
|
|
27
|
+
|
|
28
|
+
class _FuncWrapper:
|
|
29
|
+
"""Load the global configuration before calling the function."""
|
|
30
|
+
|
|
31
|
+
def __init__(self, function):
|
|
32
|
+
self.function = function
|
|
33
|
+
update_wrapper(self, self.function)
|
|
34
|
+
|
|
35
|
+
def with_config_and_warning_filters(self, config, warning_filters):
|
|
36
|
+
self.config = config
|
|
37
|
+
self.warning_filters = warning_filters
|
|
38
|
+
return self
|
|
39
|
+
|
|
40
|
+
def __call__(self, *args, **kwargs):
|
|
41
|
+
config = getattr(self, "config", {})
|
|
42
|
+
warning_filters = getattr(self, "warning_filters", [])
|
|
43
|
+
if not config or not warning_filters:
|
|
44
|
+
warnings.warn(
|
|
45
|
+
(
|
|
46
|
+
"`sklearn.utils.parallel.delayed` should be used with"
|
|
47
|
+
" `sklearn.utils.parallel.Parallel` to make it possible to"
|
|
48
|
+
" propagate the scikit-learn configuration of the current thread to"
|
|
49
|
+
" the joblib workers."
|
|
50
|
+
),
|
|
51
|
+
UserWarning,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
with config_context(**config), warnings.catch_warnings():
|
|
55
|
+
warnings.filters = warning_filters
|
|
56
|
+
return self.function(*args, **kwargs)
|
|
57
|
+
|
|
58
|
+
elif sklearn_check_version("1.2.1"):
|
|
59
|
+
|
|
60
|
+
class _FuncWrapper:
|
|
61
|
+
"""Load the global configuration before calling the function."""
|
|
62
|
+
|
|
63
|
+
def __init__(self, function):
|
|
64
|
+
self.function = function
|
|
65
|
+
update_wrapper(self, self.function)
|
|
66
|
+
|
|
67
|
+
def with_config(self, config):
|
|
68
|
+
self.config = config
|
|
69
|
+
return self
|
|
70
|
+
|
|
71
|
+
def __call__(self, *args, **kwargs):
|
|
72
|
+
config = getattr(self, "config", None)
|
|
73
|
+
if config is None:
|
|
74
|
+
warnings.warn(
|
|
75
|
+
"`sklearn.utils.parallel.delayed` should be used with "
|
|
76
|
+
"`sklearn.utils.parallel.Parallel` to make it possible to propagate "
|
|
77
|
+
"the scikit-learn configuration of the current thread to the "
|
|
78
|
+
"joblib workers.",
|
|
79
|
+
UserWarning,
|
|
80
|
+
)
|
|
81
|
+
config = {}
|
|
82
|
+
with config_context(**config):
|
|
83
|
+
return self.function(*args, **kwargs)
|
|
84
|
+
|
|
85
|
+
else:
|
|
86
|
+
|
|
87
|
+
class _FuncWrapper:
|
|
88
|
+
"""Load the global configuration before calling the function."""
|
|
89
|
+
|
|
90
|
+
def __init__(self, function):
|
|
91
|
+
self.function = function
|
|
92
|
+
self.config = get_config()
|
|
93
|
+
update_wrapper(self, self.function)
|
|
94
|
+
|
|
95
|
+
def __call__(self, *args, **kwargs):
|
|
96
|
+
with config_context(**self.config):
|
|
97
|
+
return self.function(*args, **kwargs)
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import math
|
|
18
18
|
import numbers
|
|
19
|
+
from collections.abc import Sequence
|
|
19
20
|
|
|
20
21
|
import scipy.sparse as sp
|
|
21
22
|
from sklearn.utils.validation import _assert_all_finite as _sklearn_assert_all_finite
|
|
@@ -124,7 +125,6 @@ def validate_data(
|
|
|
124
125
|
# run local finite check
|
|
125
126
|
allow_nan = ensure_all_finite == "allow-nan"
|
|
126
127
|
# the return object from validate_data can be a single
|
|
127
|
-
|
|
128
128
|
# element (either x or y) or both (as a tuple). An iterator along with
|
|
129
129
|
# check_x and check_y can go through the output properly without
|
|
130
130
|
# stacking layers of if statements to make sure the proper input_name
|
|
@@ -135,6 +135,24 @@ def validate_data(
|
|
|
135
135
|
if check_y:
|
|
136
136
|
assert_all_finite(next(arg), allow_nan=allow_nan, input_name="y")
|
|
137
137
|
|
|
138
|
+
if check_y and kwargs.get("y_numeric", False):
|
|
139
|
+
# validate_data does not do full dtype conversions, as it uses check_X_y
|
|
140
|
+
# oneDAL can make tables from [int32, float32, float64], requiring
|
|
141
|
+
# a dtype check and conversion. This will query the array_namespace and
|
|
142
|
+
# convert y as necessary. This is important especially for regressors.
|
|
143
|
+
outx, outy = out if check_x else (None, out)
|
|
144
|
+
yp, _ = get_namespace(outy)
|
|
145
|
+
|
|
146
|
+
# avoid using ``kwargs.get("dtype")`` as it will always set up the default
|
|
147
|
+
dtype = kwargs.get("dtype", (yp.float64, yp.float32, yp.int32))
|
|
148
|
+
if not isinstance(dtype, Sequence):
|
|
149
|
+
dtype = tuple(dtype)
|
|
150
|
+
|
|
151
|
+
if outy.dtype not in dtype:
|
|
152
|
+
# use asarray rather than astype because of numpy support
|
|
153
|
+
outy = yp.asarray(outy, dtype=dtype[0])
|
|
154
|
+
out = (outx, outy) if check_x else outy
|
|
155
|
+
|
|
138
156
|
return out
|
|
139
157
|
|
|
140
158
|
|
{scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: scikit-learn-intelex
|
|
3
|
-
Version: 2025.
|
|
3
|
+
Version: 2025.8.0
|
|
4
4
|
Summary: Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application.
|
|
5
5
|
Home-page: https://github.com/intel/scikit-learn-intelex
|
|
6
6
|
Author: Intel Corporation
|
|
@@ -30,7 +30,7 @@ Classifier: Topic :: Software Development
|
|
|
30
30
|
Requires-Python: >=3.7
|
|
31
31
|
Description-Content-Type: text/markdown
|
|
32
32
|
License-File: LICENSE.txt
|
|
33
|
-
Requires-Dist: daal ==2025.
|
|
33
|
+
Requires-Dist: daal ==2025.8.0
|
|
34
34
|
Requires-Dist: numpy >=1.19
|
|
35
35
|
Requires-Dist: scikit-learn >=0.22
|
|
36
36
|
|