scikit-learn-intelex 2025.4.0__py312-none-win_amd64.whl → 2025.6.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.

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.cp312-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.cp312-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.cp312-win_amd64.pyd +0 -0
  33. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-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.cp312-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.cp312-win_amd64.pyd +0 -0
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-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
@@ -15,7 +15,6 @@
15
15
  # ===============================================================================
16
16
 
17
17
  import logging
18
- from abc import ABC
19
18
 
20
19
  import numpy as np
21
20
  from sklearn.linear_model import LinearRegression as _sklearn_LinearRegression
@@ -27,14 +26,11 @@ from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
27
26
 
28
27
  from .._config import get_config
29
28
  from .._device_offload import dispatch, wrap_output_data
30
- from .._utils import (
31
- PatchableEstimator,
32
- PatchingConditionsChain,
33
- get_patch_message,
34
- register_hyperparameters,
35
- )
36
-
37
- if sklearn_check_version("1.0") and not sklearn_check_version("1.2"):
29
+ from .._utils import PatchingConditionsChain, get_patch_message, register_hyperparameters
30
+ from ..base import oneDALEstimator
31
+ from ..utils.validation import validate_data
32
+
33
+ if not sklearn_check_version("1.2"):
38
34
  from sklearn.linear_model._base import _deprecate_normalize
39
35
 
40
36
  from scipy.sparse import issparse
@@ -42,17 +38,12 @@ from sklearn.utils.validation import check_is_fitted, check_X_y
42
38
 
43
39
  from onedal.common.hyperparameters import get_hyperparameters
44
40
  from onedal.linear_model import LinearRegression as onedal_LinearRegression
45
- from onedal.utils import _num_features, _num_samples
46
-
47
- if sklearn_check_version("1.6"):
48
- from sklearn.utils.validation import validate_data
49
- else:
50
- validate_data = _sklearn_LinearRegression._validate_data
41
+ from onedal.utils.validation import _num_features, _num_samples
51
42
 
52
43
 
53
44
  @register_hyperparameters({"fit": get_hyperparameters("linear_regression", "train")})
54
45
  @control_n_jobs(decorated_methods=["fit", "predict", "score"])
55
- class LinearRegression(PatchableEstimator, _sklearn_LinearRegression):
46
+ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
56
47
  __doc__ = _sklearn_LinearRegression.__doc__
57
48
 
58
49
  if sklearn_check_version("1.2"):
@@ -60,26 +51,46 @@ class LinearRegression(PatchableEstimator, _sklearn_LinearRegression):
60
51
  **_sklearn_LinearRegression._parameter_constraints
61
52
  }
62
53
 
63
- def __init__(
64
- self,
65
- fit_intercept=True,
66
- copy_X=True,
67
- n_jobs=None,
68
- positive=False,
69
- ):
70
- super().__init__(
71
- fit_intercept=fit_intercept,
72
- copy_X=copy_X,
73
- n_jobs=n_jobs,
74
- positive=positive,
75
- )
54
+ if sklearn_check_version("1.7"):
55
+
56
+ def __init__(
57
+ self,
58
+ fit_intercept=True,
59
+ copy_X=True,
60
+ tol=1e-06, # for sparse solver only, not used by oneDAL
61
+ n_jobs=None,
62
+ positive=False,
63
+ ):
64
+ super().__init__(
65
+ fit_intercept=fit_intercept,
66
+ copy_X=copy_X,
67
+ tol=tol,
68
+ n_jobs=n_jobs,
69
+ positive=positive,
70
+ )
71
+
72
+ else:
73
+
74
+ def __init__(
75
+ self,
76
+ fit_intercept=True,
77
+ copy_X=True,
78
+ n_jobs=None,
79
+ positive=False,
80
+ ):
81
+ super().__init__(
82
+ fit_intercept=fit_intercept,
83
+ copy_X=copy_X,
84
+ n_jobs=n_jobs,
85
+ positive=positive,
86
+ )
76
87
 
77
88
  else:
78
89
 
79
90
  def __init__(
80
91
  self,
81
92
  fit_intercept=True,
82
- normalize="deprecated" if sklearn_check_version("1.0") else False,
93
+ normalize="deprecated",
83
94
  copy_X=True,
84
95
  n_jobs=None,
85
96
  positive=False,
@@ -246,20 +257,17 @@ class LinearRegression(PatchableEstimator, _sklearn_LinearRegression):
246
257
  assert sample_weight is None
247
258
 
248
259
  supports_multi_output = daal_check_version((2025, "P", 1))
249
- check_params = {
250
- "X": X,
251
- "y": y,
252
- "dtype": [np.float64, np.float32],
253
- "accept_sparse": ["csr", "csc", "coo"],
254
- "y_numeric": True,
255
- "multi_output": supports_multi_output,
256
- }
257
- if sklearn_check_version("1.0"):
258
- X, y = validate_data(self, **check_params)
259
- else:
260
- X, y = check_X_y(**check_params)
260
+ X, y = validate_data(
261
+ self,
262
+ X=X,
263
+ y=y,
264
+ dtype=[np.float64, np.float32],
265
+ accept_sparse=["csr", "csc", "coo"],
266
+ y_numeric=True,
267
+ multi_output=supports_multi_output,
268
+ )
261
269
 
262
- if sklearn_check_version("1.0") and not sklearn_check_version("1.2"):
270
+ if not sklearn_check_version("1.2"):
263
271
  self._normalize = _deprecate_normalize(
264
272
  self.normalize,
265
273
  default=False,
@@ -287,10 +295,7 @@ class LinearRegression(PatchableEstimator, _sklearn_LinearRegression):
287
295
  self._save_attributes()
288
296
 
289
297
  def _onedal_predict(self, X, queue=None):
290
- if sklearn_check_version("1.0"):
291
- X = validate_data(self, X, accept_sparse=False, reset=False)
292
- else:
293
- X = check_array(X, accept_sparse=False)
298
+ X = validate_data(self, X, accept_sparse=False, reset=False)
294
299
 
295
300
  if not hasattr(self, "_onedal_estimator"):
296
301
  self._initialize_onedal_estimator()
@@ -34,28 +34,16 @@ if daal_check_version((2024, "P", 1)):
34
34
  from daal4py.sklearn._utils import sklearn_check_version
35
35
  from daal4py.sklearn.linear_model.logistic_path import daal4py_fit, daal4py_predict
36
36
  from onedal.linear_model import LogisticRegression as onedal_LogisticRegression
37
- from onedal.utils import _num_samples
37
+ from onedal.utils.validation import _num_samples
38
38
 
39
39
  from .._config import get_config
40
40
  from .._device_offload import dispatch, wrap_output_data
41
- from .._utils import PatchableEstimator, PatchingConditionsChain, get_patch_message
42
-
43
- if sklearn_check_version("1.6"):
44
- from sklearn.utils.validation import validate_data
45
- else:
46
- validate_data = _sklearn_LogisticRegression._validate_data
41
+ from .._utils import PatchingConditionsChain, get_patch_message
42
+ from ..base import oneDALEstimator
43
+ from ..utils.validation import validate_data
47
44
 
48
45
  _sparsity_enabled = daal_check_version((2024, "P", 700))
49
46
 
50
- class BaseLogisticRegression(ABC):
51
- def _onedal_gpu_save_attributes(self):
52
- assert hasattr(self, "_onedal_estimator")
53
- self.classes_ = self._onedal_estimator.classes_
54
- self.coef_ = self._onedal_estimator.coef_
55
- self.intercept_ = self._onedal_estimator.intercept_
56
- self.n_features_in_ = self._onedal_estimator.n_features_in_
57
- self.n_iter_ = self._onedal_estimator.n_iter_
58
-
59
47
  @control_n_jobs(
60
48
  decorated_methods=[
61
49
  "fit",
@@ -65,9 +53,7 @@ if daal_check_version((2024, "P", 1)):
65
53
  "score",
66
54
  ]
67
55
  )
68
- class LogisticRegression(
69
- PatchableEstimator, _sklearn_LogisticRegression, BaseLogisticRegression
70
- ):
56
+ class LogisticRegression(oneDALEstimator, _sklearn_LogisticRegression):
71
57
  __doc__ = _sklearn_LogisticRegression.__doc__
72
58
 
73
59
  if sklearn_check_version("1.2"):
@@ -114,6 +100,14 @@ if daal_check_version((2024, "P", 1)):
114
100
 
115
101
  _onedal_cpu_fit = daal4py_fit
116
102
 
103
+ def _onedal_gpu_save_attributes(self):
104
+ assert hasattr(self, "_onedal_estimator")
105
+ self.classes_ = self._onedal_estimator.classes_
106
+ self.coef_ = self._onedal_estimator.coef_
107
+ self.intercept_ = self._onedal_estimator.intercept_
108
+ self.n_features_in_ = self._onedal_estimator.n_features_in_
109
+ self.n_iter_ = self._onedal_estimator.n_iter_
110
+
117
111
  def fit(self, X, y, sample_weight=None):
118
112
  if sklearn_check_version("1.2"):
119
113
  self._validate_params()
@@ -293,23 +287,14 @@ if daal_check_version((2024, "P", 1)):
293
287
 
294
288
  assert sample_weight is None
295
289
 
296
- if sklearn_check_version("1.0"):
297
- X, y = validate_data(
298
- self,
299
- X,
300
- y,
301
- accept_sparse=_sparsity_enabled,
302
- accept_large_sparse=_sparsity_enabled,
303
- dtype=[np.float64, np.float32],
304
- )
305
- else:
306
- X, y = check_X_y(
307
- X,
308
- y,
309
- accept_sparse=_sparsity_enabled,
310
- accept_large_sparse=_sparsity_enabled,
311
- dtype=[np.float64, np.float32],
312
- )
290
+ X, y = validate_data(
291
+ self,
292
+ X,
293
+ y,
294
+ accept_sparse=_sparsity_enabled,
295
+ accept_large_sparse=_sparsity_enabled,
296
+ dtype=[np.float64, np.float32],
297
+ )
313
298
 
314
299
  self._onedal_gpu_initialize_estimator()
315
300
  try:
@@ -332,22 +317,14 @@ if daal_check_version((2024, "P", 1)):
332
317
  if queue is None or queue.sycl_device.is_cpu:
333
318
  return daal4py_predict(self, X, "computeClassLabels")
334
319
 
335
- if sklearn_check_version("1.0"):
336
- X = validate_data(
337
- self,
338
- X,
339
- reset=False,
340
- accept_sparse=_sparsity_enabled,
341
- accept_large_sparse=_sparsity_enabled,
342
- dtype=[np.float64, np.float32],
343
- )
344
- else:
345
- X = check_array(
346
- X,
347
- accept_sparse=_sparsity_enabled,
348
- accept_large_sparse=_sparsity_enabled,
349
- dtype=[np.float64, np.float32],
350
- )
320
+ X = validate_data(
321
+ self,
322
+ X,
323
+ reset=False,
324
+ accept_sparse=_sparsity_enabled,
325
+ accept_large_sparse=_sparsity_enabled,
326
+ dtype=[np.float64, np.float32],
327
+ )
351
328
 
352
329
  assert hasattr(self, "_onedal_estimator")
353
330
  return self._onedal_estimator.predict(X, queue=queue)
@@ -356,22 +333,14 @@ if daal_check_version((2024, "P", 1)):
356
333
  if queue is None or queue.sycl_device.is_cpu:
357
334
  return daal4py_predict(self, X, "computeClassProbabilities")
358
335
 
359
- if sklearn_check_version("1.0"):
360
- X = validate_data(
361
- self,
362
- X,
363
- reset=False,
364
- accept_sparse=_sparsity_enabled,
365
- accept_large_sparse=_sparsity_enabled,
366
- dtype=[np.float64, np.float32],
367
- )
368
- else:
369
- X = check_array(
370
- X,
371
- accept_sparse=_sparsity_enabled,
372
- accept_large_sparse=_sparsity_enabled,
373
- dtype=[np.float64, np.float32],
374
- )
336
+ X = validate_data(
337
+ self,
338
+ X,
339
+ reset=False,
340
+ accept_sparse=_sparsity_enabled,
341
+ accept_large_sparse=_sparsity_enabled,
342
+ dtype=[np.float64, np.float32],
343
+ )
375
344
 
376
345
  assert hasattr(self, "_onedal_estimator")
377
346
  return self._onedal_estimator.predict_proba(X, queue=queue)
@@ -380,22 +349,14 @@ if daal_check_version((2024, "P", 1)):
380
349
  if queue is None or queue.sycl_device.is_cpu:
381
350
  return daal4py_predict(self, X, "computeClassLogProbabilities")
382
351
 
383
- if sklearn_check_version("1.0"):
384
- X = validate_data(
385
- self,
386
- X,
387
- reset=False,
388
- accept_sparse=_sparsity_enabled,
389
- accept_large_sparse=_sparsity_enabled,
390
- dtype=[np.float64, np.float32],
391
- )
392
- else:
393
- X = check_array(
394
- X,
395
- accept_sparse=_sparsity_enabled,
396
- accept_large_sparse=_sparsity_enabled,
397
- dtype=[np.float64, np.float32],
398
- )
352
+ X = validate_data(
353
+ self,
354
+ X,
355
+ reset=False,
356
+ accept_sparse=_sparsity_enabled,
357
+ accept_large_sparse=_sparsity_enabled,
358
+ dtype=[np.float64, np.float32],
359
+ )
399
360
 
400
361
  assert hasattr(self, "_onedal_estimator")
401
362
  return self._onedal_estimator.predict_log_proba(X, queue=queue)
@@ -35,18 +35,15 @@ if daal_check_version((2024, "P", 600)):
35
35
  from sklearn.utils import check_scalar
36
36
 
37
37
  from onedal.linear_model import Ridge as onedal_Ridge
38
- from onedal.utils import _num_features, _num_samples
38
+ from onedal.utils.validation import _num_features, _num_samples
39
39
 
40
40
  from .._device_offload import dispatch, wrap_output_data
41
- from .._utils import PatchableEstimator, PatchingConditionsChain
42
-
43
- if sklearn_check_version("1.6"):
44
- from sklearn.utils.validation import validate_data
45
- else:
46
- validate_data = _sklearn_Ridge._validate_data
41
+ from .._utils import PatchingConditionsChain
42
+ from ..base import oneDALEstimator
43
+ from ..utils.validation import validate_data
47
44
 
48
45
  @control_n_jobs(decorated_methods=["fit", "predict", "score"])
49
- class Ridge(PatchableEstimator, _sklearn_Ridge):
46
+ class Ridge(oneDALEstimator, _sklearn_Ridge):
50
47
  __doc__ = _sklearn_Ridge.__doc__
51
48
 
52
49
  if sklearn_check_version("1.2"):
@@ -307,15 +304,15 @@ if daal_check_version((2024, "P", 600)):
307
304
  include_boundaries="left",
308
305
  )
309
306
 
310
- check_params = {
311
- "X": X,
312
- "y": y,
313
- "dtype": [np.float64, np.float32],
314
- "accept_sparse": ["csr", "csc", "coo"],
315
- "y_numeric": True,
316
- "multi_output": True,
317
- }
318
- X, y = validate_data(self, **check_params)
307
+ X, y = validate_data(
308
+ self,
309
+ X=X,
310
+ y=y,
311
+ dtype=[np.float64, np.float32],
312
+ accept_sparse=["csr", "csc", "coo"],
313
+ y_numeric=True,
314
+ multi_output=True,
315
+ )
319
316
 
320
317
  if not sklearn_check_version("1.2"):
321
318
  self._normalize = _deprecate_normalize(
@@ -383,8 +380,8 @@ else:
383
380
  from daal4py.sklearn.linear_model import Ridge
384
381
  from onedal._device_offload import support_input_format
385
382
 
386
- Ridge.fit = support_input_format(queue_param=False)(Ridge.fit)
387
- Ridge.predict = support_input_format(queue_param=False)(Ridge.predict)
388
- Ridge.score = support_input_format(queue_param=False)(Ridge.score)
383
+ Ridge.fit = support_input_format(Ridge.fit)
384
+ Ridge.predict = support_input_format(Ridge.predict)
385
+ Ridge.score = support_input_format(Ridge.score)
389
386
 
390
387
  logging.warning("Ridge requires oneDAL version >= 2024.6 but it was not found")
@@ -29,13 +29,71 @@ from onedal.tests.utils._dataframes_support import (
29
29
  from sklearnex.tests.utils import _IS_INTEL
30
30
 
31
31
 
32
+ # Note: this is arranged as a fixture with a finalizer instead of as a parameter
33
+ # 'True' / 'False' in order to undo the changes later so that it doesn't affect
34
+ # other tests afterwards. It returns a function instead of making the change
35
+ # directly, in order to avoid importing the estimator class before the import test
36
+ # itself, but it still needs to import the class inside the the function that it
37
+ # returns due to serialization logic in pytest causing differences w.r.t. current
38
+ # closure where the function is called.
39
+ @pytest.fixture(params=[False, True])
40
+ def non_batched_route(request):
41
+ def change_parameters(queue, macro_block):
42
+ from sklearnex.linear_model import LinearRegression
43
+
44
+ if request.param and daal_check_version((2025, "P", 500)):
45
+ if queue and queue.sycl_device.is_gpu:
46
+ pytest.skip("Test for CPU-only functionality")
47
+ if macro_block is not None:
48
+ pytest.skip("Parameter combination with no effect")
49
+
50
+ non_batched_route.curr_cpu_max_cols_batched = (
51
+ LinearRegression.get_hyperparameters("fit").cpu_max_cols_batched
52
+ )
53
+ non_batched_route.curr_cpu_small_rows_threshold = (
54
+ LinearRegression.get_hyperparameters("fit").cpu_small_rows_threshold
55
+ )
56
+ non_batched_route.curr_cpu_small_rows_max_cols_batched = (
57
+ LinearRegression.get_hyperparameters(
58
+ "fit"
59
+ ).cpu_small_rows_max_cols_batched
60
+ )
61
+ LinearRegression.get_hyperparameters("fit").cpu_max_cols_batched = 1
62
+ LinearRegression.get_hyperparameters("fit").cpu_small_rows_threshold = 1
63
+ LinearRegression.get_hyperparameters(
64
+ "fit"
65
+ ).cpu_small_rows_max_cols_batched = 1
66
+
67
+ elif request.param and not daal_check_version((2025, "P", 500)):
68
+ pytest.skip("Functionality introduced in later versions")
69
+
70
+ def restore_params():
71
+ from sklearnex.linear_model import LinearRegression
72
+
73
+ if request.param and daal_check_version((2025, "P", 500)):
74
+ LinearRegression.get_hyperparameters("fit").cpu_max_cols_batched = (
75
+ non_batched_route.curr_cpu_max_cols_batched
76
+ )
77
+ LinearRegression.get_hyperparameters("fit").cpu_small_rows_threshold = (
78
+ non_batched_route.curr_cpu_small_rows_threshold
79
+ )
80
+ LinearRegression.get_hyperparameters(
81
+ "fit"
82
+ ).cpu_small_rows_max_cols_batched = (
83
+ non_batched_route.curr_cpu_small_rows_max_cols_batched
84
+ )
85
+
86
+ request.addfinalizer(restore_params)
87
+ return change_parameters
88
+
89
+
32
90
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
33
91
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
34
92
  @pytest.mark.parametrize("macro_block", [None, 1024])
35
93
  @pytest.mark.parametrize("overdetermined", [False, True])
36
94
  @pytest.mark.parametrize("multi_output", [False, True])
37
95
  def test_sklearnex_import_linear(
38
- dataframe, queue, dtype, macro_block, overdetermined, multi_output
96
+ dataframe, queue, dtype, macro_block, non_batched_route, overdetermined, multi_output
39
97
  ):
40
98
  if (not overdetermined or multi_output) and not daal_check_version((2025, "P", 1)):
41
99
  pytest.skip("Functionality introduced in later versions")
@@ -65,6 +123,7 @@ def test_sklearnex_import_linear(
65
123
  hparams = LinearRegression.get_hyperparameters("fit")
66
124
  hparams.cpu_macro_block = macro_block
67
125
  hparams.gpu_macro_block = macro_block
126
+ non_batched_route(queue, macro_block)
68
127
 
69
128
  X = X.astype(dtype=dtype)
70
129
  y = y.astype(dtype=dtype)
@@ -49,7 +49,7 @@ def test_sklearnex_multiclass_classification(dataframe, queue):
49
49
  from sklearnex.linear_model import LogisticRegression
50
50
 
51
51
  X, y = load_iris(return_X_y=True)
52
- X_train, X_test, y_train, y_test = prepare_input(X, y, dataframe, queue)
52
+ X_train, X_test, y_train, y_test = prepare_input(X, y, dataframe, queue=queue)
53
53
 
54
54
  logreg = LogisticRegression(fit_intercept=True, solver="lbfgs", max_iter=200).fit(
55
55
  X_train, y_train
@@ -72,7 +72,7 @@ def test_sklearnex_binary_classification(dataframe, queue):
72
72
  from sklearnex.linear_model import LogisticRegression
73
73
 
74
74
  X, y = load_breast_cancer(return_X_y=True)
75
- X_train, X_test, y_train, y_test = prepare_input(X, y, dataframe, queue)
75
+ X_train, X_test, y_train, y_test = prepare_input(X, y, dataframe, queue=queue)
76
76
 
77
77
  logreg = LogisticRegression(fit_intercept=True, solver="newton-cg", max_iter=100).fit(
78
78
  X_train, y_train
@@ -14,13 +14,15 @@
14
14
  # limitations under the License.
15
15
  # ===============================================================================
16
16
 
17
- from daal4py.sklearn._n_jobs_support import control_n_jobs
17
+ from daal4py.sklearn._utils import sklearn_check_version
18
18
  from daal4py.sklearn.manifold import TSNE
19
19
  from onedal._device_offload import support_input_format
20
20
 
21
- from .._utils import PatchableEstimator
21
+ from ..base import oneDALEstimator
22
22
 
23
- TSNE.fit = support_input_format(queue_param=False)(TSNE.fit)
24
- TSNE.fit_transform = support_input_format(queue_param=False)(TSNE.fit_transform)
25
- TSNE._doc_link_module = "daal4py"
26
- TSNE._doc_link_template = PatchableEstimator._doc_link_template
23
+ TSNE.fit = support_input_format(TSNE.fit)
24
+ TSNE.fit_transform = support_input_format(TSNE.fit_transform)
25
+
26
+ if sklearn_check_version("1.4"):
27
+ TSNE._doc_link_module = "daal4py"
28
+ TSNE._doc_link_url_param_generator = oneDALEstimator._doc_link_url_param_generator
@@ -17,6 +17,4 @@
17
17
  from daal4py.sklearn.metrics import pairwise_distances
18
18
  from onedal._device_offload import support_input_format
19
19
 
20
- pairwise_distances = support_input_format(freefunc=True, queue_param=False)(
21
- pairwise_distances
22
- )
20
+ pairwise_distances = support_input_format(pairwise_distances)
@@ -17,4 +17,4 @@
17
17
  from daal4py.sklearn.metrics import roc_auc_score
18
18
  from onedal._device_offload import support_input_format
19
19
 
20
- roc_auc_score = support_input_format(freefunc=True, queue_param=False)(roc_auc_score)
20
+ roc_auc_score = support_input_format(roc_auc_score)
@@ -17,6 +17,4 @@
17
17
  from daal4py.sklearn.model_selection import train_test_split
18
18
  from onedal._device_offload import support_input_format
19
19
 
20
- train_test_split = support_input_format(freefunc=True, queue_param=False)(
21
- train_test_split
22
- )
20
+ train_test_split = support_input_format(train_test_split)
@@ -15,6 +15,7 @@
15
15
  # ===============================================================================
16
16
 
17
17
  import warnings
18
+ from functools import wraps
18
19
 
19
20
  import numpy as np
20
21
  from sklearn.neighbors import LocalOutlierFactor as _sklearn_LocalOutlierFactor
@@ -28,11 +29,7 @@ from sklearnex.neighbors.common import KNeighborsDispatchingBase
28
29
  from sklearnex.neighbors.knn_unsupervised import NearestNeighbors
29
30
 
30
31
  from ..utils._array_api import get_namespace
31
-
32
- if sklearn_check_version("1.6"):
33
- from sklearn.utils.validation import validate_data
34
- else:
35
- validate_data = _sklearn_LocalOutlierFactor._validate_data
32
+ from ..utils.validation import check_feature_names
36
33
 
37
34
 
38
35
  @control_n_jobs(decorated_methods=["fit", "kneighbors", "_kneighbors"])
@@ -59,7 +56,7 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, _sklearn_LocalOutlierFactor)
59
56
  if sklearn_check_version("1.2"):
60
57
  self._validate_params()
61
58
 
62
- self._onedal_knn_fit(X, y, queue)
59
+ self._onedal_knn_fit(X, y, queue=queue)
63
60
 
64
61
  if self.contamination != "auto":
65
62
  if not (0.0 < self.contamination <= 0.5):
@@ -146,34 +143,15 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, _sklearn_LocalOutlierFactor)
146
143
  # This would cause issues in fit_predict. Also, available_if
147
144
  # is hard to unwrap, and this is the most straighforward way.
148
145
  @available_if(_sklearn_LocalOutlierFactor._check_novelty_fit_predict)
146
+ @wraps(_sklearn_LocalOutlierFactor.fit_predict, assigned=["__doc__"])
149
147
  @wrap_output_data
150
148
  def fit_predict(self, X, y=None):
151
- """Fit the model to the training set X and return the labels.
152
-
153
- **Not available for novelty detection (when novelty is set to True).**
154
- Label is 1 for an inlier and -1 for an outlier according to the LOF
155
- score and the contamination parameter.
156
-
157
- Parameters
158
- ----------
159
- X : {array-like, sparse matrix} of shape (n_samples, n_features), default=None
160
- The query sample or samples to compute the Local Outlier Factor
161
- w.r.t. the training samples.
162
-
163
- y : Ignored
164
- Not used, present for API consistency by convention.
165
-
166
- Returns
167
- -------
168
- is_inlier : ndarray of shape (n_samples,)
169
- Returns -1 for anomalies/outliers and 1 for inliers.
170
- """
171
149
  return self.fit(X)._predict()
172
150
 
173
151
  def _kneighbors(self, X=None, n_neighbors=None, return_distance=True):
174
152
  check_is_fitted(self)
175
- if sklearn_check_version("1.0") and X is not None:
176
- self._check_feature_names(X, reset=False)
153
+ if X is not None:
154
+ check_feature_names(self, X, reset=False)
177
155
  return dispatch(
178
156
  self,
179
157
  "kneighbors",
@@ -189,34 +167,9 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, _sklearn_LocalOutlierFactor)
189
167
  kneighbors = wrap_output_data(_kneighbors)
190
168
 
191
169
  @available_if(_sklearn_LocalOutlierFactor._check_novelty_score_samples)
170
+ @wraps(_sklearn_LocalOutlierFactor.score_samples, assigned=["__doc__"])
192
171
  @wrap_output_data
193
172
  def score_samples(self, X):
194
- """Opposite of the Local Outlier Factor of X.
195
-
196
- It is the opposite as bigger is better, i.e. large values correspond
197
- to inliers.
198
-
199
- **Only available for novelty detection (when novelty is set to True).**
200
- The argument X is supposed to contain *new data*: if X contains a
201
- point from training, it considers the later in its own neighborhood.
202
- Also, the samples in X are not considered in the neighborhood of any
203
- point. Because of this, the scores obtained via ``score_samples`` may
204
- differ from the standard LOF scores.
205
- The standard LOF scores for the training data is available via the
206
- ``negative_outlier_factor_`` attribute.
207
-
208
- Parameters
209
- ----------
210
- X : {array-like, sparse matrix} of shape (n_samples, n_features)
211
- The query sample or samples to compute the Local Outlier Factor
212
- w.r.t. the training samples.
213
-
214
- Returns
215
- -------
216
- opposite_lof_scores : ndarray of shape (n_samples,)
217
- The opposite of the Local Outlier Factor of each input samples.
218
- The lower, the more abnormal.
219
- """
220
173
  check_is_fitted(self)
221
174
 
222
175
  distances_X, neighbors_indices_X = self._kneighbors(