scikit-learn-intelex 2024.4.0__py312-none-win_amd64.whl → 2025.10.0__py312-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
  2. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
  3. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
  4. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +94 -0
  5. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +1199 -0
  6. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +211 -0
  7. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +425 -0
  8. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
  9. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
  10. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +252 -0
  11. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +245 -0
  12. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
  13. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
  14. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +565 -0
  15. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
  16. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
  17. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +528 -0
  18. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
  19. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +333 -0
  20. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
  21. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1285 -0
  22. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
  23. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/linear_model/__init__.py +29 -28
  24. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +826 -0
  25. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +269 -0
  26. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +290 -0
  27. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +2 -2
  28. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
  29. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
  30. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +561 -0
  31. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
  32. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_enet.py +157 -0
  33. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +198 -0
  34. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
  35. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +3 -3
  36. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +432 -0
  37. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
  38. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +259 -0
  39. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
  40. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +4 -2
  41. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
  42. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
  43. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  44. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
  45. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +164 -0
  46. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
  47. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +90 -0
  48. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +117 -0
  49. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
  50. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +493 -0
  51. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +136 -0
  52. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +72 -0
  53. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
  54. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
  55. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
  56. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +736 -0
  57. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
  58. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +80 -0
  59. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
  60. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +772 -0
  61. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/__init__.py +151 -0
  62. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_config.py +80 -0
  63. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_device_offload.py +199 -0
  64. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
  65. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
  66. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +151 -0
  67. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +165 -0
  68. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +241 -0
  69. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +279 -0
  70. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
  71. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
  72. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +80 -0
  73. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +582 -0
  74. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +145 -0
  75. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
  76. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
  77. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
  78. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_backend.py +258 -0
  79. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
  80. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
  81. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +148 -0
  82. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +148 -0
  83. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
  84. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +121 -0
  85. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +151 -0
  86. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
  87. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +190 -0
  88. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +29 -0
  89. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +158 -0
  90. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +64 -0
  91. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +63 -0
  92. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +131 -0
  93. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +686 -0
  94. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
  95. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +218 -0
  96. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
  97. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +291 -0
  98. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/__init__.py +19 -0
  99. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/dummy.py +137 -0
  100. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
  101. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +781 -0
  102. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
  103. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
  104. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +201 -0
  105. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +230 -0
  106. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +293 -0
  107. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +213 -0
  108. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +171 -0
  109. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +252 -0
  110. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
  111. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
  112. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/neighbors/__init__.py +19 -19
  113. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +690 -0
  114. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
  115. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
  116. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +27 -0
  117. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +202 -0
  118. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
  119. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
  120. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/svm.py +592 -0
  121. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +352 -0
  122. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
  123. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
  124. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
  125. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
  126. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/test_common.py +71 -0
  127. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +179 -0
  128. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +94 -0
  129. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +98 -0
  130. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +213 -0
  131. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_third_party.py +220 -0
  132. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
  133. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/validation.py +503 -0
  134. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__init__.py +7 -3
  135. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  136. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_config.py +163 -0
  137. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +205 -0
  138. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_utils.py +219 -0
  139. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
  140. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
  141. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +241 -0
  142. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +128 -78
  143. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +405 -0
  144. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +101 -32
  145. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
  146. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +38 -29
  147. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +399 -0
  148. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +8 -6
  149. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +157 -0
  150. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/conftest.py +20 -1
  151. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +440 -0
  152. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +307 -0
  153. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
  154. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +164 -0
  155. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +199 -21
  156. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  157. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/__init__.py +19 -17
  158. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/_dummy.py +615 -0
  159. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/tests/test_dummy.py +62 -0
  160. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +288 -440
  161. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +196 -0
  162. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  163. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +17 -3
  164. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
  165. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +44 -0
  166. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +427 -0
  167. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +407 -0
  168. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +363 -0
  169. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +466 -0
  170. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +407 -0
  171. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +267 -0
  172. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +214 -0
  173. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +167 -0
  174. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +565 -0
  175. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  176. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +11 -0
  177. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +256 -0
  178. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +3 -0
  179. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
  180. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +3 -0
  181. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +30 -62
  182. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +56 -9
  183. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +45 -101
  184. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +63 -94
  185. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +49 -25
  186. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +6 -4
  187. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
  188. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +261 -0
  189. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +54 -8
  190. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
  191. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
  192. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +390 -0
  193. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
  194. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +24 -0
  195. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
  196. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +117 -0
  197. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +314 -0
  198. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +9 -4
  199. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +108 -0
  200. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +180 -0
  201. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +3 -4
  202. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +24 -0
  203. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +29 -0
  204. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +120 -0
  205. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +200 -0
  206. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +20 -0
  207. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +23 -0
  208. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +6 -4
  209. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +276 -0
  210. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +146 -0
  211. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
  212. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +299 -0
  213. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
  214. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +28 -0
  215. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
  216. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +345 -0
  217. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +162 -0
  218. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +169 -0
  219. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +1 -3
  220. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +433 -0
  221. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +403 -0
  222. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +99 -117
  223. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +55 -16
  224. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +95 -113
  225. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +51 -16
  226. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +43 -20
  227. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +607 -0
  228. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +256 -0
  229. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
  230. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +335 -0
  231. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +5 -4
  232. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +111 -0
  233. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +122 -75
  234. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +335 -0
  235. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
  236. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +420 -0
  237. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
  238. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
  239. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +217 -0
  240. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/class_weight.py +100 -0
  241. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
  242. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_class_weight.py +69 -0
  243. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  244. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +212 -0
  245. scikit_learn_intelex-2025.10.0.dist-info/METADATA +182 -0
  246. scikit_learn_intelex-2025.10.0.dist-info/RECORD +267 -0
  247. {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/WHEEL +1 -1
  248. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_config.py +0 -110
  249. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -250
  250. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_utils.py +0 -109
  251. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -17
  252. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -30
  253. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +0 -130
  254. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -143
  255. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -335
  256. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -56
  257. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -113
  258. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -316
  259. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
  260. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +0 -385
  261. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -117
  262. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -91
  263. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
  264. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
  265. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
  266. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -133
  267. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
  268. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
  269. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +0 -185
  270. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/_utils.py +0 -164
  271. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -39
  272. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -227
  273. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -99
  274. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability_tests.py +0 -428
  275. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -20
  276. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py +0 -97
  277. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
  278. scikit_learn_intelex-2024.4.0.dist-info/METADATA +0 -230
  279. scikit_learn_intelex-2024.4.0.dist-info/RECORD +0 -101
  280. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
  281. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  282. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  283. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  284. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  285. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  286. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  287. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  288. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  289. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  290. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  291. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  292. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  293. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  294. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  295. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  296. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  297. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  298. {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/LICENSE.txt +0 -0
  299. {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/top_level.txt +0 -0
@@ -16,7 +16,6 @@
16
16
 
17
17
 
18
18
  import importlib
19
- import inspect
20
19
  import logging
21
20
  import os
22
21
  import re
@@ -28,21 +27,23 @@ import numpy.random as nprnd
28
27
  import pytest
29
28
  from sklearn.base import BaseEstimator
30
29
 
31
- from daal4py.sklearn._utils import sklearn_check_version
30
+ from daal4py.sklearn._utils import _package_check_version, sklearn_check_version
32
31
  from onedal.tests.utils._dataframes_support import (
33
32
  _convert_to_dataframe,
34
33
  get_dataframes_and_queues,
35
34
  )
36
- from sklearnex import is_patched_instance
35
+ from sklearnex import config_context, is_patched_instance
36
+ from sklearnex._utils import get_tags
37
37
  from sklearnex.dispatcher import _is_preview_enabled
38
38
  from sklearnex.metrics import pairwise_distances, roc_auc_score
39
- from sklearnex.tests._utils import (
39
+ from sklearnex.tests.utils import (
40
40
  DTYPES,
41
41
  PATCHED_FUNCTIONS,
42
42
  PATCHED_MODELS,
43
43
  SPECIAL_INSTANCES,
44
44
  UNPATCHED_FUNCTIONS,
45
45
  UNPATCHED_MODELS,
46
+ call_method,
46
47
  gen_dataset,
47
48
  gen_models_info,
48
49
  )
@@ -61,12 +62,15 @@ def test_pairwise_distances_patching(caplog, dataframe, queue, dtype, metric):
61
62
  pytest.skip("pairwise_distances does not support GPU queues")
62
63
 
63
64
  rng = nprnd.default_rng()
64
- X = _convert_to_dataframe(
65
- rng.random(size=1000).reshape(1, -1),
66
- sycl_queue=queue,
67
- target_df=dataframe,
68
- dtype=dtype,
69
- )
65
+ if dataframe == "pandas":
66
+ X = _convert_to_dataframe(
67
+ rng.random(size=1000).astype(dtype).reshape(1, -1),
68
+ target_df=dataframe,
69
+ )
70
+ else:
71
+ X = _convert_to_dataframe(
72
+ rng.random(size=1000), sycl_queue=queue, target_df=dataframe, dtype=dtype
73
+ )[None, :]
70
74
 
71
75
  _ = pairwise_distances(X, metric=metric)
72
76
  assert all(
@@ -90,14 +94,17 @@ def test_roc_auc_score_patching(caplog, dataframe, queue, dtype):
90
94
 
91
95
  with caplog.at_level(logging.WARNING, logger="sklearnex"):
92
96
  rng = nprnd.default_rng()
97
+ X = rng.integers(2, size=1000)
98
+ y = rng.integers(2, size=1000)
99
+
93
100
  X = _convert_to_dataframe(
94
- rng.integers(2, size=1000),
101
+ X,
95
102
  sycl_queue=queue,
96
103
  target_df=dataframe,
97
104
  dtype=dtype,
98
105
  )
99
106
  y = _convert_to_dataframe(
100
- rng.integers(2, size=1000),
107
+ y,
101
108
  sycl_queue=queue,
102
109
  target_df=dataframe,
103
110
  dtype=dtype,
@@ -113,46 +120,17 @@ def test_roc_auc_score_patching(caplog, dataframe, queue, dtype):
113
120
  ), f"sklearnex patching issue in roc_auc_score with log: \n{caplog.text}"
114
121
 
115
122
 
116
- @pytest.mark.parametrize("dtype", DTYPES)
117
- @pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues())
118
- @pytest.mark.parametrize("estimator, method", gen_models_info(PATCHED_MODELS))
119
- def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator, method):
120
- with caplog.at_level(logging.WARNING, logger="sklearnex"):
121
- est = PATCHED_MODELS[estimator]()
122
-
123
- if queue:
124
- if dtype == np.float16 and not queue.sycl_device.has_aspect_fp16:
125
- pytest.skip("Hardware does not support fp16 SYCL testing")
126
- elif dtype == np.float64 and not queue.sycl_device.has_aspect_fp64:
127
- pytest.skip("Hardware does not support fp64 SYCL testing")
128
- elif queue.sycl_device.is_gpu and estimator in [
129
- "KMeans",
130
- "ElasticNet",
131
- "Lasso",
132
- "Ridge",
133
- ]:
134
- pytest.skip(f"{estimator} does not support GPU queues")
135
-
136
- if estimator == "TSNE" and method == "fit_transform":
137
- pytest.skip("TSNE.fit_transform is too slow for common testing")
138
- elif (
139
- estimator == "Ridge"
140
- and method in ["predict", "score"]
141
- and sys.platform == "win32"
142
- and dtype in [np.uint32, np.uint64]
143
- ):
144
- pytest.skip("Windows segmentation fault for Ridge.predict for unsigned ints")
145
- elif method and not hasattr(est, method):
146
- pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
123
+ def _check_estimator_patching(caplog, dataframe, queue, dtype, est, method):
124
+ # This should be modified as more array_api frameworks are tested and for
125
+ # upcoming changes in dpnp and dpctl
147
126
 
148
- X, y = gen_dataset(est, queue=queue, target_df=dataframe, dtype=dtype)
127
+ with caplog.at_level(logging.WARNING, logger="sklearnex"):
128
+ X, y = gen_dataset(est, queue=queue, target_df=dataframe, dtype=dtype)[0]
149
129
  est.fit(X, y)
150
130
 
151
131
  if method:
152
- if method != "score":
153
- getattr(est, method)(X)
154
- else:
155
- est.score(X, y)
132
+ call_method(est, method, X, y)
133
+
156
134
  assert all(
157
135
  [
158
136
  "running accelerated version" in i.message
@@ -162,40 +140,101 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
162
140
  ), f"sklearnex patching issue in {estimator}.{method} with log: \n{caplog.text}"
163
141
 
164
142
 
143
+ @pytest.mark.parametrize("dtype", DTYPES)
144
+ @pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues())
145
+ @pytest.mark.parametrize("estimator, method", gen_models_info(PATCHED_MODELS))
146
+ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator, method):
147
+ est = PATCHED_MODELS[estimator]()
148
+
149
+ if queue:
150
+ if dtype == np.float16 and not queue.sycl_device.has_aspect_fp16:
151
+ pytest.skip("Hardware does not support fp16 SYCL testing")
152
+ elif dtype == np.float64 and not queue.sycl_device.has_aspect_fp64:
153
+ pytest.skip("Hardware does not support fp64 SYCL testing")
154
+ elif queue.sycl_device.is_gpu and estimator in [
155
+ "ElasticNet",
156
+ "Lasso",
157
+ ]:
158
+ pytest.skip(f"{estimator} does not support GPU queues")
159
+
160
+ if "NearestNeighbors" in estimator and "radius" in method:
161
+ pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
162
+
163
+ if estimator == "TSNE" and method == "fit_transform":
164
+ pytest.skip("TSNE.fit_transform is too slow for common testing")
165
+ elif estimator == "IncrementalLinearRegression" and np.issubdtype(dtype, np.integer):
166
+ pytest.skip(
167
+ "IncrementalLinearRegression fails on oneDAL side with int types because dataset is filled by zeroes"
168
+ )
169
+ elif method and not hasattr(est, method):
170
+ pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
171
+
172
+ if dataframe == "array_api":
173
+ # as array_api dispatching is experimental, sklearn support isn't guaranteed.
174
+ # the infrastructure from sklearn that sklearnex depends on is also susceptible
175
+ # to failure. In this case compare to sklearn for the same failure. By design
176
+ # the patching of sklearn should act similarly. Technically this is conformance.
177
+ if (
178
+ (estimator == "PCA" and "transform" in method)
179
+ or (estimator == "IncrementalEmpiricalCovariance" and method == "mahalanobis")
180
+ ) and not _package_check_version("2.0", np.__version__):
181
+ # issue not to be observed with normal numpy usage
182
+ pytest.skip(
183
+ f"numpy backend does not properly handle the __dlpack__ attribute."
184
+ )
185
+ elif (
186
+ not sklearn_check_version("1.3")
187
+ and estimator == "IncrementalEmpiricalCovariance"
188
+ and method == "score"
189
+ ):
190
+ pytest.skip(
191
+ f"array checking in sklearn <1.3 does not fully support array_api inputs, causes sklearnex-only estimator failure"
192
+ )
193
+
194
+ with config_context(array_api_dispatch=True):
195
+ try:
196
+ _check_estimator_patching(caplog, dataframe, queue, dtype, est, method)
197
+ except Exception as e:
198
+ # if we are borrowing from sklearn and it fails, then this is something
199
+ # failing on sklearn-side. It is only allowed to fail if the underlying sklearn
200
+ # function doesn't support array_api with the set parameters and array_api
201
+ # support isn't promised by oneDAL
202
+ tags = get_tags(est)
203
+ array_api_check = (
204
+ hasattr(tags, "array_api_support")
205
+ and tags.array_api_support
206
+ or hasattr(tags, "onedal_array_api")
207
+ and tags.onedal_array_api
208
+ )
209
+ if (
210
+ array_api_check
211
+ or estimator not in UNPATCHED_MODELS
212
+ or getattr(PATCHED_MODELS[estimator], method)
213
+ != getattr(UNPATCHED_MODELS[estimator], method, None)
214
+ ):
215
+ raise e
216
+
217
+ else:
218
+ _check_estimator_patching(caplog, dataframe, queue, dtype, est, method)
219
+
220
+
165
221
  @pytest.mark.parametrize("dtype", DTYPES)
166
222
  @pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues())
167
223
  @pytest.mark.parametrize("estimator, method", gen_models_info(SPECIAL_INSTANCES))
168
224
  def test_special_estimator_patching(caplog, dataframe, queue, dtype, estimator, method):
169
- # prepare logging
170
-
171
- with caplog.at_level(logging.WARNING, logger="sklearnex"):
172
- est = SPECIAL_INSTANCES[estimator]
225
+ est = SPECIAL_INSTANCES[estimator]
173
226
 
227
+ if queue:
174
228
  # Its not possible to get the dpnp/dpctl arrays to be in the proper dtype
175
- if dtype == np.float16 and queue and not queue.sycl_device.has_aspect_fp16:
229
+ if dtype == np.float16 and not queue.sycl_device.has_aspect_fp16:
176
230
  pytest.skip("Hardware does not support fp16 SYCL testing")
177
- elif dtype == np.float64 and queue and not queue.sycl_device.has_aspect_fp64:
231
+ elif dtype == np.float64 and not queue.sycl_device.has_aspect_fp64:
178
232
  pytest.skip("Hardware does not support fp64 SYCL testing")
179
233
 
180
- X, y = gen_dataset(est, queue=queue, target_df=dataframe, dtype=dtype)
181
- est.fit(X, y)
182
-
183
- if method and not hasattr(est, method):
184
- pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
185
-
186
- if method:
187
- if method != "score":
188
- getattr(est, method)(X)
189
- else:
190
- est.score(X, y)
234
+ if "NearestNeighbors" in estimator and "radius" in method:
235
+ pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
191
236
 
192
- assert all(
193
- [
194
- "running accelerated version" in i.message
195
- or "fallback to original Scikit-learn" in i.message
196
- for i in caplog.records
197
- ]
198
- ), f"sklearnex patching issue in {estimator}.{method} with log: \n{caplog.text}"
237
+ _check_estimator_patching(caplog, dataframe, queue, dtype, est, method)
199
238
 
200
239
 
201
240
  @pytest.mark.parametrize("estimator", UNPATCHED_MODELS.keys())
@@ -279,9 +318,17 @@ def test_patch_map_match():
279
318
 
280
319
  def list_all_attr(string):
281
320
  try:
282
- modules = set(importlib.import_module(string).__all__)
321
+ mod = importlib.import_module(string)
283
322
  except ModuleNotFoundError:
284
- modules = set([None])
323
+ return set([None])
324
+
325
+ # Some sklearn estimators exist in python
326
+ # files rather than folders under sklearn
327
+ modules = set(
328
+ getattr(
329
+ mod, "__all__", [name for name in dir(mod) if not name.startswith("_")]
330
+ )
331
+ )
285
332
  return modules
286
333
 
287
334
  if _is_preview_enabled():
@@ -367,5 +414,5 @@ def test_docstring_patching_match(estimator):
367
414
  )
368
415
  def test_onedal_supported_member(name, member):
369
416
  patched = PATCHED_MODELS[name]
370
- sig = str(inspect.signature(getattr(patched, member)))
417
+ sig = str(signature(getattr(patched, member)))
371
418
  assert "(self, method_name, *data)" == sig
@@ -0,0 +1,335 @@
1
+ # ===============================================================================
2
+ # Copyright 2020 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ===============================================================================
16
+
17
+ import random
18
+ from collections.abc import Iterable
19
+ from functools import partial
20
+ from numbers import Number
21
+
22
+ import numpy as np
23
+ import pytest
24
+ from numpy.testing import assert_allclose
25
+ from scipy import sparse
26
+ from sklearn.datasets import (
27
+ load_breast_cancer,
28
+ load_diabetes,
29
+ load_iris,
30
+ make_classification,
31
+ make_regression,
32
+ )
33
+
34
+ import daal4py as d4p
35
+ from daal4py.sklearn._utils import daal_check_version
36
+ from onedal.tests.utils._dataframes_support import _as_numpy, get_dataframes_and_queues
37
+ from sklearnex.basic_statistics import BasicStatistics
38
+ from sklearnex.cluster import DBSCAN, KMeans
39
+ from sklearnex.decomposition import PCA
40
+ from sklearnex.metrics import pairwise_distances, roc_auc_score
41
+ from sklearnex.model_selection import train_test_split
42
+ from sklearnex.neighbors import (
43
+ KNeighborsClassifier,
44
+ KNeighborsRegressor,
45
+ NearestNeighbors,
46
+ )
47
+ from sklearnex.svm import SVC
48
+ from sklearnex.tests.utils import (
49
+ _IS_INTEL,
50
+ PATCHED_MODELS,
51
+ SPECIAL_INSTANCES,
52
+ call_method,
53
+ gen_dataset,
54
+ gen_models_info,
55
+ sklearn_clone_dict,
56
+ )
57
+
58
+ # to reproduce errors even in CI
59
+ d4p.daalinit(nthreads=100)
60
+
61
+ _dataset_dict = {
62
+ "classification": [
63
+ partial(load_iris, return_X_y=True),
64
+ partial(load_breast_cancer, return_X_y=True),
65
+ ],
66
+ "regression": [
67
+ partial(load_diabetes, return_X_y=True),
68
+ partial(
69
+ make_regression, n_samples=500, n_features=10, noise=64.0, random_state=42
70
+ ),
71
+ ],
72
+ }
73
+
74
+
75
+ def eval_method(X, y, est, method):
76
+ res = []
77
+ est.fit(X, y)
78
+
79
+ if method:
80
+ res = call_method(est, method, X, y)
81
+
82
+ if not isinstance(res, Iterable):
83
+ results = [_as_numpy(res)] if res is not est else []
84
+ elif hasattr(res, "dtype") and res.dtype not in [np.object_, np.flexible]:
85
+ # array_api inputs do not have an __iter__ and this also allows for
86
+ # multidimensional array-like inputs to be analyzed without slicing.
87
+ # The check for object and flexible types is because of the
88
+ # radius_neighbors method in kNeighors algorithms which can return
89
+ # numpy object arrays of numpy numeric arrays
90
+ results = [_as_numpy(res).flatten()]
91
+ else:
92
+ results = [_as_numpy(i) for i in res]
93
+
94
+ attributes = [method] * len(results)
95
+
96
+ # if estimator follows sklearn design rules, then set attributes should have a
97
+ # trailing underscore
98
+ attributes += [
99
+ i
100
+ for i in dir(est)
101
+ if hasattr(est, i) and not i.startswith("_") and i.endswith("_")
102
+ ]
103
+ results += [getattr(est, i) for i in attributes if i != method]
104
+ return results, attributes
105
+
106
+
107
+ def _run_test(estimator, method, datasets):
108
+
109
+ for X, y in datasets:
110
+ baseline, attributes = eval_method(X, y, estimator, method)
111
+
112
+ for i in range(10):
113
+ res, _ = eval_method(X, y, estimator, method)
114
+
115
+ for r, b, n in zip(res, baseline, attributes):
116
+ if (
117
+ isinstance(b, Number)
118
+ or hasattr(b, "__array__")
119
+ or hasattr(b, "__array_namespace__")
120
+ or hasattr(b, "__sycl_usm_ndarray__")
121
+ ):
122
+ assert_allclose(
123
+ r, b, rtol=0.0, atol=0.0, err_msg=str(n + " is incorrect")
124
+ )
125
+
126
+
127
+ _sparse_instances = [SVC()]
128
+ if daal_check_version((2025, "P", 200)): # Test for >= 2025.2.0
129
+ _sparse_instances.extend(
130
+ [
131
+ BasicStatistics(result_options=["sum", "min"]),
132
+ ]
133
+ )
134
+ if daal_check_version((2024, "P", 700)): # Test for > 2024.7.0
135
+ _sparse_instances.extend(
136
+ [
137
+ KMeans(),
138
+ KMeans(init="random"),
139
+ KMeans(init="k-means++"),
140
+ ]
141
+ )
142
+ SPARSE_INSTANCES = sklearn_clone_dict({str(i): i for i in _sparse_instances})
143
+
144
+ STABILITY_INSTANCES = sklearn_clone_dict(
145
+ {
146
+ str(i): i
147
+ for i in [
148
+ KNeighborsClassifier(algorithm="brute", weights="distance"),
149
+ KNeighborsClassifier(algorithm="kd_tree", weights="distance"),
150
+ KNeighborsClassifier(algorithm="kd_tree"),
151
+ KNeighborsRegressor(algorithm="brute", weights="distance"),
152
+ KNeighborsRegressor(algorithm="kd_tree", weights="distance"),
153
+ KNeighborsRegressor(algorithm="kd_tree"),
154
+ NearestNeighbors(algorithm="kd_tree"),
155
+ DBSCAN(algorithm="brute"),
156
+ PCA(n_components=0.5, svd_solver="covariance_eigh"),
157
+ KMeans(init="random"),
158
+ ]
159
+ }
160
+ )
161
+
162
+
163
+ def _skip_neighbors(estimator, method):
164
+ if (
165
+ not _IS_INTEL
166
+ and ("Neighbors" in estimator or "LocalOutlierFactor" in estimator)
167
+ and method
168
+ in ["score", "predict", "kneighbors", "kneighbors_graph", "predict_proba"]
169
+ ):
170
+ pytest.skip(f"{estimator} shows instability on non-Intel(R) hardware")
171
+
172
+
173
+ @pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
174
+ @pytest.mark.parametrize("estimator, method", gen_models_info(PATCHED_MODELS))
175
+ def test_standard_estimator_stability(estimator, method, dataframe, queue):
176
+ if estimator in ["LogisticRegression", "TSNE"]:
177
+ pytest.skip(f"stability not guaranteed for {estimator}")
178
+ if estimator in ["KMeans", "PCA"] and "score" in method and queue == None:
179
+ pytest.skip(f"variation observed in {estimator}.score")
180
+ if estimator in ["IncrementalEmpiricalCovariance"] and method == "mahalanobis":
181
+ pytest.skip("allowed fallback to sklearn occurs")
182
+ if estimator == "DummyRegressor":
183
+ pytest.skip("default parameters fall back to sklearn")
184
+ _skip_neighbors(estimator, method)
185
+
186
+ if "NearestNeighbors" in estimator and "radius" in method:
187
+ pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
188
+
189
+ est = PATCHED_MODELS[estimator]()
190
+
191
+ if method and not hasattr(est, method):
192
+ pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
193
+
194
+ params = est.get_params().copy()
195
+ if "random_state" in params:
196
+ params["random_state"] = 0
197
+ est.set_params(**params)
198
+
199
+ datasets = gen_dataset(est, datasets=_dataset_dict, queue=queue, target_df=dataframe)
200
+ _run_test(est, method, datasets)
201
+
202
+
203
+ @pytest.mark.allow_sklearn_fallback
204
+ @pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
205
+ @pytest.mark.parametrize("estimator, method", gen_models_info(SPECIAL_INSTANCES))
206
+ def test_special_estimator_stability(estimator, method, dataframe, queue):
207
+ if queue is None and estimator in ["LogisticRegression(solver='newton-cg')"]:
208
+ pytest.skip(f"stability not guaranteed for {estimator}")
209
+ if "KMeans" in estimator and method == "score" and queue == None:
210
+ pytest.skip(f"variation observed in KMeans.score")
211
+ if estimator == "BasicStatistics()" and queue == None:
212
+ pytest.skip(f"BasicStatistics not deterministic")
213
+ if "NearestNeighbors" in estimator and "radius" in method:
214
+ pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
215
+ _skip_neighbors(estimator, method)
216
+
217
+ est = SPECIAL_INSTANCES[estimator]
218
+
219
+ if method and not hasattr(est, method):
220
+ pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
221
+
222
+ params = est.get_params().copy()
223
+ if "random_state" in params:
224
+ params["random_state"] = 0
225
+ est.set_params(**params)
226
+
227
+ datasets = gen_dataset(est, datasets=_dataset_dict, queue=queue, target_df=dataframe)
228
+ _run_test(est, method, datasets)
229
+
230
+
231
+ @pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
232
+ @pytest.mark.parametrize("estimator, method", gen_models_info(SPARSE_INSTANCES))
233
+ def test_sparse_estimator_stability(estimator, method, dataframe, queue):
234
+ if "KMeans" in estimator and method in "score" and queue == None:
235
+ pytest.skip(f"variation observed in KMeans.{method}")
236
+ if (
237
+ not daal_check_version((2025, "P", 0))
238
+ and "KMeans()" in estimator
239
+ and queue == None
240
+ ):
241
+ pytest.skip(f"variation observed in KMeans.{method} in 2024.7 oneDAL")
242
+ if "NearestNeighbors" in estimator and "radius" in method:
243
+ pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
244
+ _skip_neighbors(estimator, method)
245
+
246
+ est = SPARSE_INSTANCES[estimator]
247
+
248
+ if method and not hasattr(est, method):
249
+ pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
250
+
251
+ params = est.get_params().copy()
252
+ if "random_state" in params:
253
+ params["random_state"] = 0
254
+ est.set_params(**params)
255
+
256
+ datasets = gen_dataset(
257
+ est, sparse=True, datasets=_dataset_dict, queue=queue, target_df=dataframe
258
+ )
259
+ _run_test(est, method, datasets)
260
+
261
+
262
+ @pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
263
+ @pytest.mark.parametrize("estimator, method", gen_models_info(STABILITY_INSTANCES))
264
+ def test_other_estimator_stability(estimator, method, dataframe, queue):
265
+ if "KMeans" in estimator and method == "score" and queue == None:
266
+ pytest.skip(f"variation observed in KMeans.score")
267
+ if "NearestNeighbors" in estimator and "radius" in method:
268
+ pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
269
+ _skip_neighbors(estimator, method)
270
+
271
+ est = STABILITY_INSTANCES[estimator]
272
+
273
+ if method and not hasattr(est, method):
274
+ pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
275
+
276
+ params = est.get_params().copy()
277
+ if "random_state" in params:
278
+ params["random_state"] = 0
279
+ est.set_params(**params)
280
+
281
+ datasets = gen_dataset(est, datasets=_dataset_dict, queue=queue, target_df=dataframe)
282
+ _run_test(est, method, datasets)
283
+
284
+
285
+ @pytest.mark.parametrize("features", range(5, 10))
286
+ def test_train_test_split(features):
287
+ X, y = make_classification(
288
+ n_samples=4000,
289
+ n_features=features,
290
+ n_informative=features,
291
+ n_redundant=0,
292
+ n_clusters_per_class=8,
293
+ random_state=0,
294
+ )
295
+ (
296
+ baseline_X_train,
297
+ baseline_X_test,
298
+ baseline_y_train,
299
+ baseline_y_test,
300
+ ) = train_test_split(X, y, test_size=0.33, random_state=0)
301
+ baseline = [baseline_X_train, baseline_X_test, baseline_y_train, baseline_y_test]
302
+ for _ in range(10):
303
+ X_train, X_test, y_train, y_test = train_test_split(
304
+ X, y, test_size=0.33, random_state=0
305
+ )
306
+ res = [X_train, X_test, y_train, y_test]
307
+ for a, b in zip(res, baseline):
308
+ np.testing.assert_allclose(
309
+ a, b, rtol=0.0, atol=0.0, err_msg=str("train_test_split is incorrect")
310
+ )
311
+
312
+
313
+ @pytest.mark.parametrize("metric", ["cosine", "correlation"])
314
+ def test_pairwise_distances(metric):
315
+ X = np.random.rand(1000)
316
+ X = np.array(X, dtype=np.float64)
317
+ baseline = pairwise_distances(X.reshape(1, -1), metric=metric)
318
+ for _ in range(5):
319
+ res = pairwise_distances(X.reshape(1, -1), metric=metric)
320
+ for a, b in zip(res, baseline):
321
+ np.testing.assert_allclose(
322
+ a, b, rtol=0.0, atol=0.0, err_msg=str("pairwise_distances is incorrect")
323
+ )
324
+
325
+
326
+ @pytest.mark.parametrize("array_size", [100, 1000, 10000])
327
+ def test_roc_auc(array_size):
328
+ a = [random.randint(0, 1) for i in range(array_size)]
329
+ b = [random.randint(0, 1) for i in range(array_size)]
330
+ baseline = roc_auc_score(a, b)
331
+ for _ in range(5):
332
+ res = roc_auc_score(a, b)
333
+ np.testing.assert_allclose(
334
+ baseline, res, rtol=0.0, atol=0.0, err_msg=str("roc_auc is incorrect")
335
+ )
@@ -0,0 +1,48 @@
1
+ # ==============================================================================
2
+ # Copyright 2024 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ==============================================================================
16
+
17
+ from .base import (
18
+ DTYPES,
19
+ PATCHED_FUNCTIONS,
20
+ PATCHED_MODELS,
21
+ SPECIAL_INSTANCES,
22
+ UNPATCHED_FUNCTIONS,
23
+ UNPATCHED_MODELS,
24
+ DummyEstimator,
25
+ _get_processor_info,
26
+ call_method,
27
+ gen_dataset,
28
+ gen_models_info,
29
+ gen_sparse_dataset,
30
+ sklearn_clone_dict,
31
+ )
32
+
33
+ __all__ = [
34
+ "DTYPES",
35
+ "PATCHED_FUNCTIONS",
36
+ "PATCHED_MODELS",
37
+ "UNPATCHED_FUNCTIONS",
38
+ "UNPATCHED_MODELS",
39
+ "SPECIAL_INSTANCES",
40
+ "call_method",
41
+ "gen_models_info",
42
+ "gen_dataset",
43
+ "gen_sparse_dataset",
44
+ "sklearn_clone_dict",
45
+ "DummyEstimator",
46
+ ]
47
+
48
+ _IS_INTEL = "GenuineIntel" in _get_processor_info()