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
@@ -18,21 +18,17 @@ from sklearn.metrics import accuracy_score
18
18
  from sklearn.neighbors._classification import (
19
19
  KNeighborsClassifier as _sklearn_KNeighborsClassifier,
20
20
  )
21
- from sklearn.neighbors._unsupervised import NearestNeighbors as _sklearn_NearestNeighbors
22
- from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
21
+ from sklearn.utils.validation import check_is_fitted
23
22
 
24
23
  from daal4py.sklearn._n_jobs_support import control_n_jobs
25
24
  from daal4py.sklearn._utils import sklearn_check_version
25
+ from daal4py.sklearn.utils.validation import get_requires_y_tag
26
26
  from onedal.neighbors import KNeighborsClassifier as onedal_KNeighborsClassifier
27
27
 
28
28
  from .._device_offload import dispatch, wrap_output_data
29
+ from ..utils.validation import check_feature_names
29
30
  from .common import KNeighborsDispatchingBase
30
31
 
31
- if sklearn_check_version("1.6"):
32
- from sklearn.utils.validation import validate_data
33
- else:
34
- validate_data = _sklearn_KNeighborsClassifier._validate_data
35
-
36
32
 
37
33
  @control_n_jobs(
38
34
  decorated_methods=["fit", "predict", "predict_proba", "kneighbors", "score"]
@@ -44,58 +40,28 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassif
44
40
  **_sklearn_KNeighborsClassifier._parameter_constraints
45
41
  }
46
42
 
47
- if sklearn_check_version("1.0"):
48
-
49
- def __init__(
50
- self,
51
- n_neighbors=5,
52
- *,
53
- weights="uniform",
54
- algorithm="auto",
55
- leaf_size=30,
56
- p=2,
57
- metric="minkowski",
58
- metric_params=None,
59
- n_jobs=None,
60
- ):
61
- super().__init__(
62
- n_neighbors=n_neighbors,
63
- weights=weights,
64
- algorithm=algorithm,
65
- leaf_size=leaf_size,
66
- metric=metric,
67
- p=p,
68
- metric_params=metric_params,
69
- n_jobs=n_jobs,
70
- )
71
-
72
- else:
73
-
74
- @_deprecate_positional_args
75
- def __init__(
76
- self,
77
- n_neighbors=5,
78
- *,
79
- weights="uniform",
80
- algorithm="auto",
81
- leaf_size=30,
82
- p=2,
83
- metric="minkowski",
84
- metric_params=None,
85
- n_jobs=None,
86
- **kwargs,
87
- ):
88
- super().__init__(
89
- n_neighbors=n_neighbors,
90
- weights=weights,
91
- algorithm=algorithm,
92
- leaf_size=leaf_size,
93
- metric=metric,
94
- p=p,
95
- metric_params=metric_params,
96
- n_jobs=n_jobs,
97
- **kwargs,
98
- )
43
+ def __init__(
44
+ self,
45
+ n_neighbors=5,
46
+ *,
47
+ weights="uniform",
48
+ algorithm="auto",
49
+ leaf_size=30,
50
+ p=2,
51
+ metric="minkowski",
52
+ metric_params=None,
53
+ n_jobs=None,
54
+ ):
55
+ super().__init__(
56
+ n_neighbors=n_neighbors,
57
+ weights=weights,
58
+ algorithm=algorithm,
59
+ leaf_size=leaf_size,
60
+ metric=metric,
61
+ p=p,
62
+ metric_params=metric_params,
63
+ n_jobs=n_jobs,
64
+ )
99
65
 
100
66
  def fit(self, X, y):
101
67
  dispatch(
@@ -113,8 +79,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassif
113
79
  @wrap_output_data
114
80
  def predict(self, X):
115
81
  check_is_fitted(self)
116
- if sklearn_check_version("1.0"):
117
- self._check_feature_names(X, reset=False)
82
+ check_feature_names(self, X, reset=False)
118
83
  return dispatch(
119
84
  self,
120
85
  "predict",
@@ -128,8 +93,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassif
128
93
  @wrap_output_data
129
94
  def predict_proba(self, X):
130
95
  check_is_fitted(self)
131
- if sklearn_check_version("1.0"):
132
- self._check_feature_names(X, reset=False)
96
+ check_feature_names(self, X, reset=False)
133
97
  return dispatch(
134
98
  self,
135
99
  "predict_proba",
@@ -143,8 +107,7 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassif
143
107
  @wrap_output_data
144
108
  def score(self, X, y, sample_weight=None):
145
109
  check_is_fitted(self)
146
- if sklearn_check_version("1.0"):
147
- self._check_feature_names(X, reset=False)
110
+ check_feature_names(self, X, reset=False)
148
111
  return dispatch(
149
112
  self,
150
113
  "score",
@@ -160,8 +123,8 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassif
160
123
  @wrap_output_data
161
124
  def kneighbors(self, X=None, n_neighbors=None, return_distance=True):
162
125
  check_is_fitted(self)
163
- if sklearn_check_version("1.0") and X is not None:
164
- self._check_feature_names(X, reset=False)
126
+ if X is not None:
127
+ check_feature_names(self, X, reset=False)
165
128
  return dispatch(
166
129
  self,
167
130
  "kneighbors",
@@ -183,13 +146,8 @@ class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassif
183
146
  "p": self.effective_metric_params_["p"],
184
147
  }
185
148
 
186
- try:
187
- requires_y = self._get_tags()["requires_y"]
188
- except KeyError:
189
- requires_y = False
190
-
191
149
  self._onedal_estimator = onedal_KNeighborsClassifier(**onedal_params)
192
- self._onedal_estimator.requires_y = requires_y
150
+ self._onedal_estimator.requires_y = get_requires_y_tag(self)
193
151
  self._onedal_estimator.effective_metric_ = self.effective_metric_
194
152
  self._onedal_estimator.effective_metric_params_ = self.effective_metric_params_
195
153
  self._onedal_estimator.fit(X, y, queue=queue)
@@ -18,20 +18,17 @@ from sklearn.metrics import r2_score
18
18
  from sklearn.neighbors._regression import (
19
19
  KNeighborsRegressor as _sklearn_KNeighborsRegressor,
20
20
  )
21
- from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
21
+ from sklearn.utils.validation import check_is_fitted
22
22
 
23
23
  from daal4py.sklearn._n_jobs_support import control_n_jobs
24
24
  from daal4py.sklearn._utils import sklearn_check_version
25
+ from daal4py.sklearn.utils.validation import get_requires_y_tag
25
26
  from onedal.neighbors import KNeighborsRegressor as onedal_KNeighborsRegressor
26
27
 
27
28
  from .._device_offload import dispatch, wrap_output_data
29
+ from ..utils.validation import check_feature_names
28
30
  from .common import KNeighborsDispatchingBase
29
31
 
30
- if sklearn_check_version("1.6"):
31
- from sklearn.utils.validation import validate_data
32
- else:
33
- validate_data = _sklearn_KNeighborsRegressor._validate_data
34
-
35
32
 
36
33
  @control_n_jobs(decorated_methods=["fit", "predict", "kneighbors", "score"])
37
34
  class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegressor):
@@ -41,58 +38,28 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegresso
41
38
  **_sklearn_KNeighborsRegressor._parameter_constraints
42
39
  }
43
40
 
44
- if sklearn_check_version("1.0"):
45
-
46
- def __init__(
47
- self,
48
- n_neighbors=5,
49
- *,
50
- weights="uniform",
51
- algorithm="auto",
52
- leaf_size=30,
53
- p=2,
54
- metric="minkowski",
55
- metric_params=None,
56
- n_jobs=None,
57
- ):
58
- super().__init__(
59
- n_neighbors=n_neighbors,
60
- weights=weights,
61
- algorithm=algorithm,
62
- leaf_size=leaf_size,
63
- metric=metric,
64
- p=p,
65
- metric_params=metric_params,
66
- n_jobs=n_jobs,
67
- )
68
-
69
- else:
70
-
71
- @_deprecate_positional_args
72
- def __init__(
73
- self,
74
- n_neighbors=5,
75
- *,
76
- weights="uniform",
77
- algorithm="auto",
78
- leaf_size=30,
79
- p=2,
80
- metric="minkowski",
81
- metric_params=None,
82
- n_jobs=None,
83
- **kwargs,
84
- ):
85
- super().__init__(
86
- n_neighbors=n_neighbors,
87
- weights=weights,
88
- algorithm=algorithm,
89
- leaf_size=leaf_size,
90
- metric=metric,
91
- p=p,
92
- metric_params=metric_params,
93
- n_jobs=n_jobs,
94
- **kwargs,
95
- )
41
+ def __init__(
42
+ self,
43
+ n_neighbors=5,
44
+ *,
45
+ weights="uniform",
46
+ algorithm="auto",
47
+ leaf_size=30,
48
+ p=2,
49
+ metric="minkowski",
50
+ metric_params=None,
51
+ n_jobs=None,
52
+ ):
53
+ super().__init__(
54
+ n_neighbors=n_neighbors,
55
+ weights=weights,
56
+ algorithm=algorithm,
57
+ leaf_size=leaf_size,
58
+ metric=metric,
59
+ p=p,
60
+ metric_params=metric_params,
61
+ n_jobs=n_jobs,
62
+ )
96
63
 
97
64
  def fit(self, X, y):
98
65
  dispatch(
@@ -110,8 +77,7 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegresso
110
77
  @wrap_output_data
111
78
  def predict(self, X):
112
79
  check_is_fitted(self)
113
- if sklearn_check_version("1.0"):
114
- self._check_feature_names(X, reset=False)
80
+ check_feature_names(self, X, reset=False)
115
81
  return dispatch(
116
82
  self,
117
83
  "predict",
@@ -125,8 +91,7 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegresso
125
91
  @wrap_output_data
126
92
  def score(self, X, y, sample_weight=None):
127
93
  check_is_fitted(self)
128
- if sklearn_check_version("1.0"):
129
- self._check_feature_names(X, reset=False)
94
+ check_feature_names(self, X, reset=False)
130
95
  return dispatch(
131
96
  self,
132
97
  "score",
@@ -142,8 +107,8 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegresso
142
107
  @wrap_output_data
143
108
  def kneighbors(self, X=None, n_neighbors=None, return_distance=True):
144
109
  check_is_fitted(self)
145
- if sklearn_check_version("1.0") and X is not None:
146
- self._check_feature_names(X, reset=False)
110
+ if X is not None:
111
+ check_feature_names(self, X, reset=False)
147
112
  return dispatch(
148
113
  self,
149
114
  "kneighbors",
@@ -165,13 +130,8 @@ class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegresso
165
130
  "p": self.effective_metric_params_["p"],
166
131
  }
167
132
 
168
- try:
169
- requires_y = self._get_tags()["requires_y"]
170
- except KeyError:
171
- requires_y = False
172
-
173
133
  self._onedal_estimator = onedal_KNeighborsRegressor(**onedal_params)
174
- self._onedal_estimator.requires_y = requires_y
134
+ self._onedal_estimator.requires_y = get_requires_y_tag(self)
175
135
  self._onedal_estimator.effective_metric_ = self.effective_metric_
176
136
  self._onedal_estimator.effective_metric_params_ = self.effective_metric_params_
177
137
  self._onedal_estimator.fit(X, y, queue=queue)
@@ -19,16 +19,13 @@ from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
19
19
 
20
20
  from daal4py.sklearn._n_jobs_support import control_n_jobs
21
21
  from daal4py.sklearn._utils import sklearn_check_version
22
+ from daal4py.sklearn.utils.validation import get_requires_y_tag
22
23
  from onedal.neighbors import NearestNeighbors as onedal_NearestNeighbors
23
24
 
24
25
  from .._device_offload import dispatch, wrap_output_data
26
+ from ..utils.validation import check_feature_names
25
27
  from .common import KNeighborsDispatchingBase
26
28
 
27
- if sklearn_check_version("1.6"):
28
- from sklearn.utils.validation import validate_data
29
- else:
30
- validate_data = _sklearn_NearestNeighbors._validate_data
31
-
32
29
 
33
30
  @control_n_jobs(decorated_methods=["fit", "kneighbors", "radius_neighbors"])
34
31
  class NearestNeighbors(KNeighborsDispatchingBase, _sklearn_NearestNeighbors):
@@ -77,8 +74,8 @@ class NearestNeighbors(KNeighborsDispatchingBase, _sklearn_NearestNeighbors):
77
74
  @wrap_output_data
78
75
  def kneighbors(self, X=None, n_neighbors=None, return_distance=True):
79
76
  check_is_fitted(self)
80
- if sklearn_check_version("1.0") and X is not None:
81
- self._check_feature_names(X, reset=False)
77
+ if X is not None:
78
+ check_feature_names(self, X, reset=False)
82
79
  return dispatch(
83
80
  self,
84
81
  "kneighbors",
@@ -139,13 +136,8 @@ class NearestNeighbors(KNeighborsDispatchingBase, _sklearn_NearestNeighbors):
139
136
  "p": self.effective_metric_params_["p"],
140
137
  }
141
138
 
142
- try:
143
- requires_y = self._get_tags()["requires_y"]
144
- except KeyError:
145
- requires_y = False
146
-
147
139
  self._onedal_estimator = onedal_NearestNeighbors(**onedal_params)
148
- self._onedal_estimator.requires_y = requires_y
140
+ self._onedal_estimator.requires_y = get_requires_y_tag(self)
149
141
  self._onedal_estimator.effective_metric_ = self.effective_metric_
150
142
  self._onedal_estimator.effective_metric_params_ = self.effective_metric_params_
151
143
  self._onedal_estimator.fit(X, y, queue=queue)
@@ -34,11 +34,7 @@ from ..._utils import (
34
34
  PatchingConditionsChain,
35
35
  register_hyperparameters,
36
36
  )
37
-
38
- if sklearn_check_version("1.6"):
39
- from sklearn.utils.validation import validate_data
40
- else:
41
- validate_data = _sklearn_EmpiricalCovariance._validate_data
37
+ from ...utils.validation import validate_data
42
38
 
43
39
 
44
40
  @register_hyperparameters({"fit": get_hyperparameters("covariance", "compute")})
@@ -99,10 +95,7 @@ class EmpiricalCovariance(PatchableEstimator, _sklearn_EmpiricalCovariance):
99
95
  def fit(self, X, y=None):
100
96
  if sklearn_check_version("1.2"):
101
97
  self._validate_params()
102
- if sklearn_check_version("0.23"):
103
- X = validate_data(self, X, force_all_finite=False)
104
- else:
105
- X = check_array(X, force_all_finite=False)
98
+ X = validate_data(self, X, ensure_all_finite=False)
106
99
 
107
100
  dispatch(
108
101
  self,
@@ -119,10 +112,7 @@ class EmpiricalCovariance(PatchableEstimator, _sklearn_EmpiricalCovariance):
119
112
  # expose sklearnex pairwise_distances if mahalanobis distance eventually supported
120
113
  @wrap_output_data
121
114
  def mahalanobis(self, X):
122
- if sklearn_check_version("1.0"):
123
- X = validate_data(self, X, reset=False)
124
- else:
125
- X = check_array(X)
115
+ X = validate_data(self, X, reset=False)
126
116
 
127
117
  precision = self.get_precision()
128
118
  with config_context(assume_finite=True):
@@ -22,35 +22,37 @@ from daal4py.sklearn._n_jobs_support import control_n_jobs
22
22
  from daal4py.sklearn._utils import sklearn_check_version
23
23
  from onedal.decomposition import IncrementalPCA as onedal_IncrementalPCA
24
24
 
25
+ from ..._config import get_config
25
26
  from ..._device_offload import dispatch, wrap_output_data
26
- from ..._utils import IntelEstimator, PatchingConditionsChain
27
-
28
- if sklearn_check_version("1.6"):
29
- from sklearn.utils.validation import validate_data
30
- else:
31
- validate_data = _sklearn_IncrementalPCA._validate_data
27
+ from ..._utils import (
28
+ ExtensionEstimator,
29
+ PatchingConditionsChain,
30
+ _add_inc_serialization_note,
31
+ )
32
+ from ...utils.validation import validate_data
32
33
 
33
34
 
34
35
  @control_n_jobs(
35
36
  decorated_methods=["fit", "partial_fit", "transform", "_onedal_finalize_fit"]
36
37
  )
37
- class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
38
+ class IncrementalPCA(ExtensionEstimator, _sklearn_IncrementalPCA):
39
+
40
+ _need_to_finalize_attrs = {
41
+ "mean_",
42
+ "explained_variance_",
43
+ "explained_variance_ratio_",
44
+ "n_components_",
45
+ "components_",
46
+ "noise_variance_",
47
+ "singular_values_",
48
+ "var_",
49
+ }
38
50
 
39
51
  def __init__(self, n_components=None, *, whiten=False, copy=True, batch_size=None):
40
52
  super().__init__(
41
53
  n_components=n_components, whiten=whiten, copy=copy, batch_size=batch_size
42
54
  )
43
55
  self._need_to_finalize = False
44
- self._need_to_finalize_attrs = {
45
- "mean_",
46
- "explained_variance_",
47
- "explained_variance_ratio_",
48
- "n_components_",
49
- "components_",
50
- "noise_variance_",
51
- "singular_values_",
52
- "var_",
53
- }
54
56
 
55
57
  _onedal_incremental_pca = staticmethod(onedal_IncrementalPCA)
56
58
 
@@ -58,8 +60,10 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
58
60
  assert hasattr(self, "_onedal_estimator")
59
61
  if self._need_to_finalize:
60
62
  self._onedal_finalize_fit()
61
- X = check_array(X, dtype=[np.float64, np.float32])
62
- return self._onedal_estimator.predict(X, queue)
63
+ use_raw_input = get_config().get("use_raw_input", False) is True
64
+ if not use_raw_input:
65
+ X = check_array(X, dtype=[np.float64, np.float32])
66
+ return self._onedal_estimator.predict(X, queue=queue)
63
67
 
64
68
  def _onedal_fit_transform(self, X, queue=None):
65
69
  self._onedal_fit(X, queue)
@@ -68,17 +72,11 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
68
72
  def _onedal_partial_fit(self, X, check_input=True, queue=None):
69
73
  first_pass = not hasattr(self, "_onedal_estimator")
70
74
 
75
+ use_raw_input = get_config().get("use_raw_input", False) is True
76
+ # never check input when using raw input
77
+ check_input &= use_raw_input is False
71
78
  if check_input:
72
- if sklearn_check_version("1.0"):
73
- X = validate_data(
74
- self, X, dtype=[np.float64, np.float32], reset=first_pass
75
- )
76
- else:
77
- X = check_array(
78
- X,
79
- dtype=[np.float64, np.float32],
80
- copy=self.copy,
81
- )
79
+ X = validate_data(self, X, dtype=[np.float64, np.float32], reset=first_pass)
82
80
 
83
81
  n_samples, n_features = X.shape
84
82
 
@@ -114,23 +112,18 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
114
112
  self._onedal_estimator.partial_fit(X, queue=queue)
115
113
  self._need_to_finalize = True
116
114
 
117
- def _onedal_finalize_fit(self, queue=None):
115
+ def _onedal_finalize_fit(self):
118
116
  assert hasattr(self, "_onedal_estimator")
119
- self._onedal_estimator.finalize_fit(queue=queue)
117
+ self._onedal_estimator.finalize_fit()
120
118
  self._need_to_finalize = False
121
119
 
122
120
  def _onedal_fit(self, X, queue=None):
123
- if sklearn_check_version("1.2"):
124
- self._validate_params()
121
+ use_raw_input = get_config().get("use_raw_input", False) is True
122
+ if not use_raw_input:
123
+ if sklearn_check_version("1.2"):
124
+ self._validate_params()
125
125
 
126
- if sklearn_check_version("1.0"):
127
126
  X = validate_data(self, X, dtype=[np.float64, np.float32], copy=self.copy)
128
- else:
129
- X = check_array(
130
- X,
131
- dtype=[np.float64, np.float32],
132
- copy=self.copy,
133
- )
134
127
 
135
128
  n_samples, n_features = X.shape
136
129
 
@@ -147,7 +140,7 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
147
140
  X_batch = X[batch]
148
141
  self._onedal_partial_fit(X_batch, queue=queue)
149
142
 
150
- self._onedal_finalize_fit(queue=queue)
143
+ self._onedal_finalize_fit()
151
144
 
152
145
  return self
153
146
 
@@ -161,18 +154,20 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
161
154
  _onedal_gpu_supported = _onedal_supported
162
155
 
163
156
  def __getattr__(self, attr):
164
- if attr in self._need_to_finalize_attrs:
165
- if hasattr(self, "_onedal_estimator"):
166
- if self._need_to_finalize:
167
- self._onedal_finalize_fit()
168
- return getattr(self._onedal_estimator, attr)
169
- else:
157
+ # finalize the fit if requested attribute requires it
158
+ if attr in IncrementalPCA._need_to_finalize_attrs:
159
+ if "_onedal_estimator" not in self.__dict__:
160
+ # _onedal_estimator required to finalize the fit
170
161
  raise AttributeError(
171
- f"'{self.__class__.__name__}' object has no attribute '{attr}'"
162
+ f"Requested postfit attribute '{attr}' before fitting the model."
172
163
  )
173
- if attr in self.__dict__:
174
- return self.__dict__[attr]
175
-
164
+ if self.__dict__["_need_to_finalize"]:
165
+ self._onedal_finalize_fit()
166
+ # join attributes of the class and the onedal_estimator to provide common interface
167
+ joined = self.__dict__ | self.__dict__.get("_onedal_estimator", {}).__dict__
168
+ if attr in joined:
169
+ return joined[attr]
170
+ # raise AttributeError if attribute is neither in this class nor in _onedal_estimator
176
171
  raise AttributeError(
177
172
  f"'{self.__class__.__name__}' object has no attribute '{attr}'"
178
173
  )
@@ -226,17 +221,8 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
226
221
  X,
227
222
  )
228
223
 
229
- __doc__ = (
230
- _sklearn_IncrementalPCA.__doc__
231
- + """
232
-
233
- Note
234
- ----
235
- Serializing instances of this class will trigger a forced finalization of calculations.
236
- Since finalize_fit can't be dispatched without directly provided queue
237
- and the dispatching policy can't be serialized, the computation is finalized
238
- during serialization call and the policy is not saved in serialized data.
239
- """
224
+ __doc__ = _add_inc_serialization_note(
225
+ _sklearn_IncrementalPCA.__doc__ + "\n" + r"%incremental_serialization_note%"
240
226
  )
241
227
  fit.__doc__ = _sklearn_IncrementalPCA.fit.__doc__
242
228
  fit_transform.__doc__ = _sklearn_IncrementalPCA.fit_transform.__doc__
@@ -23,6 +23,7 @@ from onedal.tests.utils._dataframes_support import (
23
23
  _convert_to_dataframe,
24
24
  get_dataframes_and_queues,
25
25
  )
26
+ from sklearnex import config_context
26
27
  from sklearnex.tests.utils.spmd import (
27
28
  _generate_statistic_data,
28
29
  _get_local_tensor,
@@ -62,7 +63,8 @@ def test_basic_stats_spmd_gold(dataframe, queue):
62
63
  )
63
64
 
64
65
  # Ensure results of batch algo match spmd
65
- spmd_result = BasicStatistics_SPMD().fit(local_dpt_data)
66
+ spmd = BasicStatistics_SPMD()
67
+ spmd_result = spmd.fit(local_dpt_data)
66
68
  batch_result = BasicStatistics_Batch().fit(data)
67
69
 
68
70
  for option in options_and_tests:
@@ -80,8 +82,11 @@ def test_basic_stats_spmd_gold(dataframe, queue):
80
82
  "dataframe,queue",
81
83
  get_dataframes_and_queues(dataframe_filter_="dpnp,dpctl", device_filter_="gpu"),
82
84
  )
85
+ @pytest.mark.parametrize("use_raw_input", [True, False])
83
86
  @pytest.mark.mpi
84
- def test_basic_stats_spmd_synthetic(n_samples, n_features, dataframe, queue, dtype):
87
+ def test_basic_stats_spmd_synthetic(
88
+ n_samples, n_features, dataframe, queue, dtype, use_raw_input
89
+ ):
85
90
  # Import spmd and batch algo
86
91
  from onedal.basic_statistics import BasicStatistics as BasicStatistics_Batch
87
92
  from sklearnex.spmd.basic_statistics import BasicStatistics as BasicStatistics_SPMD
@@ -94,7 +99,9 @@ def test_basic_stats_spmd_synthetic(n_samples, n_features, dataframe, queue, dty
94
99
  )
95
100
 
96
101
  # Ensure results of batch algo match spmd
97
- spmd_result = BasicStatistics_SPMD().fit(local_dpt_data)
102
+ # Configure raw input status for spmd estimator
103
+ with config_context(use_raw_input=use_raw_input):
104
+ spmd_result = BasicStatistics_SPMD().fit(local_dpt_data)
98
105
  batch_result = BasicStatistics_Batch().fit(data)
99
106
 
100
107
  tol = 1e-5 if dtype == np.float32 else 1e-7
@@ -23,6 +23,7 @@ from onedal.tests.utils._dataframes_support import (
23
23
  _convert_to_dataframe,
24
24
  get_dataframes_and_queues,
25
25
  )
26
+ from sklearnex import config_context
26
27
  from sklearnex.tests.utils.spmd import (
27
28
  _generate_statistic_data,
28
29
  _get_local_tensor,
@@ -250,9 +251,10 @@ def test_incremental_basic_statistics_single_option_partial_fit_spmd_gold(
250
251
  @pytest.mark.parametrize("n_samples", [100, 10000])
251
252
  @pytest.mark.parametrize("n_features", [10, 100])
252
253
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
254
+ @pytest.mark.parametrize("use_raw_input", [True, False])
253
255
  @pytest.mark.mpi
254
256
  def test_incremental_basic_statistics_partial_fit_spmd_synthetic(
255
- dataframe, queue, num_blocks, weighted, n_samples, n_features, dtype
257
+ dataframe, queue, num_blocks, weighted, n_samples, n_features, dtype, use_raw_input
256
258
  ):
257
259
  # Import spmd and batch algo
258
260
  from sklearnex.basic_statistics import IncrementalBasicStatistics
@@ -292,9 +294,11 @@ def test_incremental_basic_statistics_partial_fit_spmd_synthetic(
292
294
  dpt_weights = _convert_to_dataframe(
293
295
  split_weights[i], sycl_queue=queue, target_df=dataframe
294
296
  )
295
- incbs_spmd.partial_fit(
296
- local_dpt_data, sample_weight=local_dpt_weights if weighted else None
297
- )
297
+ # Configure raw input status for spmd estimator
298
+ with config_context(use_raw_input=use_raw_input):
299
+ incbs_spmd.partial_fit(
300
+ local_dpt_data, sample_weight=local_dpt_weights if weighted else None
301
+ )
298
302
  incbs.partial_fit(dpt_data, sample_weight=dpt_weights if weighted else None)
299
303
 
300
304
  for option in options_and_tests: