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
@@ -18,10 +18,35 @@
18
18
 
19
19
  import threading
20
20
 
21
+ """
22
+ Default values for global configuration parameters.
23
+ These values are typically managed through the sklearnex.set_config() interface.
24
+ Here we only define the defaults.
25
+
26
+ target_offload:
27
+ The device primarily used to perform computations.
28
+ If string, expected to be "auto" (the execution context
29
+ is deduced from input data location), or SYCL* filter selector string.
30
+ Global default: "auto".
31
+ allow_fallback_to_host:
32
+ If True, allows to fallback computation to host device
33
+ in case particular estimator does not support the selected one.
34
+ Global default: False.
35
+ allow_sklearn_after_onedal:
36
+ If True, allows to fallback computation to sklearn after onedal
37
+ backend in case of runtime error on onedal backend computations.
38
+ Global default: True.
39
+ use_raw_input:
40
+ If True, uses the raw input data in some SPMD onedal backend computations
41
+ without any checks on data consistency or validity.
42
+ Note: This option is not recommended for general use.
43
+ Global default: False.
44
+ """
21
45
  _default_global_config = {
22
46
  "target_offload": "auto",
23
47
  "allow_fallback_to_host": False,
24
48
  "allow_sklearn_after_onedal": True,
49
+ "use_raw_input": False,
25
50
  }
26
51
 
27
52
  _threadlocal = threading.local()
@@ -39,8 +64,8 @@ def _get_config(copy=True):
39
64
  Parameters
40
65
  ----------
41
66
  copy : bool, default=True
42
- If False, the values ​​of the global config are returned,
43
- which can further be overwritten.
67
+ If False, a mutable view of the configuration is returned. Each thread
68
+ has a separate copy of the configuration.
44
69
  Returns
45
70
  -------
46
71
  config : dict
@@ -14,7 +14,7 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
- import logging
17
+ import inspect
18
18
  from collections.abc import Iterable
19
19
  from functools import wraps
20
20
 
@@ -22,21 +22,37 @@ import numpy as np
22
22
  from sklearn import get_config
23
23
 
24
24
  from ._config import _get_config
25
+ from .utils import _sycl_queue_manager as QM
25
26
  from .utils._array_api import _asarray, _is_numpy_namespace
26
27
  from .utils._dpep_helpers import dpctl_available, dpnp_available
27
28
 
28
29
  if dpctl_available:
29
- from dpctl import SyclQueue
30
30
  from dpctl.memory import MemoryUSMDevice, as_usm_memory
31
31
  from dpctl.tensor import usm_ndarray
32
32
  else:
33
- import onedal
33
+ from onedal import _dpc_backend
34
+
35
+ SyclQueue = getattr(_dpc_backend, "SyclQueue", None)
36
+
37
+
38
+ def supports_queue(func):
39
+ """
40
+ Decorator that updates the global queue based on provided queue and global configuration.
41
+ If a `queue` keyword argument is provided in the decorated function, its value will be used globally.
42
+ If no queue is provided, the global queue will be updated from the provided data.
43
+ In either case, all data objects are verified to be on the same device (or on host).
44
+ """
45
+
46
+ @wraps(func)
47
+ def wrapper(self, *args, **kwargs):
48
+ queue = kwargs.get("queue", None)
49
+ with QM.manage_global_queue(queue, *args) as queue:
50
+ kwargs["queue"] = queue
51
+ result = func(self, *args, **kwargs)
52
+ return result
53
+
54
+ return wrapper
34
55
 
35
- # setting fallback to `object` will make if isinstance call
36
- # in _get_global_queue always true for situations without the
37
- # dpc backend when `device_offload` is used. Instead, it will
38
- # fail at the policy check phase yielding a RuntimeError
39
- SyclQueue = getattr(onedal._backend, "SyclQueue", object)
40
56
 
41
57
  if dpnp_available:
42
58
  import dpnp
@@ -69,7 +85,7 @@ def _copy_to_usm(queue, array):
69
85
  return array
70
86
 
71
87
 
72
- def _transfer_to_host(queue, *data):
88
+ def _transfer_to_host(*data):
73
89
  has_usm_data, has_host_data = False, False
74
90
 
75
91
  host_data = []
@@ -82,17 +98,10 @@ def _transfer_to_host(queue, *data):
82
98
  "dpctl need to be installed to work "
83
99
  "with __sycl_usm_array_interface__"
84
100
  )
85
- if queue is not None:
86
- if queue.sycl_device != usm_iface["syclobj"].sycl_device:
87
- raise RuntimeError(
88
- "Input data shall be located " "on single target device"
89
- )
90
- else:
91
- queue = usm_iface["syclobj"]
92
101
 
93
102
  buffer = as_usm_memory(item).copy_to_host()
94
103
  order = "C"
95
- if usm_iface["strides"] is not None:
104
+ if usm_iface["strides"] is not None and len(usm_iface["strides"]) > 1:
96
105
  if usm_iface["strides"][0] < usm_iface["strides"][1]:
97
106
  order = "F"
98
107
  item = np.ndarray(
@@ -117,88 +126,75 @@ def _transfer_to_host(queue, *data):
117
126
  raise RuntimeError("Input data shall be located on single target device")
118
127
 
119
128
  host_data.append(item)
120
- return has_usm_data, queue, host_data
121
-
122
-
123
- def _get_global_queue():
124
- target = _get_config()["target_offload"]
125
-
126
- if target != "auto":
127
- if isinstance(target, SyclQueue):
128
- return target
129
- return SyclQueue(target)
130
- return None
129
+ return has_usm_data, host_data
131
130
 
132
131
 
133
132
  def _get_host_inputs(*args, **kwargs):
134
- q = _get_global_queue()
135
- _, q, hostargs = _transfer_to_host(q, *args)
136
- _, q, hostvalues = _transfer_to_host(q, *kwargs.values())
133
+ _, hostargs = _transfer_to_host(*args)
134
+ _, hostvalues = _transfer_to_host(*kwargs.values())
137
135
  hostkwargs = dict(zip(kwargs.keys(), hostvalues))
138
- return q, hostargs, hostkwargs
139
-
136
+ return hostargs, hostkwargs
140
137
 
141
- def _run_on_device(func, obj=None, *args, **kwargs):
142
- if obj is not None:
143
- return func(obj, *args, **kwargs)
144
- return func(*args, **kwargs)
145
138
 
146
-
147
- def support_input_format(freefunc=False, queue_param=True):
139
+ def support_input_format(func):
148
140
  """
149
141
  Converts and moves the output arrays of the decorated function
150
142
  to match the input array type and device.
151
143
  Puts SYCLQueue from data to decorated function arguments.
144
+ """
152
145
 
153
- Parameters
154
- ----------
155
- freefunc (bool) : Set to True if decorates free function.
156
- queue_param (bool) : Set to False if the decorated function has no `queue` parameter
146
+ def invoke_func(self_or_None, *args, **kwargs):
147
+ if self_or_None is None:
148
+ return func(*args, **kwargs)
149
+ else:
150
+ return func(self_or_None, *args, **kwargs)
151
+
152
+ @wraps(func)
153
+ def wrapper_impl(*args, **kwargs):
154
+ # remove self from args if it is a class method
155
+ if inspect.isfunction(func) and "." in func.__qualname__:
156
+ self = args[0]
157
+ args = args[1:]
158
+ else:
159
+ self = None
157
160
 
158
- Notes
159
- -----
160
- Queue will not be changed if provided explicitly.
161
- """
161
+ # Check if the function is KNeighborsClassifier.fit
162
+ override_raw_input = (
163
+ self
164
+ and self.__class__.__name__ in ("KNeighborsClassifier", "KNeighborsRegressor")
165
+ and func.__name__ == "fit"
166
+ )
167
+ if _get_config()["use_raw_input"] is True and not override_raw_input:
168
+ if "queue" not in kwargs:
169
+ usm_iface = getattr(args[0], "__sycl_usm_array_interface__", None)
170
+ data_queue = usm_iface["syclobj"] if usm_iface is not None else None
171
+ kwargs["queue"] = data_queue
172
+ return invoke_func(self, *args, **kwargs)
173
+ elif len(args) == 0 and len(kwargs) == 0:
174
+ # no arguments, there's nothing we can deduce from them -> just call the function
175
+ return invoke_func(self, *args, **kwargs)
176
+
177
+ data = (*args, *kwargs.values())
178
+ # get and set the global queue from the kwarg or data
179
+ with QM.manage_global_queue(kwargs.get("queue"), *args) as queue:
180
+ hostargs, hostkwargs = _get_host_inputs(*args, **kwargs)
181
+ if "queue" in inspect.signature(func).parameters:
182
+ # set the queue if it's expected by func
183
+ hostkwargs["queue"] = queue
184
+ result = invoke_func(self, *hostargs, **hostkwargs)
162
185
 
163
- def decorator(func):
164
- def wrapper_impl(obj, *args, **kwargs):
165
- if len(args) == 0 and len(kwargs) == 0:
166
- return _run_on_device(func, obj, *args, **kwargs)
167
- data = (*args, *kwargs.values())
168
- data_queue, hostargs, hostkwargs = _get_host_inputs(*args, **kwargs)
169
- if queue_param and not (
170
- "queue" in hostkwargs and hostkwargs["queue"] is not None
171
- ):
172
- hostkwargs["queue"] = data_queue
173
- result = _run_on_device(func, obj, *hostargs, **hostkwargs)
174
186
  usm_iface = getattr(data[0], "__sycl_usm_array_interface__", None)
175
- if usm_iface is not None:
176
- result = _copy_to_usm(data_queue, result)
187
+ if queue is not None and usm_iface is not None:
188
+ result = _copy_to_usm(queue, result)
177
189
  if dpnp_available and isinstance(data[0], dpnp.ndarray):
178
190
  result = _convert_to_dpnp(result)
179
191
  return result
180
- config = get_config()
181
- if not ("transform_output" in config and config["transform_output"]):
182
- input_array_api = getattr(data[0], "__array_namespace__", lambda: None)()
183
- if input_array_api:
184
- input_array_api_device = data[0].device
185
- result = _asarray(
186
- result, input_array_api, device=input_array_api_device
187
- )
188
- return result
189
-
190
- if freefunc:
191
-
192
- @wraps(func)
193
- def wrapper_free(*args, **kwargs):
194
- return wrapper_impl(None, *args, **kwargs)
195
-
196
- return wrapper_free
197
-
198
- @wraps(func)
199
- def wrapper_with_self(self, *args, **kwargs):
200
- return wrapper_impl(self, *args, **kwargs)
201
192
 
202
- return wrapper_with_self
193
+ if not get_config().get("transform_output"):
194
+ input_array_api = getattr(data[0], "__array_namespace__", lambda: None)()
195
+ if input_array_api:
196
+ input_array_api_device = data[0].device
197
+ result = _asarray(result, input_array_api, device=input_array_api_device)
198
+ return result
203
199
 
204
- return decorator
200
+ return wrapper_impl
@@ -14,23 +14,27 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
- import warnings
18
17
  from abc import ABCMeta, abstractmethod
19
18
 
20
19
  import numpy as np
21
20
 
22
- from ..common._base import BaseEstimator
21
+ from onedal._device_offload import supports_queue
22
+
23
+ from .._config import _get_config
24
+ from ..common._backend import bind_default_backend
23
25
  from ..datatypes import from_table, to_table
24
- from ..utils import _is_csr
25
- from ..utils.validation import _check_array
26
+ from ..utils.validation import _check_array, _is_csr
26
27
 
27
28
 
28
- class BaseBasicStatistics(BaseEstimator, metaclass=ABCMeta):
29
+ class BaseBasicStatistics(metaclass=ABCMeta):
29
30
  @abstractmethod
30
31
  def __init__(self, result_options, algorithm):
31
32
  self.options = result_options
32
33
  self.algorithm = algorithm
33
34
 
35
+ @bind_default_backend("basic_statistics")
36
+ def compute(self, params, data_table, weights_table): ...
37
+
34
38
  @staticmethod
35
39
  def get_all_result_options():
36
40
  return [
@@ -71,22 +75,25 @@ class BasicStatistics(BaseBasicStatistics):
71
75
  def __init__(self, result_options="all", algorithm="by_default"):
72
76
  super().__init__(result_options, algorithm)
73
77
 
78
+ @supports_queue
74
79
  def fit(self, data, sample_weight=None, queue=None):
75
- policy = self._get_policy(queue, data, sample_weight)
76
-
77
80
  is_csr = _is_csr(data)
78
81
 
79
- if data is not None and not is_csr:
80
- data = _check_array(data, ensure_2d=False)
81
- if sample_weight is not None:
82
- sample_weight = _check_array(sample_weight, ensure_2d=False)
82
+ use_raw_input = _get_config().get("use_raw_input", False) is True
83
+ if not use_raw_input:
84
+ if data is not None and not is_csr:
85
+ data = _check_array(data, ensure_2d=False)
86
+ if sample_weight is not None:
87
+ sample_weight = _check_array(sample_weight, ensure_2d=False)
83
88
 
84
89
  is_single_dim = data.ndim == 1
85
90
 
86
91
  data_table, weights_table = to_table(data, sample_weight, queue=queue)
87
92
 
88
93
  dtype = data_table.dtype
89
- raw_result = self._compute_raw(data_table, weights_table, policy, dtype, is_csr)
94
+ raw_result = raw_result = self._compute_raw(
95
+ data_table, weights_table, dtype, is_csr
96
+ )
90
97
  for opt, raw_value in raw_result.items():
91
98
  value = from_table(raw_value).ravel()
92
99
  if is_single_dim:
@@ -96,12 +103,9 @@ class BasicStatistics(BaseBasicStatistics):
96
103
 
97
104
  return self
98
105
 
99
- def _compute_raw(
100
- self, data_table, weights_table, policy, dtype=np.float32, is_csr=False
101
- ):
102
- module = self._get_backend("basic_statistics")
106
+ def _compute_raw(self, data_table, weights_table, dtype=np.float32, is_csr=False):
103
107
  params = self._get_onedal_params(is_csr, dtype)
104
- result = module.compute(policy, params, data_table, weights_table)
108
+ result = self.compute(params, data_table, weights_table)
105
109
  options = self._get_result_options(self.options).split("|")
106
110
 
107
111
  return {opt: getattr(result, opt) for opt in options}
@@ -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
- )