scikit-learn-intelex 2025.2.0__py310-none-win_amd64.whl → 2025.5.0__py310-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.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
  2. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +1 -1
  4. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
  5. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +855 -0
  6. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
  7. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +99 -91
  8. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
  9. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
  10. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  11. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
  12. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
  13. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
  14. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  15. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  16. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
  17. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  18. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
  19. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
  20. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
  21. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
  22. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
  23. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +2 -2
  24. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
  25. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
  26. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
  27. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
  28. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
  29. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
  30. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  31. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  32. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_device_offload.py +79 -83
  33. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
  34. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
  35. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
  36. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  37. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  38. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  39. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
  40. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
  41. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  42. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
  43. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  44. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
  45. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
  46. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
  47. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
  48. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  49. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
  50. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  51. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
  52. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
  53. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
  54. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  55. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
  56. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
  57. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
  58. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  59. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
  60. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
  61. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
  62. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
  63. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
  64. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +1 -13
  65. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -1
  66. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
  67. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +147 -0
  68. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
  69. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  70. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  71. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  72. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
  73. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +143 -0
  74. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_utils.py +66 -6
  75. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +13 -20
  76. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +34 -40
  77. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +8 -10
  78. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +4 -8
  79. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +42 -60
  80. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +10 -18
  81. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  83. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +108 -364
  84. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +6 -6
  87. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +41 -126
  88. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +48 -91
  89. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +56 -42
  90. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +38 -73
  91. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +16 -20
  92. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +60 -1
  93. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +2 -2
  94. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +6 -2
  95. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +1 -3
  98. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +5 -5
  100. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +31 -73
  101. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +30 -70
  102. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +5 -13
  103. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +9 -15
  104. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +48 -62
  105. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
  106. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
  107. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
  108. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
  109. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
  110. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
  111. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
  112. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
  113. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
  114. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
  115. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
  116. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
  117. {scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/mb → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors}/__init__.py +2 -2
  118. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
  119. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +14 -27
  120. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +35 -128
  121. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +9 -21
  122. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +33 -126
  123. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +9 -21
  124. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +26 -11
  125. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +16 -23
  126. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
  127. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
  128. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  129. {scikit_learn_intelex-2025.2.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/METADATA +38 -77
  130. scikit_learn_intelex-2025.5.0.dist-info/RECORD +257 -0
  131. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
  132. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
  133. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
  134. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
  135. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  136. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  137. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  138. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  139. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  140. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  141. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  142. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  143. scikit_learn_intelex-2025.2.0.dist-info/RECORD +0 -259
  144. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  145. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  146. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  147. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  148. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  150. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  151. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  153. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  154. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  155. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  156. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  157. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  158. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  159. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  160. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  161. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  162. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  163. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  164. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  165. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  166. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  167. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  168. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  169. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  170. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  171. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  172. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  174. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  175. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  176. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  177. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  178. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  179. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  180. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  181. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  182. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  183. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  184. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  185. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  186. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  187. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  188. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  189. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  190. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  191. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  192. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  193. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  195. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  196. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  197. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  198. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  199. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  200. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  201. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  202. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  204. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  205. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  207. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  208. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  209. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  210. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  211. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  212. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  213. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  214. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  215. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  216. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  217. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  218. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  219. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  220. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  221. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  222. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  223. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  224. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  225. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  226. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  227. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  228. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  229. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  230. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  231. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  233. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  235. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  237. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  238. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  239. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  240. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  241. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  242. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  243. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  244. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  245. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  247. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  248. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  250. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  251. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  252. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  253. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  254. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  255. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  256. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
  257. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  258. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  259. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  260. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -0
  261. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
  262. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  263. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  264. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  265. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  266. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  267. {scikit_learn_intelex-2025.2.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  268. {scikit_learn_intelex-2025.2.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/LICENSE.txt +0 -0
  269. {scikit_learn_intelex-2025.2.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/WHEEL +0 -0
  270. {scikit_learn_intelex-2025.2.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/top_level.txt +0 -0
@@ -16,13 +16,28 @@
16
16
 
17
17
  import logging
18
18
  import os
19
+ import re
20
+ import sys
19
21
  import warnings
20
22
  from abc import ABC
21
23
 
24
+ import sklearn
25
+
22
26
  from daal4py.sklearn._utils import (
23
27
  PatchingConditionsChain as daal4py_PatchingConditionsChain,
24
28
  )
25
- from daal4py.sklearn._utils import daal_check_version
29
+ from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
30
+
31
+ # Note: if inheriting from '_HTMLDocumentationLinkMixin' here, it then doesn't matter
32
+ # the order of inheritance of classes for estimators when this is later subclassed,
33
+ # whereas if inheriting from something else, the subclass that inherits from this needs
34
+ # to be the first inherited class in estimators in order for it to take effect.
35
+ if sklearn_check_version("1.4"):
36
+ from sklearn.utils._estimator_html_repr import _HTMLDocumentationLinkMixin
37
+
38
+ BaseForHTMLDocLink = _HTMLDocumentationLinkMixin
39
+ else:
40
+ BaseForHTMLDocLink = ABC
26
41
 
27
42
 
28
43
  class PatchingConditionsChain(daal4py_PatchingConditionsChain):
@@ -37,7 +52,7 @@ class PatchingConditionsChain(daal4py_PatchingConditionsChain):
37
52
  else:
38
53
  self.logger.debug(
39
54
  f"{self.scope_name}: debugging for the patch is enabled to track"
40
- " the usage of Intel® oneAPI Data Analytics Library (oneDAL)"
55
+ " the usage of oneAPI Data Analytics Library (oneDAL)"
41
56
  )
42
57
  for message in self.messages:
43
58
  self.logger.debug(
@@ -128,10 +143,8 @@ def register_hyperparameters(hyperparameters_map):
128
143
 
129
144
 
130
145
  # This abstract class is meant to generate a clickable doc link for classses
131
- # in sklearnex that are not part of base scikit-learn. It should be inherited
132
- # before inheriting from a scikit-learn estimator, otherwise will get overriden
133
- # by the estimator's original.
134
- class IntelEstimator(ABC):
146
+ # in sklearnex that are not part of base scikit-learn.
147
+ class ExtensionEstimator(BaseForHTMLDocLink):
135
148
  @property
136
149
  def _doc_link_module(self) -> str:
137
150
  return "sklearnex"
@@ -141,3 +154,50 @@ class IntelEstimator(ABC):
141
154
  module_path, _ = self.__class__.__module__.rsplit(".", 1)
142
155
  class_name = self.__class__.__name__
143
156
  return f"https://uxlfoundation.github.io/scikit-learn-intelex/latest/non-scikit-algorithms.html#{module_path}.{class_name}"
157
+
158
+
159
+ def _add_inc_serialization_note(class_docstrings: str) -> str:
160
+ """Adds a small note note about serialization for extension estimators that are incremental.
161
+ The class docstrings should leave a placeholder '%incremental_serialization_note%' inside
162
+ their docstrings, which will be replaced by this note.
163
+ """
164
+ # In python versions >=3.13, leading whitespace in docstrings defined through
165
+ # static strings (but **not through other ways**) is automatically removed
166
+ # from the final docstrings, while in earlier versions is kept.
167
+ inc_serialization_note = """Note
168
+ ----
169
+ Serializing instances of this class will trigger a forced finalization of calculations
170
+ when the inputs are in a sycl queue or when using GPUs. Since (internal method)
171
+ finalize_fit can't be dispatched without directly provided queue and the dispatching
172
+ policy can't be serialized, the computation is finalized during serialization call and
173
+ the policy is not saved in serialized data."""
174
+ if sys.version_info.major == 3 and sys.version_info.minor <= 12:
175
+ inc_serialization_note = re.sub(
176
+ r"^", " " * 4, inc_serialization_note, flags=re.MULTILINE
177
+ )
178
+ inc_serialization_note = inc_serialization_note.strip()
179
+ return class_docstrings.replace(
180
+ r"%incremental_serialization_note%", inc_serialization_note
181
+ )
182
+
183
+
184
+ # This abstract class is meant to generate a clickable doc link for classses
185
+ # in sklearnex that have counterparts in scikit-learn.
186
+ class PatchableEstimator(BaseForHTMLDocLink):
187
+ @property
188
+ def _doc_link_module(self) -> str:
189
+ return "sklearnex"
190
+
191
+ @property
192
+ def _doc_link_template(self) -> str:
193
+ if re.search(r"^\d\.\d\.\d$", sklearn.__version__):
194
+ sklearn_version_parts = sklearn.__version__.split(".")
195
+ doc_version_url = sklearn_version_parts[0] + "." + sklearn_version_parts[1]
196
+ else:
197
+ doc_version_url = "stable"
198
+ module_path, _ = self.__class__.__module__.rsplit(".", 1)
199
+ module_path = re.sub("sklearnex", "sklearn", module_path)
200
+ class_name = self.__class__.__name__
201
+ # for TSNE, which re-uses daal4py
202
+ module_path = re.sub(r"daal4py\.", "", module_path)
203
+ return f"https://scikit-learn.org/{doc_version_url}/modules/generated/{module_path}.{class_name}.html"
@@ -25,22 +25,18 @@ from sklearn.utils.validation import _check_sample_weight
25
25
  from daal4py.sklearn._n_jobs_support import control_n_jobs
26
26
  from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
27
27
  from onedal.basic_statistics import BasicStatistics as onedal_BasicStatistics
28
- from onedal.utils import _is_csr
28
+ from onedal.utils.validation import _is_csr
29
29
 
30
30
  from .._device_offload import dispatch
31
- from .._utils import IntelEstimator, PatchingConditionsChain
32
-
33
- if sklearn_check_version("1.6"):
34
- from sklearn.utils.validation import validate_data
35
- else:
36
- validate_data = BaseEstimator._validate_data
31
+ from .._utils import ExtensionEstimator, PatchingConditionsChain
32
+ from ..utils.validation import validate_data
37
33
 
38
34
  if sklearn_check_version("1.2"):
39
35
  from sklearn.utils._param_validation import StrOptions
40
36
 
41
37
 
42
38
  @control_n_jobs(decorated_methods=["fit"])
43
- class BasicStatistics(IntelEstimator, BaseEstimator):
39
+ class BasicStatistics(ExtensionEstimator, BaseEstimator):
44
40
  """
45
41
  Estimator for basic statistics.
46
42
  Allows to compute basic statistics for provided data.
@@ -204,16 +200,13 @@ class BasicStatistics(IntelEstimator, BaseEstimator):
204
200
  if sklearn_check_version("1.2"):
205
201
  self._validate_params()
206
202
 
207
- if sklearn_check_version("1.0"):
208
- X = validate_data(
209
- self,
210
- X,
211
- dtype=[np.float64, np.float32],
212
- ensure_2d=False,
213
- accept_sparse="csr",
214
- )
215
- else:
216
- X = check_array(X, dtype=[np.float64, np.float32])
203
+ X = validate_data(
204
+ self,
205
+ X,
206
+ dtype=[np.float64, np.float32],
207
+ ensure_2d=False,
208
+ accept_sparse="csr",
209
+ )
217
210
 
218
211
  if sample_weight is not None:
219
212
  sample_weight = _check_sample_weight(sample_weight, X)
@@ -224,11 +217,11 @@ class BasicStatistics(IntelEstimator, BaseEstimator):
224
217
 
225
218
  if not hasattr(self, "_onedal_estimator"):
226
219
  self._onedal_estimator = self._onedal_basic_statistics(**onedal_params)
227
- self._onedal_estimator.fit(X, sample_weight, queue)
220
+ self._onedal_estimator.fit(X, sample_weight, queue=queue)
228
221
  self._save_attributes()
229
222
  self.n_features_in_ = X.shape[1] if len(X.shape) > 1 else 1
230
223
 
231
- def fit(self, X, y=None, *, sample_weight=None):
224
+ def fit(self, X, y=None, sample_weight=None):
232
225
  """Calculate statistics of X.
233
226
 
234
227
  Parameters
@@ -25,8 +25,14 @@ from onedal.basic_statistics import (
25
25
  IncrementalBasicStatistics as onedal_IncrementalBasicStatistics,
26
26
  )
27
27
 
28
+ from .._config import get_config
28
29
  from .._device_offload import dispatch
29
- from .._utils import IntelEstimator, PatchingConditionsChain
30
+ from .._utils import (
31
+ ExtensionEstimator,
32
+ PatchingConditionsChain,
33
+ _add_inc_serialization_note,
34
+ )
35
+ from ..utils.validation import validate_data
30
36
 
31
37
  if sklearn_check_version("1.2"):
32
38
  from sklearn.utils._param_validation import Interval, StrOptions
@@ -34,14 +40,9 @@ if sklearn_check_version("1.2"):
34
40
  import numbers
35
41
  import warnings
36
42
 
37
- if sklearn_check_version("1.6"):
38
- from sklearn.utils.validation import validate_data
39
- else:
40
- validate_data = BaseEstimator._validate_data
41
-
42
43
 
43
44
  @control_n_jobs(decorated_methods=["partial_fit", "_onedal_finalize_fit"])
44
- class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
45
+ class IncrementalBasicStatistics(ExtensionEstimator, BaseEstimator):
45
46
  """
46
47
  Calculates basic statistics on the given data, allows for computation when the data are split into
47
48
  batches. The user can use ``partial_fit`` method to provide a single batch of data or use the ``fit`` method to provide
@@ -103,18 +104,13 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
103
104
  ----
104
105
  Attribute exists only if corresponding result option has been provided.
105
106
 
106
- Note
107
- ----
108
- Serializing instances of this class will trigger a forced finalization of calculations.
109
- Since finalize_fit can't be dispatched without directly provided queue
110
- and the dispatching policy can't be serialized, the computation is finalized
111
- during serialization call and the policy is not saved in serialized data.
112
-
113
107
  Note
114
108
  ----
115
109
  Names of attributes without the trailing underscore are
116
110
  supported currently but deprecated in 2025.1 and will be removed in 2026.0
117
111
 
112
+ %incremental_serialization_note%
113
+
118
114
  Examples
119
115
  --------
120
116
  >>> import numpy as np
@@ -134,6 +130,8 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
134
130
  np.array([3., 4.])
135
131
  """
136
132
 
133
+ __doc__ = _add_inc_serialization_note(__doc__)
134
+
137
135
  _onedal_incremental_basic_statistics = staticmethod(onedal_IncrementalBasicStatistics)
138
136
 
139
137
  if sklearn_check_version("1.2"):
@@ -186,29 +184,26 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
186
184
  assert isinstance(onedal_options, str)
187
185
  return options
188
186
 
189
- def _onedal_finalize_fit(self, queue=None):
187
+ def _onedal_finalize_fit(self):
190
188
  assert hasattr(self, "_onedal_estimator")
191
- self._onedal_estimator.finalize_fit(queue=queue)
189
+ self._onedal_estimator.finalize_fit()
192
190
  self._need_to_finalize = False
193
191
 
194
192
  def _onedal_partial_fit(self, X, sample_weight=None, queue=None, check_input=True):
195
193
  first_pass = not hasattr(self, "n_samples_seen_") or self.n_samples_seen_ == 0
196
194
 
195
+ use_raw_input = get_config().get("use_raw_input", False) is True
196
+ # never check input when using raw input
197
+ check_input &= use_raw_input is False
197
198
  if check_input:
198
- if sklearn_check_version("1.0"):
199
- X = validate_data(
200
- self,
201
- X,
202
- dtype=[np.float64, np.float32],
203
- reset=first_pass,
204
- )
205
- else:
206
- X = check_array(
207
- X,
208
- dtype=[np.float64, np.float32],
209
- )
199
+ X = validate_data(
200
+ self,
201
+ X,
202
+ dtype=[np.float64, np.float32],
203
+ reset=first_pass,
204
+ )
210
205
 
211
- if sample_weight is not None:
206
+ if not use_raw_input and sample_weight is not None:
212
207
  sample_weight = _check_sample_weight(sample_weight, X)
213
208
 
214
209
  if first_pass:
@@ -228,16 +223,15 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
228
223
  self._need_to_finalize = True
229
224
 
230
225
  def _onedal_fit(self, X, sample_weight=None, queue=None):
231
- if sklearn_check_version("1.2"):
232
- self._validate_params()
226
+ use_raw_input = get_config().get("use_raw_input", False) is True
227
+ if not use_raw_input:
228
+ if sklearn_check_version("1.2"):
229
+ self._validate_params()
233
230
 
234
- if sklearn_check_version("1.0"):
235
231
  X = validate_data(self, X, dtype=[np.float64, np.float32])
236
- else:
237
- X = check_array(X, dtype=[np.float64, np.float32])
238
232
 
239
- if sample_weight is not None:
240
- sample_weight = _check_sample_weight(sample_weight, X)
233
+ if sample_weight is not None:
234
+ sample_weight = _check_sample_weight(sample_weight, X)
241
235
 
242
236
  n_samples, n_features = X.shape
243
237
  if self.batch_size is None:
@@ -258,7 +252,7 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
258
252
 
259
253
  self.n_features_in_ = X.shape[1]
260
254
 
261
- self._onedal_finalize_fit(queue=queue)
255
+ self._onedal_finalize_fit()
262
256
 
263
257
  return self
264
258
 
@@ -303,7 +297,7 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
303
297
 
304
298
  Returns
305
299
  -------
306
- self : object
300
+ self : IncrementalBasicStatistics
307
301
  Returns the instance itself.
308
302
  """
309
303
  dispatch(
@@ -320,7 +314,7 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
320
314
  return self
321
315
 
322
316
  def fit(self, X, y=None, sample_weight=None):
323
- """Calculate statistics of X using minibatches of size batch_size.
317
+ """Calculate statistics of X using minibatches of size ``batch_size``.
324
318
 
325
319
  Parameters
326
320
  ----------
@@ -336,7 +330,7 @@ class IncrementalBasicStatistics(IntelEstimator, BaseEstimator):
336
330
 
337
331
  Returns
338
332
  -------
339
- self : object
333
+ self : IncrementalBasicStatistics
340
334
  Returns the instance itself.
341
335
  """
342
336
  dispatch(
@@ -25,17 +25,14 @@ from daal4py.sklearn._n_jobs_support import control_n_jobs
25
25
  from daal4py.sklearn._utils import sklearn_check_version
26
26
  from onedal.cluster import DBSCAN as onedal_DBSCAN
27
27
 
28
+ from .._config import get_config
28
29
  from .._device_offload import dispatch
29
- from .._utils import PatchingConditionsChain
30
+ from .._utils import PatchableEstimator, PatchingConditionsChain
31
+ from ..utils.validation import validate_data
30
32
 
31
33
  if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
32
34
  from sklearn.utils import check_scalar
33
35
 
34
- if sklearn_check_version("1.6"):
35
- from sklearn.utils.validation import validate_data
36
- else:
37
- validate_data = _sklearn_DBSCAN._validate_data
38
-
39
36
 
40
37
  class BaseDBSCAN(ABC):
41
38
  def _onedal_dbscan(self, **onedal_params):
@@ -51,7 +48,7 @@ class BaseDBSCAN(ABC):
51
48
 
52
49
 
53
50
  @control_n_jobs(decorated_methods=["fit"])
54
- class DBSCAN(_sklearn_DBSCAN, BaseDBSCAN):
51
+ class DBSCAN(PatchableEstimator, _sklearn_DBSCAN, BaseDBSCAN):
55
52
  __doc__ = _sklearn_DBSCAN.__doc__
56
53
 
57
54
  if sklearn_check_version("1.2"):
@@ -89,8 +86,8 @@ class DBSCAN(_sklearn_DBSCAN, BaseDBSCAN):
89
86
  self.n_jobs = n_jobs
90
87
 
91
88
  def _onedal_fit(self, X, y, sample_weight=None, queue=None):
92
- if sklearn_check_version("1.0"):
93
- X = validate_data(self, X, force_all_finite=False)
89
+ if get_config()["use_raw_input"] is False:
90
+ X = validate_data(self, X, ensure_all_finite=False)
94
91
 
95
92
  onedal_params = {
96
93
  "eps": self.eps,
@@ -178,7 +175,8 @@ class DBSCAN(_sklearn_DBSCAN, BaseDBSCAN):
178
175
  if self.eps <= 0.0:
179
176
  raise ValueError(f"eps == {self.eps}, must be > 0.0.")
180
177
 
181
- if sample_weight is not None:
178
+ use_raw_input = get_config().get("use_raw_input", False) is True
179
+ if not use_raw_input and sample_weight is not None:
182
180
  sample_weight = _check_sample_weight(sample_weight, X)
183
181
  dispatch(
184
182
  self,
@@ -36,18 +36,14 @@ if daal_check_version((2023, "P", 200)):
36
36
  from daal4py.sklearn._n_jobs_support import control_n_jobs
37
37
  from daal4py.sklearn._utils import sklearn_check_version
38
38
  from onedal.cluster import KMeans as onedal_KMeans
39
- from onedal.utils import _is_csr
39
+ from onedal.utils.validation import _is_csr
40
40
 
41
41
  from .._device_offload import dispatch, wrap_output_data
42
- from .._utils import PatchingConditionsChain
43
-
44
- if sklearn_check_version("1.6"):
45
- from sklearn.utils.validation import validate_data
46
- else:
47
- validate_data = _sklearn_KMeans._validate_data
42
+ from .._utils import PatchableEstimator, PatchingConditionsChain
43
+ from ..utils.validation import validate_data
48
44
 
49
45
  @control_n_jobs(decorated_methods=["fit", "fit_transform", "predict", "score"])
50
- class KMeans(_sklearn_KMeans):
46
+ class KMeans(PatchableEstimator, _sklearn_KMeans):
51
47
  __doc__ = _sklearn_KMeans.__doc__
52
48
 
53
49
  if sklearn_check_version("1.2"):
@@ -32,22 +32,24 @@ from onedal.covariance import (
32
32
  )
33
33
  from sklearnex import config_context
34
34
 
35
+ from .._config import get_config
35
36
  from .._device_offload import dispatch, wrap_output_data
36
- from .._utils import IntelEstimator, PatchingConditionsChain, register_hyperparameters
37
+ from .._utils import (
38
+ ExtensionEstimator,
39
+ PatchingConditionsChain,
40
+ _add_inc_serialization_note,
41
+ register_hyperparameters,
42
+ )
37
43
  from ..metrics import pairwise_distances
38
44
  from ..utils._array_api import get_namespace
45
+ from ..utils.validation import check_feature_names, validate_data
39
46
 
40
47
  if sklearn_check_version("1.2"):
41
48
  from sklearn.utils._param_validation import Interval
42
49
 
43
- if sklearn_check_version("1.6"):
44
- from sklearn.utils.validation import validate_data
45
- else:
46
- validate_data = BaseEstimator._validate_data
47
-
48
50
 
49
51
  @control_n_jobs(decorated_methods=["partial_fit", "fit", "_onedal_finalize_fit"])
50
- class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
52
+ class IncrementalEmpiricalCovariance(ExtensionEstimator, BaseEstimator):
51
53
  """
52
54
  Maximum likelihood covariance estimator that allows for the estimation when the data are split into
53
55
  batches. The user can use the ``partial_fit`` method to provide a single batch of data or use the ``fit`` method to provide
@@ -92,12 +94,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
92
94
  n_features_in_ : int
93
95
  Number of features seen during ``fit`` or ``partial_fit``.
94
96
 
95
- Note
96
- ----
97
- Serializing instances of this class will trigger a forced finalization of calculations.
98
- Since finalize_fit can't be dispatched without directly provided queue
99
- and the dispatching policy can't be serialized, the computation is finalized
100
- during serialization and the policy is not saved in serialized data.
97
+ %incremental_serialization_note%
101
98
 
102
99
  Examples
103
100
  --------
@@ -118,6 +115,8 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
118
115
  np.array([2., 3.])
119
116
  """
120
117
 
118
+ __doc__ = _add_inc_serialization_note(__doc__)
119
+
121
120
  _onedal_incremental_covariance = staticmethod(onedal_IncrementalEmpiricalCovariance)
122
121
 
123
122
  if sklearn_check_version("1.2"):
@@ -145,9 +144,9 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
145
144
  )
146
145
  return patching_status
147
146
 
148
- def _onedal_finalize_fit(self, queue=None):
147
+ def _onedal_finalize_fit(self):
149
148
  assert hasattr(self, "_onedal_estimator")
150
- self._onedal_estimator.finalize_fit(queue=queue)
149
+ self._onedal_estimator.finalize_fit()
151
150
  self._need_to_finalize = False
152
151
 
153
152
  if not daal_check_version((2024, "P", 400)) and self.assume_centered:
@@ -184,30 +183,24 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
184
183
  )
185
184
 
186
185
  def _onedal_partial_fit(self, X, queue=None, check_input=True):
187
-
188
186
  first_pass = not hasattr(self, "n_samples_seen_") or self.n_samples_seen_ == 0
189
187
 
188
+ use_raw_input = get_config().get("use_raw_input", False) is True
189
+ # never check input when using raw input
190
+ check_input &= use_raw_input is False
190
191
  # finite check occurs on onedal side
191
192
  if check_input:
192
193
  if sklearn_check_version("1.2"):
193
194
  self._validate_params()
194
195
 
195
- if sklearn_check_version("1.0"):
196
- X = validate_data(
197
- self,
198
- X,
199
- dtype=[np.float64, np.float32],
200
- reset=first_pass,
201
- copy=self.copy,
202
- force_all_finite=False,
203
- )
204
- else:
205
- X = check_array(
206
- X,
207
- dtype=[np.float64, np.float32],
208
- copy=self.copy,
209
- force_all_finite=False,
210
- )
196
+ X = validate_data(
197
+ self,
198
+ X,
199
+ dtype=[np.float64, np.float32],
200
+ reset=first_pass,
201
+ copy=self.copy,
202
+ ensure_all_finite=False,
203
+ )
211
204
 
212
205
  onedal_params = {
213
206
  "method": "dense",
@@ -235,18 +228,12 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
235
228
 
236
229
  check_is_fitted(self)
237
230
  location = self.location_
238
- if sklearn_check_version("1.0"):
239
- X = validate_data(
240
- self,
241
- X_test,
242
- dtype=[np.float64, np.float32],
243
- reset=False,
244
- )
245
- else:
246
- X = check_array(
247
- X_test,
248
- dtype=[np.float64, np.float32],
249
- )
231
+ X = validate_data(
232
+ self,
233
+ X_test,
234
+ dtype=[np.float64, np.float32],
235
+ reset=False,
236
+ )
250
237
 
251
238
  if "numpy" not in xp.__name__:
252
239
  location = xp.asarray(location, device=X_test.device)
@@ -286,7 +273,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
286
273
 
287
274
  Returns
288
275
  -------
289
- self : object
276
+ self : IncrementalEmpiricalCovariance
290
277
  Returns the instance itself.
291
278
  """
292
279
  return dispatch(
@@ -302,7 +289,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
302
289
 
303
290
  def fit(self, X, y=None):
304
291
  """
305
- Fit the model with X, using minibatches of size batch_size.
292
+ Fit the model with X, using minibatches of size ``batch_size``.
306
293
 
307
294
  Parameters
308
295
  ----------
@@ -315,7 +302,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
315
302
 
316
303
  Returns
317
304
  -------
318
- self : object
305
+ self : IncrementalEmpiricalCovariance
319
306
  Returns the instance itself.
320
307
  """
321
308
 
@@ -334,23 +321,19 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
334
321
  if hasattr(self, "_onedal_estimator"):
335
322
  self._onedal_estimator._reset()
336
323
 
337
- if sklearn_check_version("1.2"):
338
- self._validate_params()
324
+ use_raw_input = get_config().get("use_raw_input", False) is True
325
+ if not use_raw_input:
326
+ if sklearn_check_version("1.2"):
327
+ self._validate_params()
339
328
 
340
- # finite check occurs on onedal side
341
- if sklearn_check_version("1.0"):
329
+ # finite check occurs on onedal side
342
330
  X = validate_data(
343
331
  self,
344
332
  X,
345
333
  dtype=[np.float64, np.float32],
346
334
  copy=self.copy,
347
- force_all_finite=False,
348
- )
349
- else:
350
- X = check_array(
351
- X, dtype=[np.float64, np.float32], copy=self.copy, force_all_finite=False
335
+ ensure_all_finite=False,
352
336
  )
353
- self.n_features_in_ = X.shape[1]
354
337
 
355
338
  self.batch_size_ = self.batch_size if self.batch_size else 5 * self.n_features_in_
356
339
 
@@ -363,14 +346,13 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
363
346
  X_batch = X[batch]
364
347
  self._onedal_partial_fit(X_batch, queue=queue, check_input=False)
365
348
 
366
- self._onedal_finalize_fit(queue=queue)
349
+ self._onedal_finalize_fit()
367
350
 
368
351
  return self
369
352
 
370
353
  # expose sklearnex pairwise_distances if mahalanobis distance eventually supported
371
354
  def mahalanobis(self, X):
372
- if sklearn_check_version("1.0"):
373
- self._check_feature_names(X, reset=False)
355
+ check_feature_names(self, X, reset=False)
374
356
 
375
357
  xp, _ = get_namespace(X)
376
358
  precision = self.get_precision()
@@ -18,6 +18,8 @@ import logging
18
18
 
19
19
  from daal4py.sklearn._utils import daal_check_version
20
20
 
21
+ from .._utils import PatchableEstimator
22
+
21
23
  if daal_check_version((2024, "P", 100)):
22
24
  import numbers
23
25
  from math import sqrt
@@ -33,6 +35,7 @@ if daal_check_version((2024, "P", 100)):
33
35
  from .._device_offload import dispatch, wrap_output_data
34
36
  from .._utils import PatchingConditionsChain
35
37
  from ..utils._array_api import get_namespace
38
+ from ..utils.validation import validate_data
36
39
 
37
40
  if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
38
41
  from sklearn.utils import check_scalar
@@ -44,13 +47,8 @@ if daal_check_version((2024, "P", 100)):
44
47
 
45
48
  from onedal.decomposition import PCA as onedal_PCA
46
49
 
47
- if sklearn_check_version("1.6"):
48
- from sklearn.utils.validation import validate_data
49
- else:
50
- validate_data = _sklearn_PCA._validate_data
51
-
52
50
  @control_n_jobs(decorated_methods=["fit", "transform", "fit_transform"])
53
- class PCA(_sklearn_PCA):
51
+ class PCA(PatchableEstimator, _sklearn_PCA):
54
52
  __doc__ = _sklearn_PCA.__doc__
55
53
 
56
54
  if sklearn_check_version("1.2"):
@@ -182,18 +180,12 @@ if daal_check_version((2024, "P", 100)):
182
180
  )
183
181
 
184
182
  def _onedal_transform(self, X, queue=None):
185
- if sklearn_check_version("1.0"):
186
- X = validate_data(
187
- self,
188
- X,
189
- dtype=[np.float64, np.float32],
190
- reset=False,
191
- )
192
- else:
193
- X = check_array(
194
- X,
195
- dtype=[np.float64, np.float32],
196
- )
183
+ X = validate_data(
184
+ self,
185
+ X,
186
+ dtype=[np.float64, np.float32],
187
+ reset=False,
188
+ )
197
189
  self._validate_n_features_in_after_fitting(X)
198
190
 
199
191
  return self._onedal_estimator.predict(X, queue=queue)