scikit-learn-intelex 2025.4.0__py310-none-win_amd64.whl → 2025.6.0__py310-none-win_amd64.whl

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

Potentially problematic release.


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

Files changed (270) hide show
  1. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
  2. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
  3. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
  4. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +922 -0
  5. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
  6. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +129 -106
  7. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
  8. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
  9. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  10. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
  11. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
  12. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
  13. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  14. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  15. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
  16. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  17. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
  18. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
  19. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
  20. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
  21. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
  22. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +3 -3
  23. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
  24. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
  25. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
  26. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
  27. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
  28. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
  29. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  30. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  31. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_device_offload.py +86 -82
  32. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
  33. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
  34. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
  35. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  36. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  37. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  38. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
  39. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
  40. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  41. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
  42. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  43. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
  44. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
  45. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
  46. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
  47. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  48. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
  49. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  50. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
  51. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
  52. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
  53. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  54. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
  55. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
  56. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
  57. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  58. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
  59. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
  60. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
  61. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
  62. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
  63. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +3 -13
  64. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +14 -2
  65. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
  66. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +161 -0
  67. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
  68. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  69. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  70. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  71. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
  72. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +194 -0
  73. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_utils.py +36 -43
  74. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
  75. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +14 -20
  76. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +31 -40
  77. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +10 -11
  78. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +20 -19
  79. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +49 -62
  80. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +9 -20
  81. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.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.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +111 -366
  84. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +18 -6
  87. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.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.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +37 -85
  89. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +52 -47
  90. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +45 -84
  91. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +17 -20
  92. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.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.6.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.6.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +8 -6
  95. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.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.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +6 -5
  100. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.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.6.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.6.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.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +6 -19
  104. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +45 -62
  105. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +15 -28
  120. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +36 -129
  121. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +10 -22
  122. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +34 -127
  123. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +10 -22
  124. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +51 -11
  125. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +62 -0
  126. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +18 -24
  127. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
  128. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +89 -60
  129. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -0
  130. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
  131. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  132. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/METADATA +2 -3
  133. scikit_learn_intelex-2025.6.0.dist-info/RECORD +257 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -424
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  142. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  143. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  144. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  145. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  146. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
  147. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  150. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  151. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  153. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  154. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  155. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  156. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  157. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  158. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  159. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  160. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  161. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  162. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  163. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  164. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  165. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  166. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  167. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  168. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  169. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  170. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  171. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  172. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  174. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  175. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  176. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  177. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  178. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  180. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  181. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  182. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  183. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  184. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  185. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  186. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  187. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  188. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  189. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  190. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  191. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  192. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  193. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  196. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  197. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  198. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  199. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  200. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  201. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  202. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  204. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  207. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  208. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  209. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  210. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  211. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  213. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  214. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  215. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  217. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  218. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  219. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  221. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  223. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  224. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  225. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  227. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  229. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  231. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  233. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  235. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  236. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  237. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  238. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  240. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  241. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  242. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  243. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  244. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  245. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  247. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  248. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  250. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  251. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  253. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  255. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  256. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  257. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  258. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  259. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  260. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  261. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  262. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  263. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  264. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  265. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  266. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  267. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  268. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/LICENSE.txt +0 -0
  269. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/WHEEL +0 -0
  270. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,3 @@
1
- # ==============================================================================
2
1
  # Copyright 2024 Intel Corporation
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,9 +16,14 @@
17
16
  import numpy as np
18
17
 
19
18
  from daal4py.sklearn._utils import get_dtype
19
+ from onedal._device_offload import supports_queue
20
+ from onedal.common._backend import bind_default_backend
21
+ from onedal.utils import _sycl_queue_manager as QM
20
22
 
23
+ from .._config import _get_config
21
24
  from ..datatypes import from_table, to_table
22
- from ..utils import _check_array
25
+ from ..utils._array_api import _get_sycl_namespace
26
+ from ..utils.validation import _check_array
23
27
  from .basic_statistics import BaseBasicStatistics
24
28
 
25
29
 
@@ -68,12 +72,22 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
68
72
  def __init__(self, result_options="all"):
69
73
  super().__init__(result_options, algorithm="by_default")
70
74
  self._reset()
75
+ self._queue = None
76
+
77
+ @bind_default_backend("basic_statistics")
78
+ def partial_compute_result(self): ...
79
+
80
+ @bind_default_backend("basic_statistics")
81
+ def partial_compute(self, *args, **kwargs): ...
82
+
83
+ @bind_default_backend("basic_statistics")
84
+ def finalize_compute(self, *args, **kwargs): ...
71
85
 
72
86
  def _reset(self):
73
87
  self._need_to_finalize = False
74
- self._partial_result = self._get_backend(
75
- "basic_statistics", None, "partial_compute_result"
76
- )
88
+ self._queue = None
89
+ # get the _partial_result pointer from backend
90
+ self._partial_result = self.partial_compute_result()
77
91
 
78
92
  def __getstate__(self):
79
93
  # Since finalize_fit can't be dispatched without directly provided queue
@@ -85,6 +99,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
85
99
 
86
100
  return data
87
101
 
102
+ @supports_queue
88
103
  def partial_fit(self, X, weights=None, queue=None):
89
104
  """
90
105
  Computes partial data for basic statistics
@@ -104,40 +119,40 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
104
119
  self : object
105
120
  Returns the instance itself.
106
121
  """
122
+ use_raw_input = _get_config().get("use_raw_input", False) is True
123
+ sua_iface, _, _ = _get_sycl_namespace(X)
124
+
125
+ # All data should use the same sycl queue
126
+ if use_raw_input and sua_iface:
127
+ queue = X.sycl_queue
128
+
107
129
  self._queue = queue
108
- policy = self._get_policy(queue, X)
109
130
 
110
- X = _check_array(
111
- X, dtype=[np.float64, np.float32], ensure_2d=False, force_all_finite=False
112
- )
113
- if weights is not None:
114
- weights = _check_array(
115
- weights,
116
- dtype=[np.float64, np.float32],
117
- ensure_2d=False,
118
- force_all_finite=False,
131
+ if not use_raw_input:
132
+ X = _check_array(
133
+ X, dtype=[np.float64, np.float32], ensure_2d=False, force_all_finite=False
119
134
  )
135
+ if weights is not None:
136
+ weights = _check_array(
137
+ weights,
138
+ dtype=[np.float64, np.float32],
139
+ ensure_2d=False,
140
+ force_all_finite=False,
141
+ )
120
142
 
121
143
  if not hasattr(self, "_onedal_params"):
122
144
  dtype = get_dtype(X)
123
145
  self._onedal_params = self._get_onedal_params(False, dtype=dtype)
124
146
 
125
147
  X_table, weights_table = to_table(X, weights, queue=queue)
126
- self._partial_result = self._get_backend(
127
- "basic_statistics",
128
- None,
129
- "partial_compute",
130
- policy,
131
- self._onedal_params,
132
- self._partial_result,
133
- X_table,
134
- weights_table,
148
+ self._partial_result = self.partial_compute(
149
+ self._onedal_params, self._partial_result, X_table, weights_table
135
150
  )
136
151
 
137
152
  self._need_to_finalize = True
138
- return self
153
+ self._queue = queue
139
154
 
140
- def finalize_fit(self, queue=None):
155
+ def finalize_fit(self):
141
156
  """
142
157
  Finalizes basic statistics computation and obtains result
143
158
  attributes from the current `_partial_result`.
@@ -153,19 +168,9 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
153
168
  Returns the instance itself.
154
169
  """
155
170
  if self._need_to_finalize:
156
- if queue is not None:
157
- policy = self._get_policy(queue)
158
- else:
159
- policy = self._get_policy(self._queue)
160
-
161
- result = self._get_backend(
162
- "basic_statistics",
163
- None,
164
- "finalize_compute",
165
- policy,
166
- self._onedal_params,
167
- self._partial_result,
168
- )
171
+ with QM.manage_global_queue(self._queue):
172
+ result = self.finalize_compute(self._onedal_params, self._partial_result)
173
+
169
174
  options = self._get_result_options(self.options).split("|")
170
175
  for opt in options:
171
176
  setattr(self, opt, from_table(getattr(result, opt)).ravel())
@@ -16,15 +16,18 @@
16
16
 
17
17
  import numpy as np
18
18
 
19
- from daal4py.sklearn._utils import get_dtype, make2d
19
+ from daal4py.sklearn._utils import make2d
20
+ from onedal._device_offload import supports_queue
20
21
 
21
- from ..common._base import BaseEstimator
22
+ from .._config import _get_config
23
+ from ..common._backend import bind_default_backend
22
24
  from ..common._mixin import ClusterMixin
23
25
  from ..datatypes import from_table, to_table
24
- from ..utils import _check_array
26
+ from ..utils._array_api import _get_sycl_namespace
27
+ from ..utils.validation import _check_array
25
28
 
26
29
 
27
- class BaseDBSCAN(BaseEstimator, ClusterMixin):
30
+ class DBSCAN(ClusterMixin):
28
31
  def __init__(
29
32
  self,
30
33
  eps=0.5,
@@ -46,6 +49,9 @@ class BaseDBSCAN(BaseEstimator, ClusterMixin):
46
49
  self.p = p
47
50
  self.n_jobs = n_jobs
48
51
 
52
+ @bind_default_backend("dbscan.clustering")
53
+ def compute(self, params, data_table, weights_table): ...
54
+
49
55
  def _get_onedal_params(self, dtype=np.float32):
50
56
  return {
51
57
  "fptype": dtype,
@@ -56,50 +62,37 @@ class BaseDBSCAN(BaseEstimator, ClusterMixin):
56
62
  "result_options": "core_observation_indices|responses",
57
63
  }
58
64
 
59
- def _fit(self, X, y, sample_weight, module, queue):
60
- policy = self._get_policy(queue, X)
61
- X = _check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
62
- sample_weight = make2d(sample_weight) if sample_weight is not None else None
65
+ @supports_queue
66
+ def fit(self, X, y=None, sample_weight=None, queue=None):
67
+ use_raw_input = _get_config().get("use_raw_input", False) is True
68
+ sua_iface, xp, _ = _get_sycl_namespace(X)
69
+
70
+ if not use_raw_input:
71
+ X = _check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
72
+ X = make2d(X)
73
+ elif sua_iface is not None:
74
+ queue = X.sycl_queue
75
+
63
76
  X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
64
77
 
65
78
  params = self._get_onedal_params(X_table.dtype)
66
- result = module.compute(policy, params, X_table, sample_weight_table)
79
+ result = self.compute(params, X_table, sample_weight_table)
67
80
 
68
- self.labels_ = from_table(result.responses).ravel()
69
- if result.core_observation_indices is not None:
81
+ self.labels_ = from_table(result.responses, sycl_queue=queue).ravel()
82
+ if (
83
+ result.core_observation_indices is not None
84
+ and not result.core_observation_indices.kind == "empty"
85
+ ):
70
86
  self.core_sample_indices_ = from_table(
71
- result.core_observation_indices
87
+ result.core_observation_indices,
88
+ sycl_queue=queue,
72
89
  ).ravel()
73
90
  else:
74
- self.core_sample_indices_ = np.array([], dtype=np.intc)
75
- self.components_ = np.take(X, self.core_sample_indices_, axis=0)
91
+ # construct keyword arguments for different namespaces (dptcl takes sycl_queue)
92
+ kwargs = {"dtype": xp.int32} # always the same
93
+ if xp is not np:
94
+ kwargs["sycl_queue"] = queue
95
+ self.core_sample_indices_ = xp.empty((0,), **kwargs)
96
+ self.components_ = xp.take(X, self.core_sample_indices_, axis=0)
76
97
  self.n_features_in_ = X.shape[1]
77
98
  return self
78
-
79
-
80
- class DBSCAN(BaseDBSCAN):
81
- def __init__(
82
- self,
83
- eps=0.5,
84
- *,
85
- min_samples=5,
86
- metric="euclidean",
87
- metric_params=None,
88
- algorithm="auto",
89
- leaf_size=30,
90
- p=None,
91
- n_jobs=None,
92
- ):
93
- self.eps = eps
94
- self.min_samples = min_samples
95
- self.metric = metric
96
- self.metric_params = metric_params
97
- self.algorithm = algorithm
98
- self.leaf_size = leaf_size
99
- self.p = p
100
- self.n_jobs = n_jobs
101
-
102
- def fit(self, X, y=None, sample_weight=None, queue=None):
103
- return super()._fit(
104
- X, y, sample_weight, self._get_backend("dbscan", "clustering", None), queue
105
- )
@@ -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(