scikit-learn-intelex 2025.7.0__py313-none-win_amd64.whl → 2025.8.0__py313-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 (271) hide show
  1. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/_daal4py.cp313-win_amd64.pyd +0 -0
  2. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp313-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +4 -4
  4. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +616 -0
  5. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_device_offload.py +41 -40
  6. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
  7. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  8. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +52 -76
  9. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +26 -41
  10. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +6 -7
  11. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +11 -11
  12. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +7 -25
  13. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +1 -1
  14. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +31 -11
  15. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +5 -0
  16. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +8 -10
  17. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +6 -3
  18. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +156 -0
  19. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +61 -0
  20. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +9 -24
  21. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +16 -17
  22. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +5 -5
  23. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +48 -160
  24. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +75 -188
  25. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +5 -10
  26. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +10 -17
  27. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +14 -0
  28. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -0
  29. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +51 -25
  30. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_third_party.py +52 -2
  31. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__init__.py +2 -1
  32. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +13 -12
  33. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_utils.py +31 -4
  34. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +26 -37
  35. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +33 -42
  36. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +30 -27
  37. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +1 -0
  38. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +2 -0
  39. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -2
  40. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +110 -0
  41. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -6
  42. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +8 -2
  43. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +22 -7
  44. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +2 -0
  45. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +76 -68
  46. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +69 -53
  47. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +53 -41
  48. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +8 -0
  49. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +42 -31
  50. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +27 -61
  51. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +577 -0
  52. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +8 -6
  53. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -4
  54. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +112 -0
  55. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +7 -4
  56. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +6 -3
  57. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +12 -8
  58. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
  59. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +11 -4
  60. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
  61. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +21 -4
  62. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
  63. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -8
  64. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -4
  65. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +31 -0
  66. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +55 -6
  67. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
  68. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +13 -13
  69. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +3 -21
  70. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +71 -0
  71. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
  72. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +19 -1
  73. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/METADATA +2 -2
  74. scikit_learn_intelex-2025.8.0.dist-info/RECORD +259 -0
  75. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1039
  76. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
  77. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  78. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -110
  79. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -115
  80. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
  81. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -119
  82. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
  83. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
  84. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
  85. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
  86. scikit_learn_intelex-2025.7.0.dist-info/RECORD +0 -258
  87. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  88. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  89. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
  90. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +0 -0
  91. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +0 -0
  92. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +0 -0
  93. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  94. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
  95. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
  96. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  97. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
  98. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
  99. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  100. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  101. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
  102. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
  103. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
  104. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  105. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
  106. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  107. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  108. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
  109. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
  110. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
  111. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  112. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  113. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  114. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  115. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  116. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  117. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
  118. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  119. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
  120. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  121. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  122. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  123. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  124. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  125. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
  126. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  127. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  128. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  129. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  130. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  131. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
  132. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
  133. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
  134. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  135. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  136. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  137. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
  138. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  139. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
  140. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  141. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +0 -0
  142. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  143. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
  144. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  145. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  146. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  147. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
  148. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  149. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  150. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  151. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_backend.py +0 -0
  152. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  153. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  154. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  155. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +0 -0
  156. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  157. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  158. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  159. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  160. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +0 -0
  161. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +0 -0
  162. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +0 -0
  163. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  164. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  165. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  166. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  167. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  168. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  169. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  170. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  171. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +0 -0
  172. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  173. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  174. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
  175. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +0 -0
  176. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
  177. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  178. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -0
  179. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
  180. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
  181. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
  182. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
  183. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
  184. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  185. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
  186. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
  187. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/validation.py +0 -0
  188. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  189. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
  190. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/base.py +0 -0
  191. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  192. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  193. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  194. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  196. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  197. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  198. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  199. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  200. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  201. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  202. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  204. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  205. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  207. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  208. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  209. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  210. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
  211. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  212. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  213. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  214. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  215. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  216. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  217. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
  218. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  219. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
  221. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
  222. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
  223. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
  224. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  225. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  227. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -0
  229. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  230. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  231. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  233. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  235. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
  236. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
  237. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  238. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  239. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  240. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
  241. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  242. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  243. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  244. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
  245. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
  246. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  247. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  249. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  250. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
  251. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
  253. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
  255. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
  256. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  257. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
  258. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
  259. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
  260. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -0
  261. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
  262. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  263. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  264. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
  265. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  266. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  267. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  268. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  269. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/LICENSE.txt +0 -0
  270. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/WHEEL +0 -0
  271. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/top_level.txt +0 -0
@@ -17,20 +17,18 @@
17
17
  import inspect
18
18
  import logging
19
19
  from functools import wraps
20
+ from operator import xor
20
21
 
21
22
  import numpy as np
22
23
  from sklearn import get_config
23
24
 
24
- from onedal import _default_backend as backend
25
-
26
25
  from ._config import _get_config
27
- from .datatypes import copy_to_dpnp, copy_to_usm, usm_to_numpy
26
+ from .datatypes import copy_to_dpnp, copy_to_usm, dlpack_to_numpy
28
27
  from .utils import _sycl_queue_manager as QM
29
- from .utils._array_api import _asarray, _is_numpy_namespace
28
+ from .utils._array_api import _asarray, _get_sycl_namespace, _is_numpy_namespace
30
29
  from .utils._third_party import is_dpnp_ndarray
31
30
 
32
31
  logger = logging.getLogger("sklearnex")
33
- cpu_dlpack_device = (backend.kDLCPU, 0)
34
32
 
35
33
 
36
34
  def supports_queue(func):
@@ -65,44 +63,23 @@ def supports_queue(func):
65
63
 
66
64
 
67
65
  def _transfer_to_host(*data):
68
- has_usm_data, has_host_data = False, False
66
+ has_usm_data = None
69
67
 
70
68
  host_data = []
71
69
  for item in data:
72
- if usm_iface := getattr(item, "__sycl_usm_array_interface__", None):
73
- item = usm_to_numpy(item, usm_iface)
74
- has_usm_data = True
75
- elif not isinstance(item, np.ndarray) and (
76
- device := getattr(item, "__dlpack_device__", None)
77
- ):
78
- # check dlpack data location.
79
- if device() != cpu_dlpack_device:
80
- if hasattr(item, "to_device"):
81
- # use of the "cpu" string as device not officially part of
82
- # the array api standard but widely supported
83
- item = item.to_device("cpu")
84
- elif hasattr(item, "to"):
85
- # pytorch-specific fix as it is not array api compliant
86
- item = item.to("cpu")
87
- else:
88
- raise TypeError(f"cannot move {type(item)} to cpu")
89
-
90
- # convert to numpy
91
- if hasattr(item, "__array__"):
92
- # `copy`` param for the `asarray`` is not set.
93
- # The object is copied only if needed
94
- item = np.asarray(item)
95
- else:
96
- # requires numpy 1.23
97
- item = np.from_dlpack(item)
98
- has_host_data = True
99
- else:
100
- has_host_data = True
101
-
102
- mismatch_host_item = usm_iface is None and item is not None and has_usm_data
103
- mismatch_usm_item = usm_iface is not None and has_host_data
104
-
105
- if mismatch_host_item or mismatch_usm_item:
70
+ if item is None:
71
+ host_data.append(item)
72
+ continue
73
+
74
+ if usm_iface := hasattr(item, "__sycl_usm_array_interface__"):
75
+ xp = item.__array_namespace__()
76
+ item = xp.asnumpy(item)
77
+ has_usm_data = has_usm_data or has_usm_data is None
78
+ elif not isinstance(item, np.ndarray) and (hasattr(item, "__dlpack_device__")):
79
+ item = dlpack_to_numpy(item)
80
+
81
+ # set has_usm_data to boolean and use xor to see if they don't match
82
+ if xor((has_usm_data := bool(has_usm_data)), usm_iface):
106
83
  raise RuntimeError("Input data shall be located on single target device")
107
84
 
108
85
  host_data.append(item)
@@ -195,3 +172,27 @@ def support_input_format(func):
195
172
  return result
196
173
 
197
174
  return wrapper_impl
175
+
176
+
177
+ def support_sycl_format(func):
178
+ # This wrapper enables scikit-learn functions and methods to work with
179
+ # all sycl data frameworks as they no longer support numpy implicit
180
+ # conversion and must be manually converted. This is only necessary
181
+ # when array API is supported but not active.
182
+
183
+ @wraps(func)
184
+ def wrapper(*args, **kwargs):
185
+ if (
186
+ not get_config().get("array_api_dispatch", False)
187
+ and _get_sycl_namespace(*args)[2]
188
+ ):
189
+ with QM.manage_global_queue(kwargs.get("queue"), *args):
190
+ if inspect.isfunction(func) and "." in func.__qualname__:
191
+ self, (args, kwargs) = args[0], _get_host_inputs(*args[1:], **kwargs)
192
+ return func(self, *args, **kwargs)
193
+ else:
194
+ args, kwargs = _get_host_inputs(*args, **kwargs)
195
+ return func(*args, **kwargs)
196
+ return func(*args, **kwargs)
197
+
198
+ return wrapper
@@ -14,60 +14,13 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
- from abc import ABCMeta, abstractmethod
18
-
19
- import numpy as np
20
-
21
- from onedal._device_offload import supports_queue
22
-
23
- from .._config import _get_config
17
+ from .._device_offload import supports_queue
24
18
  from ..common._backend import bind_default_backend
25
19
  from ..datatypes import from_table, to_table
26
- from ..utils.validation import _check_array, _is_csr
27
-
28
-
29
- class BaseBasicStatistics(metaclass=ABCMeta):
30
- @abstractmethod
31
- def __init__(self, result_options, algorithm):
32
- self.options = result_options
33
- self.algorithm = algorithm
34
-
35
- @bind_default_backend("basic_statistics")
36
- def compute(self, params, data_table, weights_table): ...
37
-
38
- @staticmethod
39
- def get_all_result_options():
40
- return [
41
- "min",
42
- "max",
43
- "sum",
44
- "mean",
45
- "variance",
46
- "variation",
47
- "sum_squares",
48
- "standard_deviation",
49
- "sum_squares_centered",
50
- "second_order_raw_moment",
51
- ]
52
-
53
- def _get_result_options(self, options):
54
- if options == "all":
55
- options = self.get_all_result_options()
56
- if isinstance(options, list):
57
- options = "|".join(options)
58
- assert isinstance(options, str)
59
- return options
60
-
61
- def _get_onedal_params(self, is_csr, dtype=np.float32):
62
- options = self._get_result_options(self.options)
63
- return {
64
- "fptype": dtype,
65
- "method": "sparse" if is_csr else self.algorithm,
66
- "result_option": options,
67
- }
20
+ from ..utils.validation import _is_csr
68
21
 
69
22
 
70
- class BasicStatistics(BaseBasicStatistics):
23
+ class BasicStatistics:
71
24
  """Low order moments oneDAL estimator.
72
25
 
73
26
  Calculate basic statistics for data.
@@ -118,15 +71,52 @@ class BasicStatistics(BaseBasicStatistics):
118
71
  """
119
72
 
120
73
  def __init__(self, result_options="all", algorithm="by_default"):
121
- super().__init__(result_options, algorithm)
74
+ self.options = result_options
75
+ self.algorithm = algorithm
76
+
77
+ @bind_default_backend("basic_statistics")
78
+ def compute(self, params, data_table, weights_table): ...
79
+
80
+ @staticmethod
81
+ def get_all_result_options():
82
+ return [
83
+ "min",
84
+ "max",
85
+ "sum",
86
+ "mean",
87
+ "variance",
88
+ "variation",
89
+ "sum_squares",
90
+ "standard_deviation",
91
+ "sum_squares_centered",
92
+ "second_order_raw_moment",
93
+ ]
94
+
95
+ @property
96
+ def options(self):
97
+ if self._options == ["all"]:
98
+ return self.get_all_result_options()
99
+ return self._options
100
+
101
+ @options.setter
102
+ def options(self, opts):
103
+ # options always to be an iterable
104
+ self._options = opts.split("|") if isinstance(opts, str) else opts
105
+
106
+ def _get_onedal_params(self, is_csr, dtype=None):
107
+ return {
108
+ "fptype": dtype,
109
+ "method": "sparse" if is_csr else self.algorithm,
110
+ "result_option": "|".join(self.options),
111
+ }
122
112
 
123
113
  @supports_queue
124
- def fit(self, data, sample_weight=None, queue=None):
114
+ def fit(self, X, sample_weight=None, queue=None):
125
115
  """Generate statistics.
126
116
 
127
117
  Parameters
128
118
  ----------
129
- data : array-like of shape (n_samples, n_features)
119
+ X : array-like of shape (n_samples, n_features)
130
120
  Training data batch, where `n_samples` is the number of samples
131
121
  in the batch, and `n_features` is the number of features.
132
122
 
@@ -143,33 +133,19 @@ class BasicStatistics(BaseBasicStatistics):
143
133
  Returns the instance itself.
144
134
  """
145
135
 
146
- is_csr = _is_csr(data)
147
-
148
- use_raw_input = _get_config().get("use_raw_input", False) is True
149
- if not use_raw_input:
150
- if data is not None and not is_csr:
151
- data = _check_array(data, ensure_2d=False)
152
- if sample_weight is not None:
153
- sample_weight = _check_array(sample_weight, ensure_2d=False)
136
+ is_csr = _is_csr(X)
154
137
 
155
- is_single_dim = data.ndim == 1
138
+ is_single_dim = X.ndim == 1
139
+ X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
156
140
 
157
- data_table, weights_table = to_table(data, sample_weight, queue=queue)
141
+ result = self._compute_raw(X_table, sample_weight_table, X_table.dtype, is_csr)
158
142
 
159
- dtype = data_table.dtype
160
- raw_result = self._compute_raw(data_table, weights_table, dtype, is_csr)
161
- for opt, raw_value in raw_result.items():
162
- value = from_table(raw_value).ravel()
163
- if is_single_dim:
164
- setattr(self, opt, value[0])
165
- else:
166
- setattr(self, opt, value)
143
+ for opt in self.options:
144
+ value = from_table(getattr(result, opt), like=X)[0, :] # 2D table [1, n]
145
+ setattr(self, opt + "_", value[0] if is_single_dim else value)
167
146
 
168
147
  return self
169
148
 
170
- def _compute_raw(self, data_table, weights_table, dtype=np.float32, is_csr=False):
149
+ def _compute_raw(self, data_table, weights_table, dtype=None, is_csr=False):
171
150
  params = self._get_onedal_params(is_csr, dtype)
172
- result = self.compute(params, data_table, weights_table)
173
- options = self._get_result_options(self.options).split("|")
174
-
175
- return {opt: getattr(result, opt) for opt in options}
151
+ return self.compute(params, data_table, weights_table)
@@ -13,21 +13,14 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- import numpy as np
16
+ from .._device_offload import supports_queue
17
+ from ..common._backend import bind_default_backend
18
+ from ..datatypes import from_table, return_type_constructor, to_table
19
+ from ..utils import _sycl_queue_manager as QM
20
+ from .basic_statistics import BasicStatistics
17
21
 
18
- from daal4py.sklearn._utils import get_dtype
19
- from onedal._device_offload import supports_queue
20
- from onedal.common._backend import bind_default_backend
21
- from onedal.utils import _sycl_queue_manager as QM
22
22
 
23
- from .._config import _get_config
24
- from ..datatypes import from_table, to_table
25
- from ..utils._array_api import _get_sycl_namespace
26
- from ..utils.validation import _check_array
27
- from .basic_statistics import BaseBasicStatistics
28
-
29
-
30
- class IncrementalBasicStatistics(BaseBasicStatistics):
23
+ class IncrementalBasicStatistics(BasicStatistics):
31
24
  """Incremental oneDAL low order moments estimator.
32
25
 
33
26
  Calculate basic statistics for data split into batches.
@@ -37,6 +30,9 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
37
30
  result_options : str or list, default=str('all')
38
31
  List of statistics to compute.
39
32
 
33
+ algorithm : str, default=str('by_default')
34
+ Method for statistics computation.
35
+
40
36
  Attributes
41
37
  ----------
42
38
  min : ndarray of shape (n_features,)
@@ -74,8 +70,8 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
74
70
  Attributes are populated only for corresponding result options.
75
71
  """
76
72
 
77
- def __init__(self, result_options="all"):
78
- super().__init__(result_options, algorithm="by_default")
73
+ def __init__(self, result_options="all", algorithm="by_default"):
74
+ super().__init__(result_options, algorithm)
79
75
  self._reset()
80
76
  self._queue = None
81
77
 
@@ -90,6 +86,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
90
86
 
91
87
  def _reset(self):
92
88
  self._need_to_finalize = False
89
+ self._outtype = None
93
90
  self._queue = None
94
91
  # get the _partial_result pointer from backend
95
92
  self._partial_result = self.partial_compute_result()
@@ -105,7 +102,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
105
102
  return data
106
103
 
107
104
  @supports_queue
108
- def partial_fit(self, X, weights=None, queue=None):
105
+ def partial_fit(self, X, sample_weight=None, queue=None):
109
106
  """Generate partial statistics from batch data in `_partial_result`.
110
107
 
111
108
  Parameters
@@ -114,7 +111,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
114
111
  Training data batch, where `n_samples` is the number of samples
115
112
  in the batch, and `n_features` is the number of features.
116
113
 
117
- weights : array-like of shape (n_samples,), default=None
114
+ sample_weight : array-like of shape (n_samples,), default=None
118
115
  Individual weights for each sample.
119
116
 
120
117
  queue : SyclQueue or None, default=None
@@ -126,34 +123,18 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
126
123
  self : object
127
124
  Returns the instance itself.
128
125
  """
129
- use_raw_input = _get_config().get("use_raw_input", False) is True
130
- sua_iface, _, _ = _get_sycl_namespace(X)
131
-
132
- # All data should use the same sycl queue
133
- if use_raw_input and sua_iface:
134
- queue = X.sycl_queue
135
126
 
136
127
  self._queue = queue
128
+ if not self._outtype:
129
+ self._outtype = return_type_constructor(X)
137
130
 
138
- if not use_raw_input:
139
- X = _check_array(
140
- X, dtype=[np.float64, np.float32], ensure_2d=False, force_all_finite=False
141
- )
142
- if weights is not None:
143
- weights = _check_array(
144
- weights,
145
- dtype=[np.float64, np.float32],
146
- ensure_2d=False,
147
- force_all_finite=False,
148
- )
131
+ X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
149
132
 
150
133
  if not hasattr(self, "_onedal_params"):
151
- dtype = get_dtype(X)
152
- self._onedal_params = self._get_onedal_params(False, dtype=dtype)
134
+ self._onedal_params = self._get_onedal_params(False, dtype=X.dtype)
153
135
 
154
- X_table, weights_table = to_table(X, weights, queue=queue)
155
136
  self._partial_result = self.partial_compute(
156
- self._onedal_params, self._partial_result, X_table, weights_table
137
+ self._onedal_params, self._partial_result, X_table, sample_weight_table
157
138
  )
158
139
 
159
140
  self._need_to_finalize = True
@@ -171,10 +152,14 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
171
152
  with QM.manage_global_queue(self._queue):
172
153
  result = self.finalize_compute(self._onedal_params, self._partial_result)
173
154
 
174
- options = self._get_result_options(self.options).split("|")
175
- for opt in options:
176
- setattr(self, opt, from_table(getattr(result, opt)).ravel())
155
+ for opt in self.options:
156
+ setattr(
157
+ self,
158
+ opt + "_",
159
+ from_table(getattr(result, opt), like=self._outtype)[0, :],
160
+ )
177
161
 
162
+ self._outtype = None
178
163
  self._need_to_finalize = False
179
164
 
180
165
  return self
@@ -19,7 +19,6 @@ import pytest
19
19
  from numpy.testing import assert_allclose
20
20
  from scipy import sparse as sp
21
21
 
22
- from daal4py.sklearn._utils import daal_check_version
23
22
  from onedal.basic_statistics import BasicStatistics
24
23
  from onedal.basic_statistics.tests.utils import options_and_tests
25
24
  from onedal.tests.utils._device_selection import get_queues
@@ -57,7 +56,7 @@ def test_single_option_on_random_data(
57
56
 
58
57
  result = basicstat.fit(data, sample_weight=weights, queue=queue)
59
58
 
60
- res = getattr(result, result_option)
59
+ res = getattr(result, result_option + "_")
61
60
  if weighted:
62
61
  weighted_data = np.diag(weights) @ data
63
62
  gtr = function(weighted_data)
@@ -89,7 +88,7 @@ def test_multiple_options_on_random_data(queue, row_count, column_count, weighte
89
88
 
90
89
  result = basicstat.fit(data, sample_weight=weights, queue=queue)
91
90
 
92
- res_mean, res_max, res_sum = result.mean, result.max, result.sum
91
+ res_mean, res_max, res_sum = result.mean_, result.max_, result.sum_
93
92
  if weighted:
94
93
  weighted_data = np.diag(weights) @ data
95
94
  gtr_mean, gtr_max, gtr_sum = (
@@ -136,7 +135,7 @@ def test_all_option_on_random_data(queue, row_count, column_count, weighted, dty
136
135
  for result_option in options_and_tests:
137
136
  function, tols = options_and_tests[result_option]
138
137
  fp32tol, fp64tol = tols
139
- res = getattr(result, result_option)
138
+ res = getattr(result, result_option + "_")
140
139
  if weighted:
141
140
  gtr = function(weighted_data)
142
141
  else:
@@ -168,7 +167,7 @@ def test_1d_input_on_random_data(queue, result_option, data_size, weighted, dtyp
168
167
 
169
168
  result = basicstat.fit(data, sample_weight=weights, queue=queue)
170
169
 
171
- res = getattr(result, result_option)
170
+ res = getattr(result, result_option + "_")
172
171
  if weighted:
173
172
  weighted_data = weights * data
174
173
  gtr = function(weighted_data)
@@ -199,7 +198,7 @@ def test_basic_csr(queue, dtype):
199
198
  basicstat = BasicStatistics(result_options="mean")
200
199
  result = basicstat.fit(data, queue=queue)
201
200
 
202
- res_mean = result.mean
201
+ res_mean = result.mean_
203
202
  gtr_mean = data.mean(axis=0)
204
203
  tol = 5e-6 if res_mean.dtype == np.float32 else 1e-9
205
204
  assert_allclose(gtr_mean, res_mean, rtol=tol)
@@ -232,7 +231,7 @@ def test_options_csr(queue, option, dtype):
232
231
  basicstat = BasicStatistics(result_options=result_option)
233
232
  result = basicstat.fit(data, queue=queue)
234
233
 
235
- res = getattr(result, result_option)
234
+ res = getattr(result, result_option + "_")
236
235
  func = getattr(data, function)
237
236
  gtr = func(axis=0)
238
237
  if type(gtr).__name__ != "ndarray":
@@ -49,16 +49,16 @@ def test_multiple_options_on_gold_data(queue, weighted, dtype):
49
49
  expected_weighted_mean = np.array([0.25, 0.25])
50
50
  expected_weighted_min = np.array([0, 0])
51
51
  expected_weighted_max = np.array([0.5, 0.5])
52
- assert_allclose(expected_weighted_mean, result.mean)
53
- assert_allclose(expected_weighted_max, result.max)
54
- assert_allclose(expected_weighted_min, result.min)
52
+ assert_allclose(expected_weighted_mean, result.mean_)
53
+ assert_allclose(expected_weighted_max, result.max_)
54
+ assert_allclose(expected_weighted_min, result.min_)
55
55
  else:
56
56
  expected_mean = np.array([0.5, 0.5])
57
57
  expected_min = np.array([0, 0])
58
58
  expected_max = np.array([1, 1])
59
- assert_allclose(expected_mean, result.mean)
60
- assert_allclose(expected_max, result.max)
61
- assert_allclose(expected_min, result.min)
59
+ assert_allclose(expected_mean, result.mean_)
60
+ assert_allclose(expected_max, result.max_)
61
+ assert_allclose(expected_min, result.min_)
62
62
 
63
63
 
64
64
  @pytest.mark.parametrize("queue", get_queues())
@@ -91,7 +91,7 @@ def test_single_option_on_random_data(
91
91
  incbs.partial_fit(data_split[i], queue=queue)
92
92
  result = incbs.finalize_fit()
93
93
 
94
- res = getattr(result, result_option)
94
+ res = getattr(result, result_option + "_")
95
95
  if weighted:
96
96
  weighted_data = np.diag(weights) @ data
97
97
  gtr = function(weighted_data)
@@ -129,7 +129,7 @@ def test_multiple_options_on_random_data(
129
129
  incbs.partial_fit(data_split[i], queue=queue)
130
130
  result = incbs.finalize_fit()
131
131
 
132
- res_mean, res_max, res_sum = result.mean, result.max, result.sum
132
+ res_mean, res_max, res_sum = result.mean_, result.max_, result.sum_
133
133
  if weighted:
134
134
  weighted_data = np.diag(weights) @ data
135
135
  gtr_mean, gtr_max, gtr_sum = (
@@ -183,7 +183,7 @@ def test_all_option_on_random_data(
183
183
  for result_option in options_and_tests:
184
184
  function, tols = options_and_tests[result_option]
185
185
  fp32tol, fp64tol = tols
186
- res = getattr(result, result_option)
186
+ res = getattr(result, result_option + "_")
187
187
  if weighted:
188
188
  gtr = function(weighted_data)
189
189
  else:
@@ -273,7 +273,7 @@ def test_incremental_estimator_pickle(queue, dtype):
273
273
  for result_option in options_and_tests:
274
274
  _, tols = options_and_tests[result_option]
275
275
  fp32tol, fp64tol = tols
276
- res = getattr(incbs, result_option)
277
- res_loaded = getattr(incbs_loaded, result_option)
276
+ res = getattr(incbs, result_option + "_")
277
+ res_loaded = getattr(incbs_loaded, result_option + "_")
278
278
  tol = fp32tol if res.dtype == np.float32 else fp64tol
279
279
  assert_allclose(res, res_loaded, atol=tol)
@@ -16,15 +16,11 @@
16
16
 
17
17
  import numpy as np
18
18
 
19
- from daal4py.sklearn._utils import make2d
20
19
  from onedal._device_offload import supports_queue
21
20
 
22
- from .._config import _get_config
23
21
  from ..common._backend import bind_default_backend
24
22
  from ..common._mixin import ClusterMixin
25
23
  from ..datatypes import from_table, to_table
26
- from ..utils._array_api import _get_sycl_namespace
27
- from ..utils.validation import _check_array
28
24
 
29
25
 
30
26
  class DBSCAN(ClusterMixin):
@@ -64,35 +60,21 @@ class DBSCAN(ClusterMixin):
64
60
 
65
61
  @supports_queue
66
62
  def fit(self, X, y=None, sample_weight=None, queue=None):
67
- use_raw_input = _get_config().get("use_raw_input", False) is True
68
- sua_iface, xp, _ = _get_sycl_namespace(X)
69
-
70
- if not use_raw_input:
71
- X = _check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
72
- X = make2d(X)
73
- elif sua_iface is not None:
74
- queue = X.sycl_queue
75
-
76
63
  X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
77
64
 
78
65
  params = self._get_onedal_params(X_table.dtype)
79
66
  result = self.compute(params, X_table, sample_weight_table)
80
67
 
81
- self.labels_ = from_table(result.responses, sycl_queue=queue).ravel()
68
+ # 2d table but only 1d of information
69
+ self.labels_ = from_table(result.responses, like=X)[:, 0]
82
70
  if (
83
71
  result.core_observation_indices is not None
84
- and not result.core_observation_indices.kind == "empty"
72
+ and result.core_observation_indices.kind != "empty"
85
73
  ):
74
+ # 2d table to 1d
86
75
  self.core_sample_indices_ = from_table(
87
- result.core_observation_indices,
88
- sycl_queue=queue,
89
- ).ravel()
76
+ result.core_observation_indices, like=X
77
+ )[:, 0]
90
78
  else:
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)
97
- self.n_features_in_ = X.shape[1]
79
+ self.core_sample_indices_ = None
98
80
  return self
@@ -105,7 +105,7 @@ class _BaseKMeans(TransformerMixin, ClusterMixin, ABC):
105
105
  bs = self._get_basic_statistics_backend("variance")
106
106
 
107
107
  res = bs._compute_raw(X_table, dummy, dtype, is_csr)
108
- mean_var = from_table(res["variance"]).mean()
108
+ mean_var = from_table(res.variance).mean()
109
109
 
110
110
  return mean_var * rtol
111
111
 
@@ -15,7 +15,7 @@
15
15
  # ==============================================================================
16
16
 
17
17
  import logging
18
- from typing import Any, Dict, Tuple
18
+ from typing import Callable, Dict, Tuple
19
19
  from warnings import warn
20
20
 
21
21
  from daal4py.sklearn._utils import daal_check_version
@@ -94,22 +94,26 @@ else:
94
94
  for method in filter(lambda f: f.startswith(prefix), dir(obj))
95
95
  }
96
96
 
97
- hyperparameters_backend: Dict[Tuple[str, str], Any] = {
97
+ hyperparameters_backend: Dict[Tuple[str, str], Callable] = {
98
98
  (
99
99
  "linear_regression",
100
100
  "train",
101
- ): backend.linear_model.regression.train_hyperparameters(),
102
- ("covariance", "compute"): backend.covariance.compute_hyperparameters(),
101
+ ): lambda: backend.linear_model.regression.train_hyperparameters(),
102
+ ("covariance", "compute"): lambda: backend.covariance.compute_hyperparameters(),
103
103
  }
104
104
  if daal_check_version((2024, "P", 300)):
105
- df_infer_hp = backend.decision_forest.infer_hyperparameters
106
- hyperparameters_backend[("decision_forest", "infer")] = df_infer_hp()
105
+ hyperparameters_backend[("decision_forest", "infer")] = (
106
+ lambda: backend.decision_forest.infer_hyperparameters()
107
+ )
107
108
  if daal_check_version((2025, "P", 700)):
108
- pca_train_hp = backend.decomposition.dim_reduction.train_hyperparameters
109
- hyperparameters_backend[("pca", "train")] = pca_train_hp()
110
- hyperparameters_map = {}
109
+ hyperparameters_backend[("pca", "train")] = (
110
+ lambda: backend.decomposition.dim_reduction.train_hyperparameters()
111
+ )
112
+
113
+ hyperparameters_map: Dict[Tuple[str, str], HyperParameters] = {}
111
114
 
112
- for (algorithm, op), hyperparameters in hyperparameters_backend.items():
115
+ for (algorithm, op), hyperparameters_lambda in hyperparameters_backend.items():
116
+ hyperparameters = hyperparameters_lambda()
113
117
  setters = get_methods_with_prefix(hyperparameters, "set_")
114
118
  getters = get_methods_with_prefix(hyperparameters, "get_")
115
119
 
@@ -123,6 +127,22 @@ else:
123
127
  algorithm, op, setters, getters, hyperparameters
124
128
  )
125
129
 
130
+ def get_hyperparameters_backend(algorithm, op):
131
+ """Get hyperparameters for a specific algorithm and operation."""
132
+ if (algorithm, op) in hyperparameters_backend:
133
+ return hyperparameters_backend[(algorithm, op)]()
134
+ else:
135
+ raise ValueError(f"Hyperparameters for '{algorithm}.{op}' are not defined.")
126
136
 
127
- def get_hyperparameters(algorithm, op):
137
+
138
+ def get_hyperparameters(algorithm: str, op: str) -> HyperParameters:
128
139
  return hyperparameters_map.get((algorithm, op), None)
140
+
141
+
142
+ def reset_hyperparameters(algorithm: str, op: str) -> None:
143
+ new_hyperparameters_backend = get_hyperparameters_backend(algorithm, op)
144
+ new_setters = get_methods_with_prefix(new_hyperparameters_backend, "set_")
145
+ new_getters = get_methods_with_prefix(new_hyperparameters_backend, "get_")
146
+ hyperparameters_map[(algorithm, op)] = HyperParameters(
147
+ algorithm, op, new_setters, new_getters, new_hyperparameters_backend
148
+ )