scikit-learn-intelex 2025.4.0__py39-none-win_amd64.whl → 2025.5.0__py39-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of scikit-learn-intelex might be problematic. Click here for more details.

Files changed (269) hide show
  1. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
  2. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +1 -1
  4. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
  5. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +855 -0
  6. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
  7. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +99 -91
  8. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
  9. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
  10. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  11. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
  12. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
  13. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
  14. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  15. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  16. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
  17. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  18. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
  19. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
  20. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
  21. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
  22. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
  23. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +2 -2
  24. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
  25. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
  26. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
  27. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
  28. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
  29. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
  30. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  31. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  32. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_device_offload.py +79 -83
  33. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
  34. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
  35. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
  36. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  37. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  38. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  39. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
  40. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
  41. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  42. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
  43. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  44. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
  45. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
  46. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
  47. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
  48. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  49. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
  50. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  51. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
  52. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
  53. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
  54. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  55. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
  56. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
  57. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
  58. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  59. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
  60. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
  61. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
  62. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
  63. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
  64. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +1 -13
  65. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -1
  66. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
  67. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +147 -0
  68. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
  69. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  70. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  71. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  72. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
  73. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +143 -0
  74. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_utils.py +28 -2
  75. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +13 -20
  76. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +34 -40
  77. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +6 -8
  78. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +2 -6
  79. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +42 -60
  80. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -17
  81. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  83. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +106 -362
  84. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +6 -6
  87. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +41 -126
  88. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +42 -85
  89. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +48 -39
  90. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +34 -71
  91. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +14 -18
  92. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +60 -1
  93. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +2 -2
  94. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +2 -3
  95. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +1 -3
  98. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +3 -3
  100. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +31 -73
  101. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +30 -70
  102. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +5 -13
  103. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -13
  104. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +48 -62
  105. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
  106. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
  107. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
  108. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
  109. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
  110. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
  111. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
  112. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
  113. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
  114. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
  115. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
  116. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
  117. {scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors}/__init__.py +2 -2
  118. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
  119. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +12 -25
  120. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +35 -128
  121. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +9 -21
  122. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +33 -126
  123. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +9 -21
  124. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +26 -11
  125. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +16 -23
  126. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
  127. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
  128. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  129. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/METADATA +2 -2
  130. scikit_learn_intelex-2025.5.0.dist-info/RECORD +257 -0
  131. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
  132. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
  133. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  142. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
  143. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  144. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  145. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  146. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  147. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  150. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  151. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  152. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  153. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  154. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  155. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  156. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  157. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  158. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  159. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  160. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  161. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  162. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  163. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  164. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  165. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  166. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  167. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  168. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  169. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  170. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  171. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  172. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  174. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  175. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  176. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  177. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  178. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  180. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  181. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  182. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  183. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  184. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  185. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  186. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  187. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  188. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  189. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  190. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  191. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  192. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  193. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  194. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  195. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  196. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  197. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  198. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  199. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  200. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  201. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  202. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  203. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  204. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  206. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  207. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  208. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  209. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  210. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  211. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  213. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  214. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  215. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  217. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  218. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  219. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  220. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  221. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  223. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  224. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  225. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  227. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  229. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  231. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  232. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  233. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  234. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  235. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  237. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  238. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  240. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  241. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  242. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  243. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  244. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  245. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  246. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  247. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  249. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  250. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  251. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  252. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  253. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  255. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
  256. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  257. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  258. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  259. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -0
  260. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
  261. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  262. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  263. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  264. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  265. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  266. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  267. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/LICENSE.txt +0 -0
  268. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/WHEEL +0 -0
  269. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/top_level.txt +0 -0
@@ -20,9 +20,11 @@ from abc import ABC
20
20
 
21
21
  import numpy as np
22
22
 
23
- from daal4py.sklearn._utils import daal_check_version, get_dtype
24
- from onedal import _backend
23
+ from daal4py.sklearn._utils import daal_check_version
24
+ from onedal._device_offload import supports_queue
25
25
  from onedal.basic_statistics import BasicStatistics
26
+ from onedal.common._backend import bind_default_backend
27
+ from onedal.utils import _sycl_queue_manager as QM
26
28
 
27
29
  if daal_check_version((2023, "P", 200)):
28
30
  from .kmeans_init import KMeansInit
@@ -32,13 +34,13 @@ from sklearn.exceptions import ConvergenceWarning
32
34
  from sklearn.metrics.pairwise import euclidean_distances
33
35
  from sklearn.utils import check_random_state
34
36
 
35
- from ..common._base import BaseEstimator as onedal_BaseEstimator
37
+ from .._config import _get_config
36
38
  from ..common._mixin import ClusterMixin, TransformerMixin
37
39
  from ..datatypes import from_table, to_table
38
- from ..utils import _check_array, _is_arraylike_not_scalar, _is_csr
40
+ from ..utils.validation import _check_array, _is_arraylike_not_scalar, _is_csr
39
41
 
40
42
 
41
- class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
43
+ class _BaseKMeans(TransformerMixin, ClusterMixin, ABC):
42
44
  def __init__(
43
45
  self,
44
46
  n_clusters,
@@ -60,6 +62,15 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
60
62
  self.random_state = random_state
61
63
  self.n_local_trials = n_local_trials
62
64
 
65
+ @bind_default_backend("kmeans_common", no_policy=True)
66
+ def _is_same_clustering(self, labels, best_labels, n_clusters): ...
67
+
68
+ @bind_default_backend("kmeans.clustering")
69
+ def train(self, params, X_table, centroids_table): ...
70
+
71
+ @bind_default_backend("kmeans.clustering")
72
+ def infer(self, params, model, centroids_table): ...
73
+
63
74
  def _validate_center_shape(self, X, centers):
64
75
  """Check if centers is compatible with X and n_clusters."""
65
76
  if centers.shape[0] != self.n_clusters:
@@ -73,14 +84,19 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
73
84
  f"match the number of features of the data {X.shape[1]}."
74
85
  )
75
86
 
76
- def _get_kmeans_init(self, cluster_count, seed, algorithm):
77
- return KMeansInit(cluster_count=cluster_count, seed=seed, algorithm=algorithm)
87
+ def _get_kmeans_init(self, cluster_count, seed, algorithm, is_csr):
88
+ return KMeansInit(
89
+ cluster_count=cluster_count,
90
+ seed=seed,
91
+ algorithm=algorithm,
92
+ is_csr=is_csr,
93
+ )
78
94
 
79
95
  # Get appropriate backend (required for SPMD)
80
96
  def _get_basic_statistics_backend(self, result_options):
81
97
  return BasicStatistics(result_options)
82
98
 
83
- def _tolerance(self, X_table, rtol, is_csr, policy, dtype):
99
+ def _tolerance(self, X_table, rtol, is_csr, dtype):
84
100
  """Compute absolute tolerance from the relative tolerance"""
85
101
  if rtol == 0.0:
86
102
  return rtol
@@ -88,13 +104,13 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
88
104
 
89
105
  bs = self._get_basic_statistics_backend("variance")
90
106
 
91
- res = bs._compute_raw(X_table, dummy, policy, dtype, is_csr)
107
+ res = bs._compute_raw(X_table, dummy, dtype, is_csr)
92
108
  mean_var = from_table(res["variance"]).mean()
93
109
 
94
110
  return mean_var * rtol
95
111
 
96
112
  def _check_params_vs_input(
97
- self, X_table, is_csr, policy, default_n_init=10, dtype=np.float32
113
+ self, X_table, is_csr, default_n_init=10, dtype=np.float32
98
114
  ):
99
115
  # n_clusters
100
116
  if X_table.shape[0] < self.n_clusters:
@@ -103,7 +119,7 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
103
119
  )
104
120
 
105
121
  # tol
106
- self._tol = self._tolerance(X_table, self.tol, is_csr, policy, dtype)
122
+ self._tol = self._tolerance(X_table, self.tol, is_csr, dtype)
107
123
 
108
124
  # n-init
109
125
  # TODO(1.4): Remove
@@ -159,42 +175,34 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
159
175
  X_table,
160
176
  init,
161
177
  random_seed,
162
- policy,
163
178
  is_csr,
164
179
  dtype=np.float32,
165
180
  n_centroids=None,
166
181
  ):
167
182
  n_clusters = self.n_clusters if n_centroids is None else n_centroids
168
- # Use host policy for KMeans init, only for csr data
169
- # as oneDAL KMeansInit for CSR data is not implemented on GPU
170
- if is_csr:
171
- init_policy = self._get_policy(None, None)
172
- logging.getLogger("sklearnex").info("Running Sparse KMeansInit on CPU")
173
- else:
174
- init_policy = policy
175
183
 
176
184
  if isinstance(init, str) and init == "k-means++":
177
- if not is_csr:
178
- alg = self._get_kmeans_init(
179
- cluster_count=n_clusters,
180
- seed=random_seed,
181
- algorithm="plus_plus_dense",
182
- )
183
- else:
184
- alg = self._get_kmeans_init(
185
- cluster_count=n_clusters, seed=random_seed, algorithm="plus_plus_csr"
186
- )
187
- centers_table = alg.compute_raw(X_table, init_policy, dtype)
185
+ algorithm = "plus_plus_dense" if not is_csr else "plus_plus_csr"
186
+ alg = self._get_kmeans_init(
187
+ cluster_count=n_clusters,
188
+ seed=random_seed,
189
+ algorithm=algorithm,
190
+ is_csr=is_csr,
191
+ )
192
+ # We pass down the queue that was set through the KMeans.fit()
193
+ queue = QM.get_global_queue()
194
+ centers_table = alg.compute_raw(X_table, dtype, queue=queue)
188
195
  elif isinstance(init, str) and init == "random":
189
- if not is_csr:
190
- alg = self._get_kmeans_init(
191
- cluster_count=n_clusters, seed=random_seed, algorithm="random_dense"
192
- )
193
- else:
194
- alg = self._get_kmeans_init(
195
- cluster_count=n_clusters, seed=random_seed, algorithm="random_csr"
196
- )
197
- centers_table = alg.compute_raw(X_table, init_policy, dtype)
196
+ algorithm = "random_dense" if not is_csr else "random_csr"
197
+ alg = self._get_kmeans_init(
198
+ cluster_count=n_clusters,
199
+ seed=random_seed,
200
+ algorithm=algorithm,
201
+ is_csr=is_csr,
202
+ )
203
+ # We pass down the queue that was set through the KMeans.fit()
204
+ queue = QM.get_global_queue()
205
+ centers_table = alg.compute_raw(X_table, dtype, queue=queue)
198
206
  elif _is_arraylike_not_scalar(init):
199
207
  if _is_csr(init):
200
208
  # oneDAL KMeans only supports Dense Centroids
@@ -205,13 +213,13 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
205
213
  assert centers.shape[1] == X_table.column_count
206
214
  # KMeans is implemented on both CPU and GPU for Dense and CSR data
207
215
  # The original policy can be used here
208
- centers_table = to_table(centers, queue=getattr(policy, "_queue", None))
216
+ centers_table = to_table(centers, queue=QM.get_global_queue())
209
217
  else:
210
218
  raise TypeError("Unsupported type of the `init` value")
211
219
 
212
220
  return centers_table
213
221
 
214
- def _init_centroids_sklearn(self, X, init, random_state, policy, dtype=np.float32):
222
+ def _init_centroids_sklearn(self, X, init, random_state, dtype=np.float32):
215
223
  # For oneDAL versions < 2023.2 or callable init,
216
224
  # using the scikit-learn implementation
217
225
  logging.getLogger("sklearnex").info("Computing KMeansInit with Stock sklearn")
@@ -239,16 +247,14 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
239
247
  f"callable, got '{ init }' instead."
240
248
  )
241
249
 
242
- return to_table(centers, queue=getattr(policy, "_queue", None))
250
+ return to_table(centers, queue=getattr(QM.get_global_queue(), "_queue", None))
243
251
 
244
- def _fit_backend(
245
- self, X_table, centroids_table, module, policy, dtype=np.float32, is_csr=False
246
- ):
252
+ def _fit_backend(self, X_table, centroids_table, dtype=np.float32, is_csr=False):
247
253
  params = self._get_onedal_params(is_csr, dtype)
248
254
 
249
255
  assert X_table.dtype == dtype
250
256
 
251
- result = module.train(policy, params, X_table, centroids_table)
257
+ result = self.train(params, X_table, centroids_table)
252
258
 
253
259
  return (
254
260
  result.responses,
@@ -257,16 +263,20 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
257
263
  result.iteration_count,
258
264
  )
259
265
 
260
- def _fit(self, X, module, queue=None):
261
- policy = self._get_policy(queue, X)
266
+ def _fit(self, X):
262
267
  is_csr = _is_csr(X)
263
- X = _check_array(
264
- X, dtype=[np.float64, np.float32], accept_sparse="csr", force_all_finite=False
265
- )
266
- X_table = to_table(X, queue=queue)
268
+
269
+ if _get_config()["use_raw_input"] is False:
270
+ X = _check_array(
271
+ X,
272
+ dtype=[np.float64, np.float32],
273
+ accept_sparse="csr",
274
+ force_all_finite=False,
275
+ )
276
+ X_table = to_table(X, queue=QM.get_global_queue())
267
277
  dtype = X_table.dtype
268
278
 
269
- self._check_params_vs_input(X_table, is_csr, policy, dtype=dtype)
279
+ self._check_params_vs_input(X_table, is_csr, dtype=dtype)
270
280
 
271
281
  self.n_features_in_ = X_table.column_count
272
282
 
@@ -277,12 +287,10 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
277
287
  if best_inertia is None:
278
288
  return True
279
289
  else:
280
- mod = self._get_backend("kmeans_common", None, None)
281
290
  better_inertia = inertia < best_inertia
282
- same_clusters = mod._is_same_clustering(
291
+ return better_inertia and not self._is_same_clustering(
283
292
  labels, best_labels, self.n_clusters
284
293
  )
285
- return better_inertia and not same_clusters
286
294
 
287
295
  random_state = check_random_state(self.random_state)
288
296
 
@@ -300,18 +308,18 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
300
308
  if use_onedal_init:
301
309
  random_seed = random_state.randint(np.iinfo("i").max)
302
310
  centroids_table = self._init_centroids_onedal(
303
- X_table, init, random_seed, policy, is_csr, dtype=dtype
311
+ X_table, init, random_seed, is_csr, dtype=dtype
304
312
  )
305
313
  else:
306
314
  centroids_table = self._init_centroids_sklearn(
307
- X, init, random_state, policy, dtype=dtype
315
+ X, init, random_state, dtype=dtype
308
316
  )
309
317
 
310
318
  if self.verbose:
311
319
  print("Initialization complete")
312
320
 
313
321
  labels, inertia, model, n_iter = self._fit_backend(
314
- X_table, centroids_table, module, policy, dtype, is_csr
322
+ X_table, centroids_table, dtype, is_csr
315
323
  )
316
324
 
317
325
  if self.verbose:
@@ -350,7 +358,7 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
350
358
  centroids = self.model_.centroids
351
359
  self._cluster_centers_ = from_table(centroids)
352
360
  else:
353
- raise NameError("This model have not been trained")
361
+ raise NameError("This model has not been trained")
354
362
  return self._cluster_centers_
355
363
 
356
364
  @cluster_centers_.setter
@@ -360,7 +368,6 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
360
368
  self.n_iter_ = 0
361
369
  self.inertia_ = 0
362
370
 
363
- self.model_ = self._get_backend("kmeans", "clustering", "model")
364
371
  self.model_.centroids = to_table(self._cluster_centers_)
365
372
  self.n_features_in_ = self.model_.centroids.column_count
366
373
  self.labels_ = np.arange(self.model_.centroids.row_count)
@@ -371,27 +378,26 @@ class _BaseKMeans(onedal_BaseEstimator, TransformerMixin, ClusterMixin, ABC):
371
378
  def cluster_centers_(self):
372
379
  del self._cluster_centers_
373
380
 
374
- def _predict(self, X, module, queue=None, result_options=None):
381
+ def _predict(self, X, result_options=None):
375
382
  is_csr = _is_csr(X)
376
383
 
377
- policy = self._get_policy(queue, X)
378
- X_table = to_table(X, queue=queue)
384
+ X_table = to_table(X, queue=QM.get_global_queue())
379
385
  params = self._get_onedal_params(is_csr, X_table.dtype, result_options)
380
386
 
381
- result = module.infer(policy, params, self.model_, X_table)
387
+ result = self.infer(params, self.model_, X_table)
382
388
 
383
- if (
384
- result_options == "compute_exact_objective_function"
385
- ): # This is only set for score function
386
- return result.objective_function_value * (-1)
389
+ if result_options == "compute_exact_objective_function":
390
+ # This is only set for score function
391
+ return -1 * result.objective_function_value
387
392
  else:
388
393
  return from_table(result.responses).ravel()
389
394
 
390
- def _score(self, X, module, queue=None):
395
+ def _score(self, X):
391
396
  result_options = "compute_exact_objective_function"
392
397
 
393
398
  return self._predict(
394
- X, self._get_backend("kmeans", "clustering", None), queue, result_options
399
+ X,
400
+ result_options,
395
401
  )
396
402
 
397
403
  def _transform(self, X):
@@ -426,9 +432,11 @@ class KMeans(_BaseKMeans):
426
432
  self.algorithm = algorithm
427
433
  assert self.algorithm == "lloyd"
428
434
 
435
+ @supports_queue
429
436
  def fit(self, X, y=None, queue=None):
430
- return super()._fit(X, self._get_backend("kmeans", "clustering", None), queue)
437
+ return self._fit(X)
431
438
 
439
+ @supports_queue
432
440
  def predict(self, X, queue=None):
433
441
  """Predict the closest cluster each sample in X belongs to.
434
442
 
@@ -446,7 +454,7 @@ class KMeans(_BaseKMeans):
446
454
  labels : ndarray of shape (n_samples,)
447
455
  Index of the cluster each sample belongs to.
448
456
  """
449
- return super()._predict(X, self._get_backend("kmeans", "clustering", None), queue)
457
+ return self._predict(X)
450
458
 
451
459
  def fit_predict(self, X, y=None, queue=None):
452
460
  """Compute cluster centers and predict cluster index for each sample.
@@ -509,6 +517,7 @@ class KMeans(_BaseKMeans):
509
517
 
510
518
  return self._transform(X)
511
519
 
520
+ @supports_queue
512
521
  def score(self, X, queue=None):
513
522
  """Opposite of the value of X on the K-means objective.
514
523
 
@@ -522,7 +531,7 @@ class KMeans(_BaseKMeans):
522
531
  score: float
523
532
  Opposite of the value of X on the K-means objective.
524
533
  """
525
- return super()._score(X, self._get_backend("kmeans", "clustering", None), queue)
534
+ return self._score(X)
526
535
 
527
536
 
528
537
  def k_means(
@@ -15,18 +15,52 @@
15
15
  # ==============================================================================
16
16
 
17
17
  import numpy as np
18
- from scipy.sparse import issparse
19
18
  from sklearn.utils import check_random_state
20
19
 
21
- from daal4py.sklearn._utils import daal_check_version, get_dtype
20
+ from daal4py.sklearn._utils import daal_check_version
21
+ from onedal._device_offload import supports_queue
22
+ from onedal.common._backend import bind_default_backend
23
+ from onedal.utils import _sycl_queue_manager as QM
24
+ from sklearnex._config import config_context, get_config
22
25
 
23
- from ..common._base import BaseEstimator as onedal_BaseEstimator
24
26
  from ..datatypes import from_table, to_table
25
- from ..utils import _check_array
27
+ from ..utils.validation import _check_array
26
28
 
27
29
  if daal_check_version((2023, "P", 200)):
28
30
 
29
- class KMeansInit(onedal_BaseEstimator):
31
+ def force_host_if_csr(func):
32
+ """
33
+ Decorator to force computation on the host if the input data is in CSR format.
34
+
35
+ CSR (Compressed Sparse Row) format is not supported on GPU. This decorator ensures that
36
+ the computation is performed on the host (CPU) when the input data is in CSR format.
37
+ It is necessary that `self.is_csr` is to the correct value (True or False) before calling.
38
+ It temporarily modifies the configuration to target the CPU and removes the global SYCL queue
39
+ to ensure the computation is executed on the host. The original configuration is restored upon exit.
40
+
41
+ Parameters:
42
+ func (function): The function to be decorated.
43
+
44
+ Returns:
45
+ function: The wrapped function with the modified configuration if the input data is in CSR format.
46
+ """
47
+ config = get_config()
48
+ # `auto` rather than `cpu` is necessary in order to force host when a SYCL cpu target is unavailable
49
+ config["target_offload"] = "auto"
50
+
51
+ def wrapper(self, *args, **kwargs):
52
+ if self.is_csr:
53
+ with (
54
+ config_context(**config),
55
+ QM.manage_global_queue(None, None),
56
+ ):
57
+ return func(self, *args, **kwargs)
58
+ else:
59
+ return func(self, *args, **kwargs)
60
+
61
+ return wrapper
62
+
63
+ class KMeansInit:
30
64
  """
31
65
  KMeansInit oneDAL implementation.
32
66
  """
@@ -37,17 +71,22 @@ if daal_check_version((2023, "P", 200)):
37
71
  seed=777,
38
72
  local_trials_count=None,
39
73
  algorithm="plus_plus_dense",
74
+ is_csr=False,
40
75
  ):
41
76
  self.cluster_count = cluster_count
42
77
  self.seed = seed
43
78
  self.local_trials_count = local_trials_count
44
79
  self.algorithm = algorithm
80
+ self.is_csr = is_csr
45
81
 
46
82
  if local_trials_count is None:
47
83
  self.local_trials_count = 2 + int(np.log(cluster_count))
48
84
  else:
49
85
  self.local_trials_count = local_trials_count
50
86
 
87
+ @bind_default_backend("kmeans_init.init", lookup_name="compute")
88
+ def backend_compute(self, params, X_table): ...
89
+
51
90
  def _get_onedal_params(self, dtype=np.float32):
52
91
  return {
53
92
  "fptype": dtype,
@@ -68,31 +107,25 @@ if daal_check_version((2023, "P", 200)):
68
107
  params = self._get_onedal_params(X.dtype)
69
108
  return (params, X, X.dtype)
70
109
 
71
- def _compute_raw(self, X_table, module, policy, dtype=np.float32):
110
+ def _compute_raw(self, X_table, dtype=np.float32):
72
111
  params = self._get_onedal_params(dtype)
73
-
74
- result = module.compute(policy, params, X_table)
75
-
112
+ result = self.backend_compute(params, X_table)
76
113
  return result.centroids
77
114
 
78
- def _compute(self, X, module, queue):
79
- policy = self._get_policy(queue, X)
80
- # oneDAL KMeans Init for sparse data does not have GPU support
81
- if issparse(X):
82
- policy = self._get_policy(None, None)
83
- _, X_table, dtype = self._get_params_and_input(X, queue)
84
-
85
- centroids = self._compute_raw(X_table, module, policy, dtype)
86
-
115
+ def _compute(self, X):
116
+ _, X_table, dtype = self._get_params_and_input(X, queue=QM.get_global_queue())
117
+ centroids = self._compute_raw(X_table, dtype)
87
118
  return from_table(centroids)
88
119
 
89
- def compute_raw(self, X_table, policy, dtype=np.float32):
90
- return self._compute_raw(
91
- X_table, self._get_backend("kmeans_init", "init", None), policy, dtype
92
- )
120
+ @force_host_if_csr
121
+ def compute_raw(self, X_table, dtype=np.float32, queue=None):
122
+ # no @supports_queue decorator here, because we only accept X_table that has no queue information
123
+ return self._compute_raw(X_table, dtype)
93
124
 
125
+ @force_host_if_csr
126
+ @supports_queue
94
127
  def compute(self, X, queue=None):
95
- return self._compute(X, self._get_backend("kmeans_init", "init", None), queue)
128
+ return self._compute(X)
96
129
 
97
130
  def kmeans_plusplus(
98
131
  X,
@@ -107,6 +140,6 @@ if daal_check_version((2023, "P", 200)):
107
140
  return (
108
141
  KMeansInit(
109
142
  n_clusters, seed=random_seed, local_trials_count=n_local_trials
110
- ).compute(X, queue),
143
+ ).compute(X, queue=queue),
111
144
  np.full(n_clusters, -1),
112
145
  )