scikit-learn-intelex 2025.4.0__py313-none-win_amd64.whl → 2025.6.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 (270) hide show
  1. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
  2. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/_daal4py.cp313-win_amd64.pyd +0 -0
  3. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
  4. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +922 -0
  5. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
  6. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +129 -106
  7. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp313-win_amd64.pyd +0 -0
  8. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
  9. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  10. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
  11. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
  12. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
  13. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  14. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  15. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
  16. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  17. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
  18. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
  19. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
  20. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
  21. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
  22. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +3 -3
  23. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
  24. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
  25. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
  26. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
  27. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
  28. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
  29. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  30. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  31. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_device_offload.py +86 -82
  32. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
  33. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  34. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
  35. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  36. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  37. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  38. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
  39. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
  40. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  41. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
  42. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  43. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
  44. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
  45. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
  46. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
  47. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  48. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
  49. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  50. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
  51. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
  52. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
  53. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  54. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
  55. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
  56. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
  57. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  58. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
  59. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
  60. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
  61. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
  62. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
  63. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +3 -13
  64. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +14 -2
  65. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
  66. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +161 -0
  67. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
  68. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  69. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  70. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  71. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
  72. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +194 -0
  73. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_utils.py +36 -43
  74. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
  75. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +14 -20
  76. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +31 -40
  77. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +10 -11
  78. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +20 -19
  79. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +49 -62
  80. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +9 -20
  81. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  83. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +111 -366
  84. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +18 -6
  87. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +41 -126
  88. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +37 -85
  89. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +52 -47
  90. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +45 -84
  91. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +17 -20
  92. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +60 -1
  93. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +2 -2
  94. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +8 -6
  95. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +1 -3
  98. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +6 -5
  100. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +31 -73
  101. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +30 -70
  102. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +5 -13
  103. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +6 -19
  104. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +45 -62
  105. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
  106. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
  107. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
  108. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
  109. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
  110. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
  111. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
  112. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
  113. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
  114. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
  115. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
  116. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
  117. {scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb → scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors}/__init__.py +2 -2
  118. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
  119. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +15 -28
  120. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +36 -129
  121. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +10 -22
  122. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +34 -127
  123. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +10 -22
  124. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +51 -11
  125. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +62 -0
  126. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +18 -24
  127. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
  128. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +89 -60
  129. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -0
  130. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
  131. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  132. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/METADATA +2 -3
  133. scikit_learn_intelex-2025.6.0.dist-info/RECORD +257 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp313-win_amd64.pyd +0 -0
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -424
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  142. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  143. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  144. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  145. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  146. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
  147. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  150. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  151. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  153. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  154. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  155. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  156. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  157. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  158. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  159. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  160. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  161. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  162. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  163. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  164. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  165. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  166. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  167. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  168. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  169. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  170. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  171. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  172. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  174. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  175. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  176. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  177. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  178. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  180. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  181. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  182. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  183. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  184. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  185. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  186. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  187. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  188. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  189. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  190. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  191. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  192. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  193. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  196. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  197. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  198. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  199. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  200. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  201. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  202. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  204. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  207. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  208. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  209. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  210. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  211. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  213. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  214. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  215. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  217. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  218. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  219. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  221. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  223. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  224. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  225. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  227. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  229. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  231. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  233. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  235. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  236. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  237. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  238. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  240. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  241. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  242. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  243. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  244. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  245. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  247. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  248. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  250. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  251. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  253. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  255. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  256. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  257. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  258. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  259. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  260. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  261. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  262. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  263. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  264. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  265. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  266. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  267. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  268. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/LICENSE.txt +0 -0
  269. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/WHEEL +0 -0
  270. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/top_level.txt +0 -0
@@ -14,10 +14,13 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
+ from functools import wraps
18
+
17
19
  import numpy as np
18
20
  from sklearn.exceptions import NotFittedError
19
21
  from sklearn.metrics import accuracy_score
20
22
  from sklearn.svm import NuSVC as _sklearn_NuSVC
23
+ from sklearn.utils.metaestimators import available_if
21
24
  from sklearn.utils.validation import (
22
25
  _deprecate_positional_args,
23
26
  check_array,
@@ -26,26 +29,18 @@ from sklearn.utils.validation import (
26
29
 
27
30
  from daal4py.sklearn._n_jobs_support import control_n_jobs
28
31
  from daal4py.sklearn._utils import sklearn_check_version
32
+ from onedal.svm import NuSVC as onedal_NuSVC
29
33
 
30
34
  from .._device_offload import dispatch, wrap_output_data
31
35
  from ..utils._array_api import get_namespace
36
+ from ..utils.validation import validate_data
32
37
  from ._common import BaseSVC
33
38
 
34
- if sklearn_check_version("1.0"):
35
- from sklearn.utils.metaestimators import available_if
36
-
37
- from onedal.svm import NuSVC as onedal_NuSVC
38
-
39
- if sklearn_check_version("1.6"):
40
- from sklearn.utils.validation import validate_data
41
- else:
42
- validate_data = BaseSVC._validate_data
43
-
44
39
 
45
40
  @control_n_jobs(
46
41
  decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
47
42
  )
48
- class NuSVC(_sklearn_NuSVC, BaseSVC):
43
+ class NuSVC(BaseSVC, _sklearn_NuSVC):
49
44
  __doc__ = _sklearn_NuSVC.__doc__
50
45
 
51
46
  if sklearn_check_version("1.2"):
@@ -145,99 +140,27 @@ class NuSVC(_sklearn_NuSVC, BaseSVC):
145
140
  sample_weight=sample_weight,
146
141
  )
147
142
 
148
- if sklearn_check_version("1.0"):
149
-
150
- @available_if(_sklearn_NuSVC._check_proba)
151
- def predict_proba(self, X):
152
- """
153
- Compute probabilities of possible outcomes for samples in X.
154
-
155
- The model need to have probability information computed at training
156
- time: fit with attribute `probability` set to True.
157
-
158
- Parameters
159
- ----------
160
- X : array-like of shape (n_samples, n_features)
161
- For kernel="precomputed", the expected shape of X is
162
- (n_samples_test, n_samples_train).
163
-
164
- Returns
165
- -------
166
- T : ndarray of shape (n_samples, n_classes)
167
- Returns the probability of the sample for each class in
168
- the model. The columns correspond to the classes in sorted
169
- order, as they appear in the attribute :term:`classes_`.
170
-
171
- Notes
172
- -----
173
- The probability model is created using cross validation, so
174
- the results can be slightly different than those obtained by
175
- predict. Also, it will produce meaningless results on very small
176
- datasets.
177
- """
178
- check_is_fitted(self)
179
- return self._predict_proba(X)
180
-
181
- @available_if(_sklearn_NuSVC._check_proba)
182
- def predict_log_proba(self, X):
183
- """Compute log probabilities of possible outcomes for samples in X.
184
-
185
- The model need to have probability information computed at training
186
- time: fit with attribute `probability` set to True.
187
-
188
- Parameters
189
- ----------
190
- X : array-like of shape (n_samples, n_features) or \
191
- (n_samples_test, n_samples_train)
192
- For kernel="precomputed", the expected shape of X is
193
- (n_samples_test, n_samples_train).
194
-
195
- Returns
196
- -------
197
- T : ndarray of shape (n_samples, n_classes)
198
- Returns the log-probabilities of the sample for each class in
199
- the model. The columns correspond to the classes in sorted
200
- order, as they appear in the attribute :term:`classes_`.
201
-
202
- Notes
203
- -----
204
- The probability model is created using cross validation, so
205
- the results can be slightly different than those obtained by
206
- predict. Also, it will produce meaningless results on very small
207
- datasets.
208
- """
209
- xp, _ = get_namespace(X)
210
-
211
- return xp.log(self.predict_proba(X))
212
-
213
- else:
214
-
215
- @property
216
- def predict_proba(self):
217
- self._check_proba()
218
- check_is_fitted(self)
219
- return self._predict_proba
220
-
221
- def _predict_log_proba(self, X):
222
- xp, _ = get_namespace(X)
223
- return xp.log(self.predict_proba(X))
224
-
225
- predict_proba.__doc__ = _sklearn_NuSVC.predict_proba.__doc__
143
+ @available_if(_sklearn_NuSVC._check_proba)
144
+ @wraps(_sklearn_NuSVC.predict_proba, assigned=["__doc__"])
145
+ def predict_proba(self, X):
146
+ check_is_fitted(self)
147
+ return self._predict_proba(X)
148
+
149
+ @available_if(_sklearn_NuSVC._check_proba)
150
+ @wraps(_sklearn_NuSVC.predict_log_proba, assigned=["__doc__"])
151
+ def predict_log_proba(self, X):
152
+ xp, _ = get_namespace(X)
153
+
154
+ return xp.log(self.predict_proba(X))
226
155
 
227
156
  @wrap_output_data
228
157
  def _predict_proba(self, X):
229
- sklearn_pred_proba = (
230
- _sklearn_NuSVC.predict_proba
231
- if sklearn_check_version("1.0")
232
- else _sklearn_NuSVC._predict_proba
233
- )
234
-
235
158
  return dispatch(
236
159
  self,
237
160
  "predict_proba",
238
161
  {
239
162
  "onedal": self.__class__._onedal_predict_proba,
240
- "sklearn": sklearn_pred_proba,
163
+ "sklearn": _sklearn_NuSVC.predict_proba,
241
164
  },
242
165
  X,
243
166
  )
@@ -306,23 +229,15 @@ class NuSVC(_sklearn_NuSVC, BaseSVC):
306
229
  self._save_attributes()
307
230
 
308
231
  def _onedal_predict(self, X, queue=None):
309
- if sklearn_check_version("1.0"):
310
- validate_data(
311
- self,
312
- X,
313
- dtype=[np.float64, np.float32],
314
- force_all_finite=False,
315
- ensure_2d=False,
316
- accept_sparse="csr",
317
- reset=False,
318
- )
319
- else:
320
- X = check_array(
321
- X,
322
- dtype=[np.float64, np.float32],
323
- force_all_finite=False,
324
- accept_sparse="csr",
325
- )
232
+ validate_data(
233
+ self,
234
+ X,
235
+ dtype=[np.float64, np.float32],
236
+ ensure_all_finite=False,
237
+ ensure_2d=False,
238
+ accept_sparse="csr",
239
+ reset=False,
240
+ )
326
241
 
327
242
  return self._onedal_estimator.predict(X, queue=queue)
328
243
 
@@ -341,22 +256,14 @@ class NuSVC(_sklearn_NuSVC, BaseSVC):
341
256
  return self.clf_prob.predict_proba(X)
342
257
 
343
258
  def _onedal_decision_function(self, X, queue=None):
344
- if sklearn_check_version("1.0"):
345
- validate_data(
346
- self,
347
- X,
348
- dtype=[np.float64, np.float32],
349
- force_all_finite=False,
350
- accept_sparse="csr",
351
- reset=False,
352
- )
353
- else:
354
- X = check_array(
355
- X,
356
- dtype=[np.float64, np.float32],
357
- force_all_finite=False,
358
- accept_sparse="csr",
359
- )
259
+ validate_data(
260
+ self,
261
+ X,
262
+ dtype=[np.float64, np.float32],
263
+ ensure_all_finite=False,
264
+ accept_sparse="csr",
265
+ reset=False,
266
+ )
360
267
 
361
268
  return self._onedal_estimator.decision_function(X, queue=queue)
362
269
 
@@ -27,16 +27,12 @@ from daal4py.sklearn._utils import sklearn_check_version
27
27
  from onedal.svm import NuSVR as onedal_NuSVR
28
28
 
29
29
  from .._device_offload import dispatch, wrap_output_data
30
+ from ..utils.validation import validate_data
30
31
  from ._common import BaseSVR
31
32
 
32
- if sklearn_check_version("1.6"):
33
- from sklearn.utils.validation import validate_data
34
- else:
35
- validate_data = BaseSVR._validate_data
36
-
37
33
 
38
34
  @control_n_jobs(decorated_methods=["fit", "predict", "score"])
39
- class NuSVR(_sklearn_NuSVR, BaseSVR):
35
+ class NuSVR(BaseSVR, _sklearn_NuSVR):
40
36
  __doc__ = _sklearn_NuSVR.__doc__
41
37
 
42
38
  if sklearn_check_version("1.2"):
@@ -147,22 +143,14 @@ class NuSVR(_sklearn_NuSVR, BaseSVR):
147
143
  self._save_attributes()
148
144
 
149
145
  def _onedal_predict(self, X, queue=None):
150
- if sklearn_check_version("1.0"):
151
- X = validate_data(
152
- self,
153
- X,
154
- dtype=[np.float64, np.float32],
155
- force_all_finite=False,
156
- accept_sparse="csr",
157
- reset=False,
158
- )
159
- else:
160
- X = check_array(
161
- X,
162
- dtype=[np.float64, np.float32],
163
- force_all_finite=False,
164
- accept_sparse="csr",
165
- )
146
+ X = validate_data(
147
+ self,
148
+ X,
149
+ dtype=[np.float64, np.float32],
150
+ ensure_all_finite=False,
151
+ accept_sparse="csr",
152
+ reset=False,
153
+ )
166
154
  return self._onedal_estimator.predict(X, queue=queue)
167
155
 
168
156
  fit.__doc__ = _sklearn_NuSVR.fit.__doc__
@@ -14,11 +14,14 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
+ from functools import wraps
18
+
17
19
  import numpy as np
18
20
  from scipy import sparse as sp
19
21
  from sklearn.exceptions import NotFittedError
20
22
  from sklearn.metrics import accuracy_score
21
23
  from sklearn.svm import SVC as _sklearn_SVC
24
+ from sklearn.utils.metaestimators import available_if
22
25
  from sklearn.utils.validation import (
23
26
  _deprecate_positional_args,
24
27
  check_array,
@@ -27,27 +30,19 @@ from sklearn.utils.validation import (
27
30
 
28
31
  from daal4py.sklearn._n_jobs_support import control_n_jobs
29
32
  from daal4py.sklearn._utils import sklearn_check_version
33
+ from onedal.svm import SVC as onedal_SVC
30
34
 
31
35
  from .._device_offload import dispatch, wrap_output_data
32
36
  from .._utils import PatchingConditionsChain
33
37
  from ..utils._array_api import get_namespace
38
+ from ..utils.validation import validate_data
34
39
  from ._common import BaseSVC
35
40
 
36
- if sklearn_check_version("1.0"):
37
- from sklearn.utils.metaestimators import available_if
38
-
39
- from onedal.svm import SVC as onedal_SVC
40
-
41
- if sklearn_check_version("1.6"):
42
- from sklearn.utils.validation import validate_data
43
- else:
44
- validate_data = BaseSVC._validate_data
45
-
46
41
 
47
42
  @control_n_jobs(
48
43
  decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
49
44
  )
50
- class SVC(_sklearn_SVC, BaseSVC):
45
+ class SVC(BaseSVC, _sklearn_SVC):
51
46
  __doc__ = _sklearn_SVC.__doc__
52
47
 
53
48
  if sklearn_check_version("1.2"):
@@ -147,99 +142,27 @@ class SVC(_sklearn_SVC, BaseSVC):
147
142
  sample_weight=sample_weight,
148
143
  )
149
144
 
150
- if sklearn_check_version("1.0"):
151
-
152
- @available_if(_sklearn_SVC._check_proba)
153
- def predict_proba(self, X):
154
- """
155
- Compute probabilities of possible outcomes for samples in X.
156
-
157
- The model need to have probability information computed at training
158
- time: fit with attribute `probability` set to True.
159
-
160
- Parameters
161
- ----------
162
- X : array-like of shape (n_samples, n_features)
163
- For kernel="precomputed", the expected shape of X is
164
- (n_samples_test, n_samples_train).
165
-
166
- Returns
167
- -------
168
- T : ndarray of shape (n_samples, n_classes)
169
- Returns the probability of the sample for each class in
170
- the model. The columns correspond to the classes in sorted
171
- order, as they appear in the attribute :term:`classes_`.
172
-
173
- Notes
174
- -----
175
- The probability model is created using cross validation, so
176
- the results can be slightly different than those obtained by
177
- predict. Also, it will produce meaningless results on very small
178
- datasets.
179
- """
180
- check_is_fitted(self)
181
- return self._predict_proba(X)
182
-
183
- @available_if(_sklearn_SVC._check_proba)
184
- def predict_log_proba(self, X):
185
- """Compute log probabilities of possible outcomes for samples in X.
186
-
187
- The model need to have probability information computed at training
188
- time: fit with attribute `probability` set to True.
189
-
190
- Parameters
191
- ----------
192
- X : array-like of shape (n_samples, n_features) or \
193
- (n_samples_test, n_samples_train)
194
- For kernel="precomputed", the expected shape of X is
195
- (n_samples_test, n_samples_train).
196
-
197
- Returns
198
- -------
199
- T : ndarray of shape (n_samples, n_classes)
200
- Returns the log-probabilities of the sample for each class in
201
- the model. The columns correspond to the classes in sorted
202
- order, as they appear in the attribute :term:`classes_`.
203
-
204
- Notes
205
- -----
206
- The probability model is created using cross validation, so
207
- the results can be slightly different than those obtained by
208
- predict. Also, it will produce meaningless results on very small
209
- datasets.
210
- """
211
- xp, _ = get_namespace(X)
212
-
213
- return xp.log(self.predict_proba(X))
214
-
215
- else:
216
-
217
- @property
218
- def predict_proba(self):
219
- self._check_proba()
220
- check_is_fitted(self)
221
- return self._predict_proba
145
+ @available_if(_sklearn_SVC._check_proba)
146
+ @wraps(_sklearn_SVC.predict_proba, assigned=["__doc__"])
147
+ def predict_proba(self, X):
148
+ check_is_fitted(self)
149
+ return self._predict_proba(X)
222
150
 
223
- def _predict_log_proba(self, X):
224
- xp, _ = get_namespace(X)
225
- return xp.log(self.predict_proba(X))
151
+ @available_if(_sklearn_SVC._check_proba)
152
+ @wraps(_sklearn_SVC.predict_log_proba, assigned=["__doc__"])
153
+ def predict_log_proba(self, X):
154
+ xp, _ = get_namespace(X)
226
155
 
227
- predict_proba.__doc__ = _sklearn_SVC.predict_proba.__doc__
156
+ return xp.log(self.predict_proba(X))
228
157
 
229
158
  @wrap_output_data
230
159
  def _predict_proba(self, X):
231
- sklearn_pred_proba = (
232
- _sklearn_SVC.predict_proba
233
- if sklearn_check_version("1.0")
234
- else _sklearn_SVC._predict_proba
235
- )
236
-
237
160
  return dispatch(
238
161
  self,
239
162
  "predict_proba",
240
163
  {
241
164
  "onedal": self.__class__._onedal_predict_proba,
242
- "sklearn": sklearn_pred_proba,
165
+ "sklearn": _sklearn_SVC.predict_proba,
243
166
  },
244
167
  X,
245
168
  )
@@ -336,23 +259,15 @@ class SVC(_sklearn_SVC, BaseSVC):
336
259
  self._save_attributes()
337
260
 
338
261
  def _onedal_predict(self, X, queue=None):
339
- if sklearn_check_version("1.0"):
340
- X = validate_data(
341
- self,
342
- X,
343
- dtype=[np.float64, np.float32],
344
- force_all_finite=False,
345
- ensure_2d=False,
346
- accept_sparse="csr",
347
- reset=False,
348
- )
349
- else:
350
- X = check_array(
351
- X,
352
- dtype=[np.float64, np.float32],
353
- force_all_finite=False,
354
- accept_sparse="csr",
355
- )
262
+ X = validate_data(
263
+ self,
264
+ X,
265
+ dtype=[np.float64, np.float32],
266
+ ensure_all_finite=False,
267
+ ensure_2d=False,
268
+ accept_sparse="csr",
269
+ reset=False,
270
+ )
356
271
  return self._onedal_estimator.predict(X, queue=queue)
357
272
 
358
273
  def _onedal_predict_proba(self, X, queue=None):
@@ -370,22 +285,14 @@ class SVC(_sklearn_SVC, BaseSVC):
370
285
  return self.clf_prob.predict_proba(X)
371
286
 
372
287
  def _onedal_decision_function(self, X, queue=None):
373
- if sklearn_check_version("1.0"):
374
- X = validate_data(
375
- self,
376
- X,
377
- dtype=[np.float64, np.float32],
378
- force_all_finite=False,
379
- accept_sparse="csr",
380
- reset=False,
381
- )
382
- else:
383
- X = check_array(
384
- X,
385
- dtype=[np.float64, np.float32],
386
- force_all_finite=False,
387
- accept_sparse="csr",
388
- )
288
+ X = validate_data(
289
+ self,
290
+ X,
291
+ dtype=[np.float64, np.float32],
292
+ ensure_all_finite=False,
293
+ accept_sparse="csr",
294
+ reset=False,
295
+ )
389
296
  return self._onedal_estimator.decision_function(X, queue=queue)
390
297
 
391
298
  def _onedal_score(self, X, y, sample_weight=None, queue=None):
@@ -23,16 +23,12 @@ from daal4py.sklearn._utils import sklearn_check_version
23
23
  from onedal.svm import SVR as onedal_SVR
24
24
 
25
25
  from .._device_offload import dispatch, wrap_output_data
26
+ from ..utils.validation import validate_data
26
27
  from ._common import BaseSVR
27
28
 
28
- if sklearn_check_version("1.6"):
29
- from sklearn.utils.validation import validate_data
30
- else:
31
- validate_data = BaseSVR._validate_data
32
-
33
29
 
34
30
  @control_n_jobs(decorated_methods=["fit", "predict", "score"])
35
- class SVR(_sklearn_SVR, BaseSVR):
31
+ class SVR(BaseSVR, _sklearn_SVR):
36
32
  __doc__ = _sklearn_SVR.__doc__
37
33
 
38
34
  if sklearn_check_version("1.2"):
@@ -144,22 +140,14 @@ class SVR(_sklearn_SVR, BaseSVR):
144
140
  self._save_attributes()
145
141
 
146
142
  def _onedal_predict(self, X, queue=None):
147
- if sklearn_check_version("1.0"):
148
- X = validate_data(
149
- self,
150
- X,
151
- dtype=[np.float64, np.float32],
152
- force_all_finite=False,
153
- accept_sparse="csr",
154
- reset=False,
155
- )
156
- else:
157
- X = check_array(
158
- X,
159
- dtype=[np.float64, np.float32],
160
- force_all_finite=False,
161
- accept_sparse="csr",
162
- )
143
+ X = validate_data(
144
+ self,
145
+ X,
146
+ dtype=[np.float64, np.float32],
147
+ ensure_all_finite=False,
148
+ accept_sparse="csr",
149
+ reset=False,
150
+ )
163
151
  return self._onedal_estimator.predict(X, queue=queue)
164
152
 
165
153
  fit.__doc__ = _sklearn_SVR.fit.__doc__
@@ -26,13 +26,16 @@ from contextlib import redirect_stdout
26
26
  from multiprocessing import Pipe, Process, get_context
27
27
 
28
28
  import pytest
29
+ from sklearn.base import BaseEstimator
29
30
  from sklearn.utils import all_estimators
30
31
 
31
32
  from daal4py.sklearn._utils import sklearn_check_version
32
33
  from onedal.tests.test_common import _check_primitive_usage_ban
34
+ from sklearnex.base import oneDALEstimator
33
35
  from sklearnex.tests.utils import (
34
36
  PATCHED_MODELS,
35
37
  SPECIAL_INSTANCES,
38
+ UNPATCHED_MODELS,
36
39
  call_method,
37
40
  gen_dataset,
38
41
  gen_models_info,
@@ -176,6 +179,28 @@ def test_all_estimators_covered(monkeypatch):
176
179
  ), f"{uncovered_estimators} are currently not included"
177
180
 
178
181
 
182
+ def test_oneDALEstimator_inheritance(monkeypatch):
183
+ """All sklearnex estimators should inherit the oneDALEstimator class, sklearnex-only
184
+ estimators should have it inherit oneDAL estimator one step before BaseEstimator in the
185
+ mro. This is only strictly set for non-preview estimators"""
186
+ monkeypatch.setattr(pkgutil, "walk_packages", _sklearnex_walk(pkgutil.walk_packages))
187
+ estimators = all_estimators() # list of tuples
188
+ for name, obj in estimators:
189
+ if "preview" not in obj.__module__ and "daal4py" not in obj.__module__:
190
+ assert issubclass(
191
+ obj, oneDALEstimator
192
+ ), f"{name} does not inherit the oneDALEstimator"
193
+ # oneDAL estimator should be inherited from before BaseEstimator
194
+ mro = obj.__mro__
195
+ assert mro.index(oneDALEstimator) < mro.index(
196
+ BaseEstimator
197
+ ), f"incorrect mro in {name}"
198
+ if not any([issubclass(obj, est) for est in UNPATCHED_MODELS.values()]):
199
+ assert (
200
+ mro[mro.index(oneDALEstimator) + 1] is BaseEstimator
201
+ ), f"oneDALEstimator should be inherited just before BaseEstimator in {name}"
202
+
203
+
179
204
  def _fullpath(path):
180
205
  return os.path.realpath(os.path.expanduser(path))
181
206
 
@@ -406,22 +431,36 @@ def estimator_trace(estimator, method, cache, isolated_trace):
406
431
 
407
432
 
408
433
  def call_validate_data(text, estimator, method):
409
- """test that the sklearn function/attribute validate_data is
434
+ """test that both sklearnex wrapper for validate_data and
435
+ original sklearn function/method validate_data are
410
436
  called once before offloading to oneDAL in sklearnex"""
411
437
  try:
412
438
  # get last to_table call showing end of oneDAL input portion of code
413
439
  idx = len(text["funcs"]) - 1 - text["funcs"][::-1].index("to_table")
414
- validfuncs = text["funcs"][:idx]
440
+ valid_funcs = text["funcs"][:idx]
441
+ valid_modules = text["modules"][:idx]
415
442
  except ValueError:
416
443
  pytest.skip("onedal backend not used in this function")
417
444
 
418
- validate_data = "validate_data" if sklearn_check_version("1.6") else "_validate_data"
445
+ validate_data_calls = []
446
+ for func, module in zip(valid_funcs, valid_modules):
447
+ if func.endswith("validate_data"):
448
+ validate_data_calls.append({module, func})
419
449
 
420
450
  assert (
421
- validfuncs.count(validate_data) == 1
422
- ), f"sklearn's {validate_data} should be called"
451
+ len(validate_data_calls) == 2
452
+ ), "validate_data should be called two times: once for sklearn and once for sklearnex"
453
+ assert validate_data_calls[0] == {
454
+ "sklearnex.utils.validation",
455
+ "validate_data",
456
+ }, "sklearnex's validate_data should be called first"
457
+ assert (
458
+ (validate_data_calls[1] == {"sklearn.utils.validation", "validate_data"})
459
+ if sklearn_check_version("1.6")
460
+ else (validate_data_calls[1] == {"sklearn.base", "_validate_data"})
461
+ ), "sklearn's validate_data should be called second"
423
462
  assert (
424
- validfuncs.count("_check_feature_names") == 1
463
+ valid_funcs.count("_check_feature_names") == 1
425
464
  ), "estimator should check feature names in validate_data"
426
465
 
427
466
 
@@ -467,11 +506,12 @@ def fit_check_before_support_check(text, estimator, method):
467
506
  pytest.skip(f"fitting occurs in {estimator}.{method}")
468
507
 
469
508
 
470
- DESIGN_RULES = [n_jobs_check, runtime_property_check, fit_check_before_support_check]
471
-
472
-
473
- if sklearn_check_version("1.0"):
474
- DESIGN_RULES += [call_validate_data]
509
+ DESIGN_RULES = [
510
+ n_jobs_check,
511
+ runtime_property_check,
512
+ fit_check_before_support_check,
513
+ call_validate_data,
514
+ ]
475
515
 
476
516
 
477
517
  @pytest.mark.parametrize("design_pattern", DESIGN_RULES)