scikit-learn-intelex 2025.4.0__py313-none-win_amd64.whl → 2025.6.0__py313-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of scikit-learn-intelex might be problematic. Click here for more details.

Files changed (270) hide show
  1. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
  2. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/_daal4py.cp313-win_amd64.pyd +0 -0
  3. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
  4. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +922 -0
  5. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
  6. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +129 -106
  7. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp313-win_amd64.pyd +0 -0
  8. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
  9. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  10. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
  11. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
  12. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
  13. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  14. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  15. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
  16. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  17. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
  18. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
  19. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
  20. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
  21. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
  22. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +3 -3
  23. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
  24. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
  25. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
  26. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
  27. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
  28. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
  29. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  30. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  31. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_device_offload.py +86 -82
  32. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
  33. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  34. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
  35. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  36. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  37. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  38. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
  39. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
  40. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  41. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
  42. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  43. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
  44. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
  45. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
  46. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
  47. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  48. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
  49. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  50. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
  51. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
  52. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
  53. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  54. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
  55. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
  56. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
  57. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  58. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
  59. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
  60. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
  61. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
  62. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
  63. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +3 -13
  64. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +14 -2
  65. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
  66. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +161 -0
  67. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
  68. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  69. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  70. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  71. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
  72. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +194 -0
  73. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_utils.py +36 -43
  74. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
  75. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +14 -20
  76. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +31 -40
  77. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +10 -11
  78. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +20 -19
  79. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +49 -62
  80. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +9 -20
  81. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  83. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +111 -366
  84. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +18 -6
  87. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +41 -126
  88. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +37 -85
  89. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +52 -47
  90. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +45 -84
  91. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +17 -20
  92. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +60 -1
  93. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +2 -2
  94. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +8 -6
  95. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +1 -3
  98. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +6 -5
  100. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +31 -73
  101. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +30 -70
  102. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +5 -13
  103. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +6 -19
  104. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +45 -62
  105. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
  106. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
  107. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
  108. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
  109. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
  110. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
  111. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
  112. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
  113. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
  114. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
  115. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
  116. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
  117. {scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb → scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors}/__init__.py +2 -2
  118. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
  119. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +15 -28
  120. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +36 -129
  121. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +10 -22
  122. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +34 -127
  123. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +10 -22
  124. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +51 -11
  125. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +62 -0
  126. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +18 -24
  127. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
  128. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +89 -60
  129. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -0
  130. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
  131. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  132. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/METADATA +2 -3
  133. scikit_learn_intelex-2025.6.0.dist-info/RECORD +257 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp313-win_amd64.pyd +0 -0
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -424
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  142. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  143. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  144. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  145. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  146. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
  147. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  150. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  151. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  153. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  154. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  155. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  156. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  157. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  158. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  159. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  160. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  161. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  162. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  163. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  164. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  165. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  166. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  167. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  168. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  169. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  170. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  171. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  172. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  174. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  175. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  176. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  177. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  178. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  180. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  181. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  182. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  183. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  184. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  185. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  186. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  187. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  188. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  189. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  190. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  191. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  192. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  193. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  196. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  197. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  198. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  199. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  200. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  201. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  202. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  204. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  207. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  208. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  209. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  210. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  211. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  213. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  214. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  215. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  217. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  218. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  219. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  221. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  223. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  224. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  225. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  227. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  229. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  231. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  233. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  235. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  236. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  237. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  238. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  240. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  241. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  242. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  243. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  244. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  245. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  247. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  248. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  250. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  251. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  253. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  255. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  256. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  257. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  258. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  259. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  260. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  261. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  262. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  263. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  264. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  265. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  266. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  267. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  268. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/LICENSE.txt +0 -0
  269. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/WHEEL +0 -0
  270. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/top_level.txt +0 -0
@@ -25,18 +25,19 @@ from sklearn.neighbors._kd_tree import KDTree
25
25
  from sklearn.utils.validation import check_is_fitted
26
26
 
27
27
  from daal4py.sklearn._utils import sklearn_check_version
28
- from onedal.utils import _check_array, _num_features, _num_samples
28
+ from onedal.utils.validation import _check_array, _num_features, _num_samples
29
29
 
30
- from .._utils import PatchableEstimator, PatchingConditionsChain
30
+ from .._utils import PatchingConditionsChain
31
+ from ..base import oneDALEstimator
31
32
  from ..utils._array_api import get_namespace
33
+ from ..utils.validation import check_feature_names
32
34
 
33
35
 
34
- class KNeighborsDispatchingBase(PatchableEstimator):
36
+ class KNeighborsDispatchingBase(oneDALEstimator):
35
37
  def _fit_validation(self, X, y=None):
36
38
  if sklearn_check_version("1.2"):
37
39
  self._validate_params()
38
- if sklearn_check_version("1.0"):
39
- self._check_feature_names(X, reset=True)
40
+ check_feature_names(self, X, reset=True)
40
41
  if self.metric_params is not None and "p" in self.metric_params:
41
42
  if self.p is not None:
42
43
  warnings.warn(
@@ -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)
@@ -29,21 +29,14 @@ from sklearnex import config_context
29
29
  from sklearnex.metrics import pairwise_distances
30
30
 
31
31
  from ..._device_offload import dispatch, wrap_output_data
32
- from ..._utils import (
33
- PatchableEstimator,
34
- PatchingConditionsChain,
35
- register_hyperparameters,
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
32
+ from ..._utils import PatchingConditionsChain, register_hyperparameters
33
+ from ...base import oneDALEstimator
34
+ from ...utils.validation import validate_data
42
35
 
43
36
 
44
37
  @register_hyperparameters({"fit": get_hyperparameters("covariance", "compute")})
45
38
  @control_n_jobs(decorated_methods=["fit", "mahalanobis"])
46
- class EmpiricalCovariance(PatchableEstimator, _sklearn_EmpiricalCovariance):
39
+ class EmpiricalCovariance(oneDALEstimator, _sklearn_EmpiricalCovariance):
47
40
  __doc__ = _sklearn_EmpiricalCovariance.__doc__
48
41
 
49
42
  if sklearn_check_version("1.2"):
@@ -99,10 +92,7 @@ class EmpiricalCovariance(PatchableEstimator, _sklearn_EmpiricalCovariance):
99
92
  def fit(self, X, y=None):
100
93
  if sklearn_check_version("1.2"):
101
94
  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)
95
+ X = validate_data(self, X, ensure_all_finite=False)
106
96
 
107
97
  dispatch(
108
98
  self,
@@ -119,10 +109,7 @@ class EmpiricalCovariance(PatchableEstimator, _sklearn_EmpiricalCovariance):
119
109
  # expose sklearnex pairwise_distances if mahalanobis distance eventually supported
120
110
  @wrap_output_data
121
111
  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)
112
+ X = validate_data(self, X, reset=False)
126
113
 
127
114
  precision = self.get_precision()
128
115
  with config_context(assume_finite=True):
@@ -22,35 +22,34 @@ 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 PatchingConditionsChain, _add_inc_serialization_note
28
+ from ...base import oneDALEstimator
29
+ from ...utils.validation import validate_data
32
30
 
33
31
 
34
32
  @control_n_jobs(
35
33
  decorated_methods=["fit", "partial_fit", "transform", "_onedal_finalize_fit"]
36
34
  )
37
- class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
35
+ class IncrementalPCA(oneDALEstimator, _sklearn_IncrementalPCA):
36
+
37
+ _need_to_finalize_attrs = {
38
+ "mean_",
39
+ "explained_variance_",
40
+ "explained_variance_ratio_",
41
+ "n_components_",
42
+ "components_",
43
+ "noise_variance_",
44
+ "singular_values_",
45
+ "var_",
46
+ }
38
47
 
39
48
  def __init__(self, n_components=None, *, whiten=False, copy=True, batch_size=None):
40
49
  super().__init__(
41
50
  n_components=n_components, whiten=whiten, copy=copy, batch_size=batch_size
42
51
  )
43
52
  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
53
 
55
54
  _onedal_incremental_pca = staticmethod(onedal_IncrementalPCA)
56
55
 
@@ -58,8 +57,10 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
58
57
  assert hasattr(self, "_onedal_estimator")
59
58
  if self._need_to_finalize:
60
59
  self._onedal_finalize_fit()
61
- X = check_array(X, dtype=[np.float64, np.float32])
62
- return self._onedal_estimator.predict(X, queue)
60
+ use_raw_input = get_config().get("use_raw_input", False) is True
61
+ if not use_raw_input:
62
+ X = check_array(X, dtype=[np.float64, np.float32])
63
+ return self._onedal_estimator.predict(X, queue=queue)
63
64
 
64
65
  def _onedal_fit_transform(self, X, queue=None):
65
66
  self._onedal_fit(X, queue)
@@ -68,17 +69,11 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
68
69
  def _onedal_partial_fit(self, X, check_input=True, queue=None):
69
70
  first_pass = not hasattr(self, "_onedal_estimator")
70
71
 
72
+ use_raw_input = get_config().get("use_raw_input", False) is True
73
+ # never check input when using raw input
74
+ check_input &= use_raw_input is False
71
75
  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
- )
76
+ X = validate_data(self, X, dtype=[np.float64, np.float32], reset=first_pass)
82
77
 
83
78
  n_samples, n_features = X.shape
84
79
 
@@ -114,23 +109,18 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
114
109
  self._onedal_estimator.partial_fit(X, queue=queue)
115
110
  self._need_to_finalize = True
116
111
 
117
- def _onedal_finalize_fit(self, queue=None):
112
+ def _onedal_finalize_fit(self):
118
113
  assert hasattr(self, "_onedal_estimator")
119
- self._onedal_estimator.finalize_fit(queue=queue)
114
+ self._onedal_estimator.finalize_fit()
120
115
  self._need_to_finalize = False
121
116
 
122
117
  def _onedal_fit(self, X, queue=None):
123
- if sklearn_check_version("1.2"):
124
- self._validate_params()
118
+ use_raw_input = get_config().get("use_raw_input", False) is True
119
+ if not use_raw_input:
120
+ if sklearn_check_version("1.2"):
121
+ self._validate_params()
125
122
 
126
- if sklearn_check_version("1.0"):
127
123
  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
124
 
135
125
  n_samples, n_features = X.shape
136
126
 
@@ -147,7 +137,7 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
147
137
  X_batch = X[batch]
148
138
  self._onedal_partial_fit(X_batch, queue=queue)
149
139
 
150
- self._onedal_finalize_fit(queue=queue)
140
+ self._onedal_finalize_fit()
151
141
 
152
142
  return self
153
143
 
@@ -161,18 +151,20 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
161
151
  _onedal_gpu_supported = _onedal_supported
162
152
 
163
153
  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:
154
+ # finalize the fit if requested attribute requires it
155
+ if attr in IncrementalPCA._need_to_finalize_attrs:
156
+ if "_onedal_estimator" not in self.__dict__:
157
+ # _onedal_estimator required to finalize the fit
170
158
  raise AttributeError(
171
- f"'{self.__class__.__name__}' object has no attribute '{attr}'"
159
+ f"Requested postfit attribute '{attr}' before fitting the model."
172
160
  )
173
- if attr in self.__dict__:
174
- return self.__dict__[attr]
175
-
161
+ if self.__dict__["_need_to_finalize"]:
162
+ self._onedal_finalize_fit()
163
+ # join attributes of the class and the onedal_estimator to provide common interface
164
+ joined = self.__dict__ | self.__dict__.get("_onedal_estimator", {}).__dict__
165
+ if attr in joined:
166
+ return joined[attr]
167
+ # raise AttributeError if attribute is neither in this class nor in _onedal_estimator
176
168
  raise AttributeError(
177
169
  f"'{self.__class__.__name__}' object has no attribute '{attr}'"
178
170
  )
@@ -226,17 +218,8 @@ class IncrementalPCA(IntelEstimator, _sklearn_IncrementalPCA):
226
218
  X,
227
219
  )
228
220
 
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
- """
221
+ __doc__ = _add_inc_serialization_note(
222
+ _sklearn_IncrementalPCA.__doc__ + "\n" + r"%incremental_serialization_note%"
240
223
  )
241
224
  fit.__doc__ = _sklearn_IncrementalPCA.fit.__doc__
242
225
  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