scikit-learn-intelex 2025.4.0__py39-none-win_amd64.whl → 2025.5.0__py39-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 (269) hide show
  1. {scikit_learn_intelex-2025.4.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.cp39-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
  9. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  11. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  31. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  32. {scikit_learn_intelex-2025.4.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.cp39-win_amd64.pyd +0 -0
  34. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
  35. {scikit_learn_intelex-2025.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  38. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  39. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  42. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  44. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  49. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  51. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  55. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  59. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  70. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  71. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  72. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_utils.py +28 -2
  75. {scikit_learn_intelex-2025.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +6 -8
  78. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +2 -6
  79. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -17
  81. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +106 -362
  84. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +42 -85
  89. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +48 -39
  90. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +34 -71
  91. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +14 -18
  92. {scikit_learn_intelex-2025.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +2 -3
  95. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +3 -3
  100. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -13
  104. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +12 -25
  120. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +35 -128
  121. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +9 -21
  122. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +33 -126
  123. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +9 -21
  124. {scikit_learn_intelex-2025.4.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.4.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.4.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.4.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.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  129. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/METADATA +2 -2
  130. scikit_learn_intelex-2025.5.0.dist-info/RECORD +257 -0
  131. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
  132. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
  133. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  142. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
  143. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  144. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  145. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  146. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  147. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  150. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  151. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  152. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  153. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  154. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  155. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  156. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  157. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  158. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  159. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  160. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  161. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  162. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  163. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  164. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  165. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  166. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  167. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  168. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  169. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  170. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  171. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  172. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  174. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  175. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  176. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  177. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  178. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  180. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  181. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  182. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  183. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  184. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  185. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  186. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  187. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  188. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  189. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  190. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  191. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  192. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  193. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  194. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  195. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  196. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  197. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  198. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  199. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  200. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  201. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  202. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  203. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  204. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  206. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  207. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  208. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  209. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  210. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  211. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  213. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  214. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  215. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  217. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  218. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  219. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  220. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  221. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  223. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  224. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  225. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  227. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  229. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  231. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  232. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  233. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  234. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  235. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  237. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  238. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  240. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  241. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  242. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  243. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  244. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  245. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  246. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  247. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  249. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  250. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  251. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  252. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  253. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  255. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
  256. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  257. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  258. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  259. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -0
  260. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
  261. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  262. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  263. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  264. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  265. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  266. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  267. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/LICENSE.txt +0 -0
  268. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/WHEEL +0 -0
  269. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,217 @@
1
+ # Copyright contributors to the oneDAL project
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ import re
15
+ import sys
16
+
17
+ import numpy as np
18
+
19
+ from .. import (
20
+ classifier_prediction_result,
21
+ logistic_regression_model_builder,
22
+ logistic_regression_prediction,
23
+ )
24
+
25
+ _docstring_X = """Parameters
26
+ ----------
27
+ X : array-like(n_samples, n_features)
28
+ The features / covariates for each row. Can be passed as either a NumPy array
29
+ or as a sparse CSR array/matrix from SciPy. For faster results, use the same
30
+ dtype as what this object was built for."""
31
+ if (sys.version_info.major == 3) and (sys.version_info.minor <= 12):
32
+ _docstring_X = re.sub("^", " " * 8, _docstring_X, flags=re.MULTILINE).strip()
33
+
34
+
35
+ class LogisticDAALModel:
36
+ """
37
+ Logistic Regression Predictor
38
+
39
+ Creates a logistic regression or multionomial logistic regression model object
40
+ which can calculate fast predictions of different types (classes, probabilities,
41
+ logarithms of probabilities), from fitted coefficients and intercepts obtained
42
+ elsewhere (such as from :obj:`sklearn.linear_model.LogisticRegression`), making
43
+ the predictions either in double (``np.float64``) or single (``np.float32``)
44
+ precision.
45
+
46
+ See Also
47
+ --------
48
+ :obj:`sklearn.linear_model.LogisticRegression`, :obj:`sklearn.linear_model.SGDClassifier`,
49
+ :obj:`daal4py.classifier_prediction_result`.
50
+
51
+ Parameters
52
+ ----------
53
+ coefs : array(n_classes, n_features) or array(n_features,)
54
+ The fitted model coefficients. Note that only dense arrays are supported.
55
+ In the case of binary classification, can be passed as a 1D array or as a
56
+ 2D array having a single row.
57
+ intercepts: array(n_classes) or float
58
+ The fitted intercepts. In the case of binary classification, must be passed
59
+ as either a scalar, or as a 1D array with a single entry.
60
+ dtype : np.float32 or np.float64
61
+ The dtype to use for the object.
62
+
63
+ Attributes
64
+ ----------
65
+ n_classes_ : int
66
+ Number of classes in the model.
67
+ n_features_in_ : int
68
+ Number of features in the model.
69
+ dtype_ : np.dtype
70
+ The dtype of the model
71
+ coef_ : array(n_classes, n_features)
72
+ The model coefficients
73
+ intercept_ : array(n_classes)
74
+ The model intercepts
75
+ """
76
+
77
+ def __init__(self, coefs, intercepts, dtype=np.float64):
78
+ assert dtype in [np.float32, np.float64]
79
+ coefs = np.require(coefs, requirements=["ENSUREARRAY"])
80
+ if len(coefs.shape) == 1:
81
+ coefs = coefs.reshape((1, -1))
82
+ self.n_features_in_ = coefs.shape[1]
83
+ self.n_classes_ = max(2, coefs.shape[0])
84
+ intercepts = np.require(intercepts, requirements=["ENSUREARRAY"]).reshape(-1)
85
+ if self.n_classes_ == 2:
86
+ assert len(intercepts) == 1
87
+ else:
88
+ assert intercepts.shape[0] == coefs.shape[0]
89
+ self._fptype = "float" if dtype == np.float32 else "double"
90
+ self.dtype_ = dtype
91
+ if coefs.dtype != self.dtype_:
92
+ coefs = coefs.astype(self.dtype_)
93
+ if intercepts.dtype != self.dtype_:
94
+ intercepts = intercepts.astype(self.dtype_)
95
+ builder = logistic_regression_model_builder(
96
+ n_classes=self.n_classes_, n_features=coefs.shape[1]
97
+ )
98
+ builder.set_beta(coefs, intercepts)
99
+ self._model = builder.model
100
+ self._alg_pred_class = logistic_regression_prediction(
101
+ nClasses=self.n_classes_,
102
+ fptype=self._fptype,
103
+ resultsToEvaluate="computeClassLabels",
104
+ )
105
+ self._alg_pred_prob = logistic_regression_prediction(
106
+ nClasses=self.n_classes_,
107
+ fptype=self._fptype,
108
+ resultsToEvaluate="computeClassProbabilities",
109
+ )
110
+ self._alg_pred_logprob = logistic_regression_prediction(
111
+ nClasses=self.n_classes_,
112
+ fptype=self._fptype,
113
+ resultsToEvaluate="computeClassLogProbabilities",
114
+ )
115
+
116
+ @property
117
+ def coef_(self):
118
+ return self._model.Beta[:, 1:]
119
+
120
+ @property
121
+ def intercept_(self):
122
+ return self._model.Beta[:, 0]
123
+
124
+ def predict(self, X) -> np.ndarray:
125
+ """
126
+ Predict most probable class
127
+
128
+ %docstring_X%
129
+
130
+ Returns
131
+ -------
132
+ classes : array(n_samples,)
133
+ The most probable class, as integer indexes
134
+ """
135
+ return (
136
+ self._alg_pred_class.compute(X, self._model)
137
+ .prediction.reshape(-1)
138
+ .astype(int)
139
+ )
140
+
141
+ predict.__doc__ = predict.__doc__.replace(r"%docstring_X%", _docstring_X)
142
+
143
+ def predict_proba(self, X) -> np.ndarray:
144
+ """
145
+ Predict probabilities of belonging to each class
146
+
147
+ %docstring_X%
148
+
149
+ Returns
150
+ -------
151
+ proba : array(n_samples, n_classes)
152
+ The predicted probabilities for each class.
153
+ """
154
+ return self._alg_pred_prob.compute(X, self._model).probabilities
155
+
156
+ predict_proba.__doc__ = predict_proba.__doc__.replace(r"%docstring_X%", _docstring_X)
157
+
158
+ def predict_log_proba(self, X) -> np.ndarray:
159
+ """
160
+ Predict log-probabilities of belonging to each class
161
+
162
+ %docstring_X%
163
+
164
+ Returns
165
+ -------
166
+ log_proba : array(n_samples, n_classes)
167
+ The logarithms of the predicted probabilities for each class.
168
+ """
169
+ return self._alg_pred_logprob.compute(X, self._model).logProbabilities
170
+
171
+ predict_log_proba.__doc__ = predict_log_proba.__doc__.replace(
172
+ r"%docstring_X%", _docstring_X
173
+ )
174
+
175
+ def predict_multiple(
176
+ self, X, classes: bool = True, proba: bool = True, log_proba: bool = True
177
+ ) -> classifier_prediction_result:
178
+ """
179
+ Make multiple prediction types at once
180
+
181
+ A method that can output the results from ``predict``, ``predict_proba``, and ``predict_log_proba``
182
+ all together in the same call more efficiently than computing them independently.
183
+
184
+ %docstring_X%
185
+ classes : bool
186
+ Whether to output class predictions (what is obtained from :meth:`predict`).
187
+ proba : bool
188
+ Whether to output per-class probability predictions (what is obtained from
189
+ :meth:`predict_proba`).
190
+ log_proba : bool
191
+ Whether to output per-class logarithms of probabilities (what is obtained
192
+ from :meth:`predict_log_proba`).
193
+
194
+ Returns
195
+ -------
196
+ predictions : classifier_prediction_result
197
+ An object of class :obj:`daal4py.classifier_prediction_result` with the requested
198
+ prediction types for the same ``X`` data.
199
+ """
200
+ pred_request = "|".join(
201
+ (["computeClassLabels"] if classes else [])
202
+ + (["computeClassProbabilities"] if proba else [])
203
+ + (["computeClassLogProbabilities"] if log_proba else [])
204
+ )
205
+ if not len(pred_request):
206
+ raise ValueError(
207
+ "Must request at least one of 'classes', 'proba', 'log_proba'."
208
+ )
209
+ return logistic_regression_prediction(
210
+ nClasses=self.n_classes_,
211
+ fptype=self._fptype,
212
+ resultsToEvaluate=pred_request,
213
+ ).compute(X, self._model)
214
+
215
+ predict_multiple.__doc__ = predict_multiple.__doc__.replace(
216
+ r"%docstring_X%", _docstring_X
217
+ )
@@ -32,6 +32,15 @@ except (ImportError, ModuleNotFoundError):
32
32
 
33
33
  from sklearn.utils.metaestimators import available_if
34
34
 
35
+ from .gbt_convertors import (
36
+ get_catboost_params,
37
+ get_gbt_model_from_catboost,
38
+ get_gbt_model_from_lightgbm,
39
+ get_gbt_model_from_xgboost,
40
+ get_lightgbm_params,
41
+ get_xgboost_params,
42
+ )
43
+
35
44
 
36
45
  def parse_dtype(dt):
37
46
  if dt == np.double:
@@ -85,18 +94,18 @@ class GBTDAALBaseModel:
85
94
  self.n_features_in_ = len(params["features_info"]["float_features"])
86
95
 
87
96
  def _convert_model_from_lightgbm(self, booster):
88
- lgbm_params = d4p.get_lightgbm_params(booster)
89
- self.daal_model_ = d4p.get_gbt_model_from_lightgbm(booster, lgbm_params)
97
+ lgbm_params = get_lightgbm_params(booster)
98
+ self.daal_model_ = get_gbt_model_from_lightgbm(booster, lgbm_params)
90
99
  self._get_params_from_lightgbm(lgbm_params)
91
100
 
92
101
  def _convert_model_from_xgboost(self, booster):
93
- xgb_params = d4p.get_xgboost_params(booster)
94
- self.daal_model_ = d4p.get_gbt_model_from_xgboost(booster, xgb_params)
102
+ xgb_params = get_xgboost_params(booster)
103
+ self.daal_model_ = get_gbt_model_from_xgboost(booster, xgb_params)
95
104
  self._get_params_from_xgboost(xgb_params)
96
105
 
97
106
  def _convert_model_from_catboost(self, booster):
98
- catboost_params = d4p.get_catboost_params(booster)
99
- self.daal_model_ = d4p.get_gbt_model_from_catboost(booster)
107
+ catboost_params = get_catboost_params(booster)
108
+ self.daal_model_ = get_gbt_model_from_catboost(booster)
100
109
  self._get_params_from_catboost(catboost_params)
101
110
 
102
111
  def _convert_model(self, model):
@@ -108,85 +117,31 @@ class GBTDAALBaseModel:
108
117
 
109
118
  # Build GBTDAALClassifier from LightGBM
110
119
  if (submodule_name, class_name) == ("lightgbm.sklearn", "LGBMClassifier"):
111
- if self_class_name == "GBTDAALClassifier":
112
- self._convert_model_from_lightgbm(model.booster_)
113
- else:
114
- raise TypeError(
115
- f"Only GBTDAALClassifier can be created from\
116
- {submodule_name}.{class_name} (got {self_class_name})"
117
- )
120
+ self._convert_model_from_lightgbm(model.booster_)
118
121
  # Build GBTDAALClassifier from XGBoost
119
122
  elif (submodule_name, class_name) == ("xgboost.sklearn", "XGBClassifier"):
120
- if self_class_name == "GBTDAALClassifier":
121
- self._convert_model_from_xgboost(model.get_booster())
122
- else:
123
- raise TypeError(
124
- f"Only GBTDAALClassifier can be created from\
125
- {submodule_name}.{class_name} (got {self_class_name})"
126
- )
123
+ self._convert_model_from_xgboost(model.get_booster())
127
124
  # Build GBTDAALClassifier from CatBoost
128
125
  elif (submodule_name, class_name) == ("catboost.core", "CatBoostClassifier"):
129
- if self_class_name == "GBTDAALClassifier":
130
- self._convert_model_from_catboost(model)
131
- else:
132
- raise TypeError(
133
- f"Only GBTDAALClassifier can be created from\
134
- {submodule_name}.{class_name} (got {self_class_name})"
135
- )
126
+ self._convert_model_from_catboost(model)
136
127
  # Build GBTDAALRegressor from LightGBM
137
128
  elif (submodule_name, class_name) == ("lightgbm.sklearn", "LGBMRegressor"):
138
- if self_class_name == "GBTDAALRegressor":
139
- self._convert_model_from_lightgbm(model.booster_)
140
- else:
141
- raise TypeError(
142
- f"Only GBTDAALRegressor can be created from\
143
- {submodule_name}.{class_name} (got {self_class_name})"
144
- )
129
+ self._convert_model_from_lightgbm(model.booster_)
145
130
  # Build GBTDAALRegressor from XGBoost
146
131
  elif (submodule_name, class_name) == ("xgboost.sklearn", "XGBRegressor"):
147
- if self_class_name == "GBTDAALRegressor":
148
- self._convert_model_from_xgboost(model.get_booster())
149
- else:
150
- raise TypeError(
151
- f"Only GBTDAALRegressor can be created from\
152
- {submodule_name}.{class_name} (got {self_class_name})"
153
- )
132
+ self._convert_model_from_xgboost(model.get_booster())
154
133
  # Build GBTDAALRegressor from CatBoost
155
134
  elif (submodule_name, class_name) == ("catboost.core", "CatBoostRegressor"):
156
- if self_class_name == "GBTDAALRegressor":
157
- self._convert_model_from_catboost(model)
158
- else:
159
- raise TypeError(
160
- f"Only GBTDAALRegressor can be created from\
161
- {submodule_name}.{class_name} (got {self_class_name})"
162
- )
135
+ self._convert_model_from_catboost(model)
163
136
  # Build GBTDAALModel from LightGBM
164
137
  elif (submodule_name, class_name) == ("lightgbm.basic", "Booster"):
165
- if self_class_name == "GBTDAALModel":
166
- self._convert_model_from_lightgbm(model)
167
- else:
168
- raise TypeError(
169
- f"Only GBTDAALModel can be created from\
170
- {submodule_name}.{class_name} (got {self_class_name})"
171
- )
138
+ self._convert_model_from_lightgbm(model)
172
139
  # Build GBTDAALModel from XGBoost
173
140
  elif (submodule_name, class_name) == ("xgboost.core", "Booster"):
174
- if self_class_name == "GBTDAALModel":
175
- self._convert_model_from_xgboost(model)
176
- else:
177
- raise TypeError(
178
- f"Only GBTDAALModel can be created from\
179
- {submodule_name}.{class_name} (got {self_class_name})"
180
- )
141
+ self._convert_model_from_xgboost(model)
181
142
  # Build GBTDAALModel from CatBoost
182
143
  elif (submodule_name, class_name) == ("catboost.core", "CatBoost"):
183
- if self_class_name == "GBTDAALModel":
184
- self._convert_model_from_catboost(model)
185
- else:
186
- raise TypeError(
187
- f"Only GBTDAALModel can be created from\
188
- {submodule_name}.{class_name} (got {self_class_name})"
189
- )
144
+ self._convert_model_from_catboost(model)
190
145
  else:
191
146
  raise TypeError(f"Unknown model format {submodule_name}.{class_name}")
192
147
 
@@ -335,7 +290,61 @@ class GBTDAALBaseModel:
335
290
 
336
291
 
337
292
  class GBTDAALModel(GBTDAALBaseModel):
338
- def predict(self, X, pred_contribs=False, pred_interactions=False):
293
+ """
294
+ Gradient Boosted Decision Tree Model
295
+
296
+ Model class offering accelerated predictions for gradient-boosted decision
297
+ tree models from other libraries.
298
+
299
+ Objects of this class are meant to be initialized from GBT model objects
300
+ created through other libraries, returning a different class which can calculate
301
+ predictions faster than the original library that created said model.
302
+
303
+ Can be created from model objects that meet all of the following criteria:
304
+
305
+ - Were produced from one of the following libraries: ``xgboost``, ``lightgbm``, or ``catboost``.
306
+ It can work with either the base booster classes of those libraries or with their
307
+ scikit-learn-compatible classes.
308
+ - Do not use categorical features.
309
+ - Are for regression or classification (e.g. no ranking). In the case of XGBoost objective
310
+ ``binary:logitraw``, it will create a classification model out of it, and in the case of
311
+ objective ``reg:logistic``, will create a regression model.
312
+ - Are not multi-output models. Note that multi-class classification **is** supported.
313
+
314
+ Parameters
315
+ ----------
316
+ model : booster object from another library
317
+ The fitted GBT model from which this object will be created. See rest of the documentation
318
+ for supported input types.
319
+ """
320
+
321
+ def __init__(self, model):
322
+ self._convert_model(model)
323
+ for type_str in ("xgboost", "lightgbm", "catboost"):
324
+ if type_str in str(type(model)):
325
+ self.model_type = type_str
326
+ break
327
+
328
+ def predict(
329
+ self, X, pred_contribs: bool = False, pred_interactions: bool = False
330
+ ) -> np.ndarray:
331
+ """
332
+ Compute model predictions on new data
333
+
334
+ Computes the predicted values of the response variable for new data given the features / covariates
335
+ for each row.
336
+
337
+ In the case of classification models, this will output the most probable class (see
338
+ :meth:`predict_proba` for probability predictions), while in the case of regression
339
+ models, will output values in the link scale (what XGBoost calls 'margin' and LightGBM
340
+ calls 'raw').
341
+
342
+ :param X: The features covariates. Should be an array of shape ``[num_samples, num_features]``.
343
+ :param bool pred_contribs: Whether to predict feature contributions. Result should have shape ``[num_samples, num_features+1]``, with the last column corresponding to the intercept. See :obj:`xgboost.Booster.predict` for more details about this type of computation.
344
+ :param bool pred_interactions: Whether to predict feature interactions. Result should have shape ``[num_samples, num_features+1, num_features+1]``, with the last position across the last two dimensions corresponding to the intercept. See :obj:`xgboost.Booster.predict` for more details about this type of computation.
345
+
346
+ :rtype: np.ndarray
347
+ """
339
348
  fptype = getFPType(X)
340
349
  if self._is_regression:
341
350
  return self._predict_regression(X, fptype, pred_contribs, pred_interactions)
@@ -348,30 +357,29 @@ class GBTDAALModel(GBTDAALBaseModel):
348
357
  X, fptype, "computeClassLabels", pred_contribs, pred_interactions
349
358
  )
350
359
 
351
- def _check_proba(self):
360
+ @property
361
+ def is_classifier_(self) -> bool:
362
+ """Whether this is a classification model"""
352
363
  return not self._is_regression
353
364
 
354
- @available_if(_check_proba)
355
- def predict_proba(self, X):
356
- fptype = getFPType(X)
357
- return self._predict_classification(X, fptype, "computeClassProbabilities")
365
+ @property
366
+ def is_regressor_(self) -> bool:
367
+ """Whether this is a regression model"""
368
+ return self._is_regression
358
369
 
370
+ def _check_proba(self):
371
+ return not self._is_regression
359
372
 
360
- def convert_model(model):
361
- try:
362
- gbm = GBTDAALModel()
363
- gbm._convert_model(model)
364
- except TypeError as err:
365
- if "Only GBTDAALRegressor can be created" in str(err):
366
- gbm = d4p.sklearn.ensemble.GBTDAALRegressor.convert_model(model)
367
- elif "Only GBTDAALClassifier can be created" in str(err):
368
- gbm = d4p.sklearn.ensemble.GBTDAALClassifier.convert_model(model)
369
- else:
370
- raise
373
+ @available_if(_check_proba)
374
+ def predict_proba(self, X) -> np.ndarray:
375
+ """
376
+ Predict class probabilities
371
377
 
372
- for type_str in ("xgboost", "lightgbm", "catboost"):
373
- if type_str in str(type(model)):
374
- gbm.model_type = type_str
375
- break
378
+ Computes the predicted probabilities of belonging to each class for each row in the
379
+ input data given the features / covariates. Output shape is ``[num_samples, num_classes]``.
376
380
 
377
- return gbm
381
+ :param X: The features covariates. Should be an array of shape ``[num_samples, num_features]``.
382
+ :rtype: np.ndarray
383
+ """
384
+ fptype = getFPType(X)
385
+ return self._predict_classification(X, fptype, "computeClassProbabilities")
@@ -82,7 +82,7 @@ def _run_with_n_jobs(method):
82
82
  if not isinstance(threading.current_thread(), threading._MainThread):
83
83
  warn(
84
84
  "'Threading' parallel backend is not supported by "
85
- "Intel(R) Extension for Scikit-learn*. "
85
+ "Extension for Scikit-learn*. "
86
86
  "Falling back to usage of all available threads."
87
87
  )
88
88
  result = method(self, *args, **kwargs)
@@ -214,7 +214,11 @@ def control_n_jobs(decorated_methods: list = []):
214
214
  and "n_jobs : int" not in original_class.__doc__
215
215
  ):
216
216
  # Python 3.13 removed extra tab in class doc string
217
- tab = " " if sys.version_info.minor < 13 else ""
217
+ tab = (
218
+ " "
219
+ if (sys.version_info.major == 3 and sys.version_info.minor < 13)
220
+ else ""
221
+ )
218
222
  parameters_doc_tail = f"\n{tab}Attributes"
219
223
  n_jobs_doc = f"""
220
224
  {tab}n_jobs : int, default=None
@@ -231,7 +231,7 @@ class PatchingConditionsChain:
231
231
  else:
232
232
  self.logger.debug(
233
233
  f"{self.scope_name}: debugging for the patch is enabled to track"
234
- " the usage of Intel® oneAPI Data Analytics Library (oneDAL)"
234
+ " the usage of oneAPI Data Analytics Library (oneDAL)"
235
235
  )
236
236
  for message in self.messages:
237
237
  self.logger.debug(
@@ -26,6 +26,7 @@ import daal4py
26
26
 
27
27
  from .._n_jobs_support import control_n_jobs
28
28
  from .._utils import PatchingConditionsChain, getFPType, make2d, sklearn_check_version
29
+ from ..utils.validation import check_feature_names
29
30
 
30
31
  if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
31
32
  from sklearn.utils import check_scalar
@@ -121,8 +122,7 @@ class DBSCAN(DBSCAN_original):
121
122
  if self.eps <= 0.0:
122
123
  raise ValueError(f"eps == {self.eps}, must be > 0.0.")
123
124
 
124
- if sklearn_check_version("1.0"):
125
- self._check_feature_names(X, reset=True)
125
+ check_feature_names(self, X, reset=True)
126
126
 
127
127
  if sample_weight is not None:
128
128
  sample_weight = _check_sample_weight(sample_weight, X)
@@ -36,6 +36,7 @@ import daal4py
36
36
 
37
37
  from .._n_jobs_support import control_n_jobs
38
38
  from .._utils import PatchingConditionsChain, getFPType, sklearn_check_version
39
+ from ..utils.validation import check_feature_names, validate_data
39
40
 
40
41
  if sklearn_check_version("1.1"):
41
42
  from sklearn.utils.validation import _check_sample_weight, _is_arraylike_not_scalar
@@ -262,7 +263,8 @@ def _fit(self, X, y=None, sample_weight=None):
262
263
  if sklearn_check_version("1.2"):
263
264
  self._validate_params()
264
265
 
265
- X = self._validate_data(
266
+ X = validate_data(
267
+ self,
266
268
  X,
267
269
  accept_sparse="csr",
268
270
  dtype=[np.float64, np.float32],
@@ -310,8 +312,7 @@ def _fit(self, X, y=None, sample_weight=None):
310
312
  raise ValueError(f"n_init should be > 0, got {self.n_init} instead.")
311
313
 
312
314
  random_state = check_random_state(self.random_state)
313
- if sklearn_check_version("1.0"):
314
- self._check_feature_names(X, reset=True)
315
+ check_feature_names(self, X, reset=True)
315
316
 
316
317
  if self.max_iter <= 0:
317
318
  raise ValueError(f"max_iter should be > 0, got {self.max_iter} instead.")
@@ -413,8 +414,7 @@ def _fit(self, X, y=None, sample_weight=None):
413
414
 
414
415
 
415
416
  def _daal4py_check_test_data(self, X):
416
- if sklearn_check_version("1.0"):
417
- self._check_feature_names(X, reset=False)
417
+ check_feature_names(self, X, reset=False)
418
418
  X = check_array(
419
419
  X, accept_sparse="csr", dtype=[np.float64, np.float32], accept_large_sparse=False
420
420
  )
@@ -514,34 +514,6 @@ class KMeans(KMeans_original):
514
514
  algorithm=algorithm,
515
515
  )
516
516
 
517
- elif sklearn_check_version("1.0"):
518
-
519
- @_deprecate_positional_args
520
- def __init__(
521
- self,
522
- n_clusters=8,
523
- *,
524
- init="k-means++",
525
- n_init=10,
526
- max_iter=300,
527
- tol=1e-4,
528
- verbose=0,
529
- random_state=None,
530
- copy_x=True,
531
- algorithm="lloyd" if sklearn_check_version("1.1") else "auto",
532
- ):
533
- super(KMeans, self).__init__(
534
- n_clusters=n_clusters,
535
- init=init,
536
- max_iter=max_iter,
537
- tol=tol,
538
- n_init=n_init,
539
- verbose=verbose,
540
- random_state=random_state,
541
- copy_x=copy_x,
542
- algorithm=algorithm,
543
- )
544
-
545
517
  else:
546
518
 
547
519
  @_deprecate_positional_args
@@ -553,24 +525,20 @@ class KMeans(KMeans_original):
553
525
  n_init=10,
554
526
  max_iter=300,
555
527
  tol=1e-4,
556
- precompute_distances="deprecated",
557
528
  verbose=0,
558
529
  random_state=None,
559
530
  copy_x=True,
560
- n_jobs="deprecated",
561
- algorithm="auto",
531
+ algorithm="lloyd" if sklearn_check_version("1.1") else "auto",
562
532
  ):
563
533
  super(KMeans, self).__init__(
564
534
  n_clusters=n_clusters,
565
535
  init=init,
566
536
  max_iter=max_iter,
567
537
  tol=tol,
568
- precompute_distances=precompute_distances,
569
538
  n_init=n_init,
570
539
  verbose=verbose,
571
540
  random_state=random_state,
572
541
  copy_x=copy_x,
573
- n_jobs=n_jobs,
574
542
  algorithm=algorithm,
575
543
  )
576
544
 
@@ -27,6 +27,7 @@ import daal4py
27
27
 
28
28
  from .._n_jobs_support import control_n_jobs
29
29
  from .._utils import PatchingConditionsChain, getFPType, sklearn_check_version
30
+ from ..utils.validation import check_feature_names, validate_data
30
31
 
31
32
  if sklearn_check_version("1.4"):
32
33
  from sklearn.utils._array_api import get_namespace
@@ -223,7 +224,8 @@ class PCA(PCA_original):
223
224
  "PCA with svd_solver='arpack' is not supported for Array API inputs."
224
225
  )
225
226
 
226
- X = self._validate_data(
227
+ X = validate_data(
228
+ self,
227
229
  X,
228
230
  dtype=[xp.float64, xp.float32],
229
231
  accept_sparse=("csr", "csc"),
@@ -237,8 +239,8 @@ class PCA(PCA_original):
237
239
  "PCA does not support sparse input. See "
238
240
  "TruncatedSVD for a possible alternative."
239
241
  )
240
- X = self._validate_data(
241
- X, dtype=[np.float64, np.float32], ensure_2d=True, copy=False
242
+ X = validate_data(
243
+ self, X, dtype=[np.float64, np.float32], ensure_2d=True, copy=False
242
244
  )
243
245
 
244
246
  if self.n_components is None:
@@ -291,9 +293,9 @@ class PCA(PCA_original):
291
293
 
292
294
  if not shape_good_for_daal or self._fit_svd_solver != "full":
293
295
  if sklearn_check_version("1.4"):
294
- X = self._validate_data(X, copy=self.copy, accept_sparse=("csr", "csc"))
296
+ X = validate_data(self, X, copy=self.copy, accept_sparse=("csr", "csc"))
295
297
  else:
296
- X = self._validate_data(X, copy=self.copy)
298
+ X = validate_data(self, X, copy=self.copy)
297
299
 
298
300
  _patching_status = PatchingConditionsChain("sklearn.decomposition.PCA.fit")
299
301
  _dal_ready = _patching_status.and_conditions(
@@ -333,9 +335,11 @@ class PCA(PCA_original):
333
335
  def _transform_daal4py(self, X, whiten=False, scale_eigenvalues=True, check_X=True):
334
336
  check_is_fitted(self)
335
337
 
336
- if sklearn_check_version("1.0"):
337
- self._check_feature_names(X, reset=False)
338
- X = check_array(X, dtype=[np.float64, np.float32], force_all_finite=check_X)
338
+ check_feature_names(self, X, reset=False)
339
+ if sklearn_check_version("1.6"):
340
+ X = check_array(X, dtype=[np.float64, np.float32], ensure_all_finite=check_X)
341
+ else:
342
+ X = check_array(X, dtype=[np.float64, np.float32], force_all_finite=check_X)
339
343
  fpType = getFPType(X)
340
344
 
341
345
  tr_data = dict()