scikit-learn-intelex 2025.7.0__py310-none-win_amd64.whl → 2025.8.0__py310-none-win_amd64.whl

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

Potentially problematic release.


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

Files changed (271) hide show
  1. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
  2. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +4 -4
  4. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +616 -0
  5. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_device_offload.py +41 -40
  6. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
  7. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
  8. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +52 -76
  9. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +26 -41
  10. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +6 -7
  11. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +11 -11
  12. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +7 -25
  13. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +1 -1
  14. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +31 -11
  15. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +5 -0
  16. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +8 -10
  17. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +6 -3
  18. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +156 -0
  19. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +61 -0
  20. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +9 -24
  21. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +16 -17
  22. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +5 -5
  23. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +48 -160
  24. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +75 -188
  25. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +5 -10
  26. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +10 -17
  27. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +14 -0
  28. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -0
  29. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +51 -25
  30. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_third_party.py +52 -2
  31. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__init__.py +2 -1
  32. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +13 -12
  33. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_utils.py +31 -4
  34. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +26 -37
  35. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +33 -42
  36. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +30 -27
  37. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +1 -0
  38. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +2 -0
  39. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -2
  40. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +110 -0
  41. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -6
  42. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +8 -2
  43. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +22 -7
  44. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +2 -0
  45. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +76 -68
  46. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +69 -53
  47. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +53 -41
  48. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +8 -0
  49. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +42 -31
  50. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +27 -61
  51. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +577 -0
  52. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +8 -6
  53. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -4
  54. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +112 -0
  55. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +7 -4
  56. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +6 -3
  57. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +12 -8
  58. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
  59. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +11 -4
  60. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
  61. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +21 -4
  62. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
  63. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -8
  64. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -4
  65. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +31 -0
  66. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +55 -6
  67. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
  68. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +13 -13
  69. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +3 -21
  70. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +71 -0
  71. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
  72. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +19 -1
  73. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/METADATA +2 -2
  74. scikit_learn_intelex-2025.8.0.dist-info/RECORD +259 -0
  75. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1039
  76. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
  77. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
  78. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -110
  79. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -115
  80. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
  81. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -119
  82. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
  83. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
  84. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
  85. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
  86. scikit_learn_intelex-2025.7.0.dist-info/RECORD +0 -258
  87. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  88. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  89. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
  90. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +0 -0
  91. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +0 -0
  92. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +0 -0
  93. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  94. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
  95. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
  96. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  97. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
  98. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
  99. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  100. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  101. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
  102. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
  103. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
  104. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  105. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
  106. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  107. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  108. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
  109. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
  110. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
  111. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  112. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  113. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  114. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  115. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  116. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  117. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
  118. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  119. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
  120. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  121. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  122. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  123. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  124. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  125. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
  126. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  127. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  128. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  129. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  130. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  131. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
  132. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
  133. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
  134. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  135. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  136. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  137. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
  138. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  139. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
  140. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  141. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +0 -0
  142. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  143. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
  144. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  145. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  146. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  147. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
  148. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  149. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  150. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  151. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_backend.py +0 -0
  152. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  153. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  154. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  155. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +0 -0
  156. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  157. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  158. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  159. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  160. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +0 -0
  161. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +0 -0
  162. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +0 -0
  163. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  164. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  165. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  166. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  167. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  168. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  169. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  170. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  171. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +0 -0
  172. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  173. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  174. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
  175. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +0 -0
  176. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
  177. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  178. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -0
  179. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
  180. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
  181. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
  182. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
  183. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
  184. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  185. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
  186. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
  187. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/validation.py +0 -0
  188. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  189. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
  190. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/base.py +0 -0
  191. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  192. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  193. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  194. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  196. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  197. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  198. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  199. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  200. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  201. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  202. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  204. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  205. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  207. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  208. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  209. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  210. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
  211. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  212. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  213. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  214. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  215. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  216. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  217. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
  218. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  219. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
  221. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
  222. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
  223. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
  224. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  225. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  227. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -0
  229. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  230. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  231. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  233. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  235. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
  236. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
  237. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  238. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  239. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  240. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
  241. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  242. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  243. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  244. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
  245. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
  246. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  247. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  249. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  250. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
  251. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
  253. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
  255. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
  256. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  257. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
  258. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
  259. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
  260. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -0
  261. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
  262. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  263. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  264. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
  265. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  266. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  267. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  268. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  269. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/LICENSE.txt +0 -0
  270. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/WHEEL +0 -0
  271. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/top_level.txt +0 -0
@@ -17,11 +17,10 @@
17
17
  import numbers
18
18
  import warnings
19
19
 
20
- import numpy as np
21
20
  from sklearn.base import BaseEstimator, MultiOutputMixin, RegressorMixin
22
21
  from sklearn.linear_model import LinearRegression as _sklearn_LinearRegression
23
22
  from sklearn.metrics import r2_score
24
- from sklearn.utils import check_array, gen_batches
23
+ from sklearn.utils import gen_batches
25
24
  from sklearn.utils.validation import check_is_fitted
26
25
 
27
26
  from daal4py.sklearn._n_jobs_support import control_n_jobs
@@ -31,13 +30,6 @@ from onedal.linear_model import (
31
30
  )
32
31
  from sklearnex._config import get_config
33
32
 
34
- from ..utils.validation import validate_data
35
-
36
- if sklearn_check_version("1.2"):
37
- from sklearn.utils._param_validation import Interval
38
-
39
- from onedal.common.hyperparameters import get_hyperparameters
40
-
41
33
  from .._device_offload import dispatch, wrap_output_data
42
34
  from .._utils import (
43
35
  PatchingConditionsChain,
@@ -45,12 +37,18 @@ from .._utils import (
45
37
  register_hyperparameters,
46
38
  )
47
39
  from ..base import oneDALEstimator
40
+ from ..utils._array_api import enable_array_api, get_namespace
41
+ from ..utils.validation import validate_data
42
+
43
+ if sklearn_check_version("1.2"):
44
+ from sklearn.utils._param_validation import Interval
48
45
 
49
46
 
47
+ @enable_array_api("1.5") # validate_data y_numeric requires sklearn >=1.5
50
48
  @register_hyperparameters(
51
49
  {
52
- "fit": get_hyperparameters("linear_regression", "train"),
53
- "partial_fit": get_hyperparameters("linear_regression", "train"),
50
+ "fit": ("linear_regression", "train"),
51
+ "partial_fit": ("linear_regression", "train"),
54
52
  }
55
53
  )
56
54
  @control_n_jobs(
@@ -144,7 +142,7 @@ class IncrementalLinearRegression(
144
142
  _parameter_constraints: dict = {
145
143
  "fit_intercept": ["boolean"],
146
144
  "copy_X": ["boolean"],
147
- "n_jobs": [Interval(numbers.Integral, -1, None, closed="left"), None],
145
+ "n_jobs": [numbers.Integral, None],
148
146
  "batch_size": [Interval(numbers.Integral, 1, None, closed="left"), None],
149
147
  }
150
148
 
@@ -164,14 +162,16 @@ class IncrementalLinearRegression(
164
162
  _onedal_gpu_supported = _onedal_supported
165
163
 
166
164
  def _onedal_predict(self, X, queue=None):
167
- if get_config()["use_raw_input"] is False:
165
+ if not get_config()["use_raw_input"]:
168
166
  if sklearn_check_version("1.2"):
169
167
  self._validate_params()
170
168
 
169
+ xp, _ = get_namespace(X)
170
+
171
171
  X = validate_data(
172
172
  self,
173
173
  X,
174
- dtype=[np.float64, np.float32],
174
+ dtype=[xp.float64, xp.float32],
175
175
  copy=self.copy_X,
176
176
  reset=False,
177
177
  )
@@ -179,7 +179,11 @@ class IncrementalLinearRegression(
179
179
  assert hasattr(self, "_onedal_estimator")
180
180
  if self._need_to_finalize:
181
181
  self._onedal_finalize_fit()
182
- return self._onedal_estimator.predict(X, queue=queue)
182
+ res = self._onedal_estimator.predict(X, queue=queue)
183
+
184
+ if res.shape[1] == 1 and self.coef_.ndim == 1:
185
+ res = xp.reshape(res, (-1,))
186
+ return res
183
187
 
184
188
  def _onedal_score(self, X, y, sample_weight=None, queue=None):
185
189
  return r2_score(
@@ -189,22 +193,17 @@ class IncrementalLinearRegression(
189
193
  def _onedal_partial_fit(self, X, y, check_input=True, queue=None):
190
194
  first_pass = not hasattr(self, "n_samples_seen_") or self.n_samples_seen_ == 0
191
195
 
192
- if sklearn_check_version("1.2"):
193
- self._validate_params()
194
-
195
- use_raw_input = get_config().get("use_raw_input", False) is True
196
- # never check input when using raw input
197
- check_input &= use_raw_input is False
198
- if check_input:
196
+ if check_input and not get_config()["use_raw_input"]:
197
+ xp, _ = get_namespace(X, y)
199
198
  X, y = validate_data(
200
199
  self,
201
200
  X,
202
201
  y,
203
- dtype=[np.float64, np.float32],
202
+ dtype=[xp.float64, xp.float32],
204
203
  reset=first_pass,
205
204
  copy=self.copy_X,
206
205
  multi_output=True,
207
- ensure_all_finite=False,
206
+ y_numeric=True,
208
207
  )
209
208
 
210
209
  if first_pass:
@@ -234,20 +233,29 @@ class IncrementalLinearRegression(
234
233
  assert hasattr(self, "_onedal_estimator")
235
234
  self._onedal_validate_underdetermined(self.n_samples_seen_, self.n_features_in_)
236
235
  self._onedal_estimator.finalize_fit()
236
+
237
+ self.n_features_in_ = self._onedal_estimator.n_features_in_
238
+ self._coef_ = self._onedal_estimator.coef_
239
+ self._intercept_ = self._onedal_estimator.intercept_
240
+
241
+ if self._coef_.shape[0] == 1:
242
+ self._coef_ = self._coef_[0, ...] # set to 1d
243
+ self._intercept_ = self._intercept_[0] # set 1d to scalar
244
+
237
245
  self._need_to_finalize = False
238
246
 
239
247
  def _onedal_fit(self, X, y, queue=None):
240
- if get_config()["use_raw_input"] is False:
241
- if sklearn_check_version("1.2"):
242
- self._validate_params()
248
+ if not get_config()["use_raw_input"]:
249
+ xp, _ = get_namespace(X, y)
250
+
243
251
  X, y = validate_data(
244
252
  self,
245
253
  X,
246
254
  y,
247
- dtype=[np.float64, np.float32],
255
+ dtype=[xp.float64, xp.float32],
248
256
  copy=self.copy_X,
249
257
  multi_output=True,
250
- ensure_2d=True,
258
+ y_numeric=True,
251
259
  )
252
260
 
253
261
  n_samples, n_features = X.shape
@@ -264,7 +272,7 @@ class IncrementalLinearRegression(
264
272
  self._onedal_estimator._reset()
265
273
 
266
274
  for batch in gen_batches(n_samples, self.batch_size_):
267
- X_batch, y_batch = X[batch], y[batch]
275
+ X_batch, y_batch = X[batch, ...], y[batch, ...]
268
276
  self._onedal_partial_fit(X_batch, y_batch, check_input=False, queue=queue)
269
277
 
270
278
  # finite check occurs on onedal side
@@ -278,44 +286,6 @@ class IncrementalLinearRegression(
278
286
  self._onedal_finalize_fit()
279
287
  return self
280
288
 
281
- @property
282
- def intercept_(self):
283
- if hasattr(self, "_onedal_estimator"):
284
- if self._need_to_finalize:
285
- self._onedal_finalize_fit()
286
-
287
- return self._onedal_estimator.intercept_
288
- else:
289
- raise AttributeError(
290
- f"'{self.__class__.__name__}' object has no attribute 'intercept_'"
291
- )
292
-
293
- @intercept_.setter
294
- def intercept_(self, value):
295
- self.__dict__["intercept_"] = value
296
- if hasattr(self, "_onedal_estimator"):
297
- self._onedal_estimator.intercept_ = value
298
- del self._onedal_estimator._onedal_model
299
-
300
- @property
301
- def coef_(self):
302
- if hasattr(self, "_onedal_estimator"):
303
- if self._need_to_finalize:
304
- self._onedal_finalize_fit()
305
-
306
- return self._onedal_estimator.coef_
307
- else:
308
- raise AttributeError(
309
- f"'{self.__class__.__name__}' object has no attribute 'coef_'"
310
- )
311
-
312
- @coef_.setter
313
- def coef_(self, value):
314
- self.__dict__["coef_"] = value
315
- if hasattr(self, "_onedal_estimator"):
316
- self._onedal_estimator.coef_ = value
317
- del self._onedal_estimator._onedal_model
318
-
319
289
  def partial_fit(self, X, y, check_input=True):
320
290
  """
321
291
  Incremental fit with X and y. X and y are processed as a single batch.
@@ -338,6 +308,8 @@ class IncrementalLinearRegression(
338
308
  self : IncrementalLinearRegression
339
309
  Returns the instance itself.
340
310
  """
311
+ if sklearn_check_version("1.2") and check_input:
312
+ self._validate_params()
341
313
 
342
314
  dispatch(
343
315
  self,
@@ -374,6 +346,8 @@ class IncrementalLinearRegression(
374
346
  self : IncrementalLinearRegression
375
347
  Returns the instance itself.
376
348
  """
349
+ if sklearn_check_version("1.2"):
350
+ self._validate_params()
377
351
 
378
352
  dispatch(
379
353
  self,
@@ -415,5 +389,39 @@ class IncrementalLinearRegression(
415
389
  sample_weight=sample_weight,
416
390
  )
417
391
 
392
+ @property
393
+ def coef_(self):
394
+ if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
395
+ self._onedal_finalize_fit()
396
+ return self._coef_
397
+
398
+ @coef_.setter
399
+ def coef_(self, value):
400
+ if hasattr(self, "_onedal_estimator"):
401
+ self._onedal_estimator.coef_ = value
402
+ self._onedal_estimator._onedal_model = None
403
+ self._coef_ = value
404
+
405
+ @coef_.deleter
406
+ def coef_(self):
407
+ del self._coef_
408
+
409
+ @property
410
+ def intercept_(self):
411
+ if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
412
+ self._onedal_finalize_fit()
413
+ return self._intercept_
414
+
415
+ @intercept_.setter
416
+ def intercept_(self, value):
417
+ if hasattr(self, "_onedal_estimator"):
418
+ self._onedal_estimator.intercept_ = value
419
+ self._onedal_estimator._onedal_model = None
420
+ self._intercept_ = value
421
+
422
+ @intercept_.deleter
423
+ def intercept_(self):
424
+ del self._intercept_
425
+
418
426
  score.__doc__ = _sklearn_LinearRegression.score.__doc__
419
427
  predict.__doc__ = _sklearn_LinearRegression.predict.__doc__
@@ -17,28 +17,27 @@
17
17
  import numbers
18
18
  import warnings
19
19
 
20
- import numpy as np
21
20
  from sklearn.base import BaseEstimator, MultiOutputMixin, RegressorMixin
22
21
  from sklearn.linear_model import Ridge as _sklearn_Ridge
23
22
  from sklearn.metrics import r2_score
24
23
  from sklearn.utils import gen_batches
25
- from sklearn.utils.validation import check_is_fitted, check_X_y
24
+ from sklearn.utils.validation import check_is_fitted
26
25
 
27
26
  from daal4py.sklearn._n_jobs_support import control_n_jobs
28
- from daal4py.sklearn.utils.validation import sklearn_check_version
29
-
30
- from ..utils.validation import validate_data
31
-
32
- if sklearn_check_version("1.2"):
33
- from sklearn.utils._param_validation import Interval
34
-
27
+ from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
35
28
  from onedal.linear_model import IncrementalRidge as onedal_IncrementalRidge
36
29
 
37
30
  from .._device_offload import dispatch, wrap_output_data
38
31
  from .._utils import PatchingConditionsChain, _add_inc_serialization_note
39
32
  from ..base import oneDALEstimator
33
+ from ..utils._array_api import enable_array_api, get_namespace
34
+ from ..utils.validation import validate_data
35
+
36
+ if sklearn_check_version("1.2"):
37
+ from sklearn.utils._param_validation import Interval
40
38
 
41
39
 
40
+ @enable_array_api("1.5") # validate_data y_numeric requires sklearn >=1.5
42
41
  @control_n_jobs(
43
42
  decorated_methods=["fit", "partial_fit", "predict", "score", "_onedal_finalize_fit"]
44
43
  )
@@ -113,7 +112,7 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
113
112
  "fit_intercept": ["boolean"],
114
113
  "alpha": [Interval(numbers.Real, 0, None, closed="left")],
115
114
  "copy_X": ["boolean"],
116
- "n_jobs": [Interval(numbers.Integral, -1, None, closed="left"), None],
115
+ "n_jobs": [numbers.Integral, None],
117
116
  "batch_size": [Interval(numbers.Integral, 1, None, closed="left"), None],
118
117
  }
119
118
 
@@ -139,12 +138,20 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
139
138
  if sklearn_check_version("1.2"):
140
139
  self._validate_params()
141
140
 
142
- X = validate_data(self, X, accept_sparse=False, reset=False)
141
+ xp, _ = get_namespace(X)
142
+
143
+ X = validate_data(
144
+ self, X, accept_sparse=False, dtype=[xp.float64, xp.float32], reset=False
145
+ )
143
146
 
144
147
  assert hasattr(self, "_onedal_estimator")
145
148
  if self._need_to_finalize:
146
149
  self._onedal_finalize_fit()
147
- return self._onedal_estimator.predict(X, queue=queue)
150
+ res = self._onedal_estimator.predict(X, queue=queue)
151
+
152
+ if res.shape[1] == 1 and self.coef_.ndim == 1:
153
+ res = xp.reshape(res, (-1,))
154
+ return res
148
155
 
149
156
  def _onedal_score(self, X, y, sample_weight=None, queue=None):
150
157
  return r2_score(
@@ -154,19 +161,17 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
154
161
  def _onedal_partial_fit(self, X, y, check_input=True, queue=None):
155
162
  first_pass = not hasattr(self, "n_samples_seen_") or self.n_samples_seen_ == 0
156
163
 
157
- if sklearn_check_version("1.2"):
158
- self._validate_params()
159
-
160
164
  if check_input:
165
+ xp, _ = get_namespace(X, y)
161
166
  X, y = validate_data(
162
167
  self,
163
168
  X,
164
169
  y,
165
- dtype=[np.float64, np.float32],
170
+ dtype=[xp.float64, xp.float32],
166
171
  reset=first_pass,
167
172
  copy=self.copy_X,
168
173
  multi_output=True,
169
- ensure_all_finite=False,
174
+ y_numeric=True,
170
175
  )
171
176
 
172
177
  if first_pass:
@@ -184,36 +189,49 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
184
189
  self._onedal_estimator.partial_fit(X, y, queue=queue)
185
190
  self._need_to_finalize = True
186
191
 
192
+ if daal_check_version((2025, "P", 200)):
193
+
194
+ def _onedal_validate_underdetermined(self, n_samples, n_features):
195
+ pass
196
+
197
+ else:
198
+
199
+ def _onedal_validate_underdetermined(self, n_samples, n_features):
200
+ is_underdetermined = n_samples < n_features + int(self.fit_intercept)
201
+ if is_underdetermined:
202
+ raise ValueError("Not enough samples for oneDAL")
203
+
187
204
  def _onedal_finalize_fit(self):
188
205
  assert hasattr(self, "_onedal_estimator")
189
- is_underdetermined = self.n_samples_seen_ < self.n_features_in_ + int(
190
- self.fit_intercept
191
- )
192
- if is_underdetermined:
193
- raise ValueError("Not enough samples to finalize")
206
+ self._onedal_validate_underdetermined(self.n_samples_seen_, self.n_features_in_)
194
207
  self._onedal_estimator.finalize_fit()
195
- self._save_attributes()
208
+
209
+ self.n_features_in_ = self._onedal_estimator.n_features_in_
210
+ self._coef_ = self._onedal_estimator.coef_
211
+ self._intercept_ = self._onedal_estimator.intercept_
212
+
213
+ if self._coef_.shape[0] == 1:
214
+ self._coef_ = self._coef_[0, ...] # set to 1d
215
+ self._intercept_ = self._intercept_[0] # set 1d to scalar
216
+
196
217
  self._need_to_finalize = False
197
218
 
198
219
  def _onedal_fit(self, X, y, queue=None):
199
- if sklearn_check_version("1.2"):
200
- self._validate_params()
220
+ xp, _ = get_namespace(X, y)
201
221
 
202
222
  X, y = validate_data(
203
223
  self,
204
224
  X,
205
225
  y,
206
- dtype=[np.float64, np.float32],
226
+ dtype=[xp.float64, xp.float32],
207
227
  copy=self.copy_X,
208
228
  multi_output=True,
209
- ensure_2d=True,
229
+ y_numeric=True,
210
230
  )
211
231
 
212
232
  n_samples, n_features = X.shape
213
233
 
214
- is_underdetermined = n_samples < n_features + int(self.fit_intercept)
215
- if is_underdetermined:
216
- raise ValueError("Not enough samples to run oneDAL backend")
234
+ self._onedal_validate_underdetermined(n_samples, n_features)
217
235
 
218
236
  if self.batch_size is None:
219
237
  self.batch_size_ = 5 * n_features
@@ -225,12 +243,9 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
225
243
  self._onedal_estimator._reset()
226
244
 
227
245
  for batch in gen_batches(n_samples, self.batch_size_):
228
- X_batch, y_batch = X[batch], y[batch]
246
+ X_batch, y_batch = X[batch, ...], y[batch, ...]
229
247
  self._onedal_partial_fit(X_batch, y_batch, check_input=False, queue=queue)
230
248
 
231
- if sklearn_check_version("1.2"):
232
- self._validate_params()
233
-
234
249
  # finite check occurs on onedal side
235
250
  self.n_features_in_ = n_features
236
251
 
@@ -265,6 +280,8 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
265
280
  self : IncrementalRidge
266
281
  Returns the instance itself.
267
282
  """
283
+ if sklearn_check_version("1.2") and check_input:
284
+ self._validate_params()
268
285
 
269
286
  dispatch(
270
287
  self,
@@ -301,6 +318,8 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
301
318
  self : IncrementalRidge
302
319
  Returns the instance itself.
303
320
  """
321
+ if sklearn_check_version("1.2"):
322
+ self._validate_params()
304
323
 
305
324
  dispatch(
306
325
  self,
@@ -350,42 +369,39 @@ class IncrementalRidge(MultiOutputMixin, RegressorMixin, oneDALEstimator, BaseEs
350
369
  sample_weight=sample_weight,
351
370
  )
352
371
 
353
- score.__doc__ = _sklearn_Ridge.score.__doc__
354
- predict.__doc__ = _sklearn_Ridge.predict.__doc__
355
-
356
372
  @property
357
373
  def coef_(self):
358
374
  if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
359
375
  self._onedal_finalize_fit()
360
-
361
- return self._coef
376
+ return self._coef_
362
377
 
363
378
  @coef_.setter
364
379
  def coef_(self, value):
365
380
  if hasattr(self, "_onedal_estimator"):
366
381
  self._onedal_estimator.coef_ = value
367
- # checking if the model is already fitted and if so, deleting the model
368
- if hasattr(self._onedal_estimator, "_onedal_model"):
369
- del self._onedal_estimator._onedal_model
370
- self._coef = value
382
+ self._onedal_estimator._onedal_model = None
383
+ self._coef_ = value
384
+
385
+ @coef_.deleter
386
+ def coef_(self):
387
+ del self._coef_
371
388
 
372
389
  @property
373
390
  def intercept_(self):
374
391
  if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
375
392
  self._onedal_finalize_fit()
376
-
377
- return self._intercept
393
+ return self._intercept_
378
394
 
379
395
  @intercept_.setter
380
396
  def intercept_(self, value):
381
397
  if hasattr(self, "_onedal_estimator"):
382
398
  self._onedal_estimator.intercept_ = value
383
- # checking if the model is already fitted and if so, deleting the model
384
- if hasattr(self._onedal_estimator, "_onedal_model"):
385
- del self._onedal_estimator._onedal_model
386
- self._intercept = value
399
+ self._onedal_estimator._onedal_model = None
400
+ self._intercept_ = value
387
401
 
388
- def _save_attributes(self):
389
- self.n_features_in_ = self._onedal_estimator.n_features_in_
390
- self._coef = self._onedal_estimator.coef_
391
- self._intercept = self._onedal_estimator.intercept_
402
+ @intercept_.deleter
403
+ def intercept_(self):
404
+ del self._intercept_
405
+
406
+ score.__doc__ = _sklearn_Ridge.score.__doc__
407
+ predict.__doc__ = _sklearn_Ridge.predict.__doc__
@@ -16,32 +16,30 @@
16
16
 
17
17
  import logging
18
18
 
19
- import numpy as np
19
+ from scipy.sparse import issparse
20
20
  from sklearn.linear_model import LinearRegression as _sklearn_LinearRegression
21
21
  from sklearn.metrics import r2_score
22
- from sklearn.utils.validation import check_array, check_is_fitted
22
+ from sklearn.utils.validation import check_is_fitted
23
23
 
24
24
  from daal4py.sklearn._n_jobs_support import control_n_jobs
25
25
  from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
26
+ from onedal.common.hyperparameters import get_hyperparameters
27
+ from onedal.linear_model import LinearRegression as onedal_LinearRegression
28
+ from onedal.utils.validation import _num_features, _num_samples
26
29
 
27
30
  from .._config import get_config
28
31
  from .._device_offload import dispatch, wrap_output_data
29
32
  from .._utils import PatchingConditionsChain, get_patch_message, register_hyperparameters
30
33
  from ..base import oneDALEstimator
34
+ from ..utils._array_api import enable_array_api, get_namespace
31
35
  from ..utils.validation import validate_data
32
36
 
33
37
  if not sklearn_check_version("1.2"):
34
38
  from sklearn.linear_model._base import _deprecate_normalize
35
39
 
36
- from scipy.sparse import issparse
37
- from sklearn.utils.validation import check_is_fitted, check_X_y
38
-
39
- from onedal.common.hyperparameters import get_hyperparameters
40
- from onedal.linear_model import LinearRegression as onedal_LinearRegression
41
- from onedal.utils.validation import _num_features, _num_samples
42
-
43
40
 
44
- @register_hyperparameters({"fit": get_hyperparameters("linear_regression", "train")})
41
+ @enable_array_api("1.5") # validate_data y_numeric requires sklearn >=1.5
42
+ @register_hyperparameters({"fit": ("linear_regression", "train")})
45
43
  @control_n_jobs(decorated_methods=["fit", "predict", "score"])
46
44
  class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
47
45
  __doc__ = _sklearn_LinearRegression.__doc__
@@ -103,6 +101,8 @@ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
103
101
  positive=positive,
104
102
  )
105
103
 
104
+ _onedal_LinearRegression = staticmethod(onedal_LinearRegression)
105
+
106
106
  def fit(self, X, y, sample_weight=None):
107
107
  if sklearn_check_version("1.2"):
108
108
  self._validate_params()
@@ -251,21 +251,24 @@ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
251
251
 
252
252
  def _initialize_onedal_estimator(self):
253
253
  onedal_params = {"fit_intercept": self.fit_intercept, "copy_X": self.copy_X}
254
- self._onedal_estimator = onedal_LinearRegression(**onedal_params)
254
+ self._onedal_estimator = self._onedal_LinearRegression(**onedal_params)
255
255
 
256
256
  def _onedal_fit(self, X, y, sample_weight, queue=None):
257
257
  assert sample_weight is None
258
258
 
259
- supports_multi_output = daal_check_version((2025, "P", 1))
260
- X, y = validate_data(
261
- self,
262
- X=X,
263
- y=y,
264
- dtype=[np.float64, np.float32],
265
- accept_sparse=["csr", "csc", "coo"],
266
- y_numeric=True,
267
- multi_output=supports_multi_output,
268
- )
259
+ xp, _ = get_namespace(X, y)
260
+
261
+ if not get_config()["use_raw_input"]:
262
+ supports_multi_output = daal_check_version((2025, "P", 1))
263
+ X, y = validate_data(
264
+ self,
265
+ X=X,
266
+ y=y,
267
+ dtype=[xp.float64, xp.float32],
268
+ accept_sparse=["csr", "csc", "coo"],
269
+ y_numeric=True,
270
+ multi_output=supports_multi_output,
271
+ )
269
272
 
270
273
  if not sklearn_check_version("1.2"):
271
274
  self._normalize = _deprecate_normalize(
@@ -275,14 +278,22 @@ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
275
278
  )
276
279
 
277
280
  self._initialize_onedal_estimator()
278
- # TODO:
279
- # impl wrapper/primitive for this case.
280
- if get_config()["allow_sklearn_after_onedal"]:
281
- try:
282
- self._onedal_estimator.fit(X, y, queue=queue)
283
- self._save_attributes()
284
-
285
- except RuntimeError:
281
+
282
+ try:
283
+ self._onedal_estimator.fit(X, y, queue=queue)
284
+
285
+ self.n_features_in_ = self._onedal_estimator.n_features_in_
286
+ self._sparse = False
287
+ self._coef_ = self._onedal_estimator.coef_
288
+ self._intercept_ = self._onedal_estimator.intercept_
289
+
290
+ if self._coef_.shape[0] == 1 and y.ndim == 1:
291
+ self._coef_ = self._coef_[0, ...] # set to 1d
292
+ self._intercept_ = self._intercept_[0] # set 1d to scalar
293
+
294
+ except RuntimeError as e:
295
+ if get_config()["allow_sklearn_after_onedal"]:
296
+
286
297
  logging.getLogger("sklearnex").info(
287
298
  f"{self.__class__.__name__}.fit "
288
299
  + get_patch_message("sklearn_after_onedal")
@@ -290,12 +301,16 @@ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
290
301
 
291
302
  del self._onedal_estimator
292
303
  super().fit(X, y)
293
- else:
294
- self._onedal_estimator.fit(X, y, queue=queue)
295
- self._save_attributes()
304
+ else:
305
+ raise e
296
306
 
297
307
  def _onedal_predict(self, X, queue=None):
298
- X = validate_data(self, X, accept_sparse=False, reset=False)
308
+ xp, _ = get_namespace(X)
309
+
310
+ if not get_config()["use_raw_input"]:
311
+ X = validate_data(
312
+ self, X, accept_sparse=False, dtype=[xp.float64, xp.float32], reset=False
313
+ )
299
314
 
300
315
  if not hasattr(self, "_onedal_estimator"):
301
316
  self._initialize_onedal_estimator()
@@ -303,6 +318,9 @@ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
303
318
  self._onedal_estimator.intercept_ = self.intercept_
304
319
 
305
320
  res = self._onedal_estimator.predict(X, queue=queue)
321
+ if res.shape[1] == 1 and self.coef_.ndim == 1:
322
+ res = xp.reshape(res, (-1,))
323
+
306
324
  return res
307
325
 
308
326
  def _onedal_score(self, X, y, sample_weight=None, queue=None):
@@ -319,7 +337,7 @@ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
319
337
  self._coef_ = value
320
338
  if hasattr(self, "_onedal_estimator"):
321
339
  self._onedal_estimator.coef_ = value
322
- del self._onedal_estimator._onedal_model
340
+ self._onedal_estimator._onedal_model = None
323
341
 
324
342
  @coef_.deleter
325
343
  def coef_(self):
@@ -334,18 +352,12 @@ class LinearRegression(oneDALEstimator, _sklearn_LinearRegression):
334
352
  self._intercept_ = value
335
353
  if hasattr(self, "_onedal_estimator"):
336
354
  self._onedal_estimator.intercept_ = value
337
- del self._onedal_estimator._onedal_model
355
+ self._onedal_estimator._onedal_model = None
338
356
 
339
357
  @intercept_.deleter
340
358
  def intercept_(self):
341
359
  del self._intercept_
342
360
 
343
- def _save_attributes(self):
344
- self.n_features_in_ = self._onedal_estimator.n_features_in_
345
- self._sparse = False
346
- self._coef_ = self._onedal_estimator.coef_
347
- self._intercept_ = self._onedal_estimator.intercept_
348
-
349
361
  fit.__doc__ = _sklearn_LinearRegression.fit.__doc__
350
362
  predict.__doc__ = _sklearn_LinearRegression.predict.__doc__
351
363
  score.__doc__ = _sklearn_LinearRegression.score.__doc__