scikit-learn-intelex 2025.7.0__py312-none-win_amd64.whl → 2025.8.0__py312-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 (272) hide show
  1. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-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.cp312-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.cp312-win_amd64.pyd +0 -0
  7. scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-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/_daal4py.cp312-win_amd64.pyd +0 -0
  76. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1039
  77. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
  78. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
  79. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -110
  80. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -115
  81. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
  82. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -119
  83. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
  84. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
  85. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
  86. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
  87. scikit_learn_intelex-2025.7.0.dist-info/RECORD +0 -258
  88. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  89. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  90. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
  91. {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
  92. {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
  93. {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
  94. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  95. {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
  96. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.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/__init__.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/dbscan.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/k_means.py +0 -0
  100. {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
  101. {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
  102. {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
  103. {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
  104. {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
  105. {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
  106. {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
  107. {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
  108. {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
  109. {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
  110. {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
  111. {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
  112. {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
  113. {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
  114. {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
  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_linear.py +0 -0
  116. {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
  117. {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
  118. {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
  119. {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
  120. {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
  121. {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
  122. {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
  123. {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
  124. {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
  125. {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
  126. {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
  127. {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
  128. {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
  129. {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
  130. {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
  131. {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
  132. {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
  133. {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
  134. {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
  135. {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
  136. {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
  137. {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
  138. {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
  139. {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
  140. {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
  141. {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
  142. {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
  143. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  144. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_config.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/__init__.py +0 -0
  146. {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
  147. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/__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/kmeans_init.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_dbscan.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.py +0 -0
  151. {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
  152. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_backend.py +0 -0
  153. {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
  154. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  155. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  156. {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
  157. {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
  158. {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
  159. {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
  160. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  161. {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
  162. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +0 -0
  163. {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
  164. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  165. {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
  166. {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
  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_linear_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_incremental_ridge_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_logistic_regression.py +0 -0
  170. {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
  171. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  172. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +0 -0
  173. {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
  174. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  175. {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
  176. {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
  177. {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
  178. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/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_csr_svm.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_nusvc.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_nusvr.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_svc.py +0 -0
  184. {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
  185. {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
  186. {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
  187. {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
  188. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/validation.py +0 -0
  189. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  190. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
  191. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/base.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/__init__.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_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/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  195. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.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_dbscan.py +0 -0
  197. {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
  198. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  199. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  200. {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
  201. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  202. {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
  203. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  204. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  205. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.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/__init__.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_linear.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_incremental_ridge.py +0 -0
  209. {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
  210. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  211. {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
  212. {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
  213. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  214. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  215. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  216. {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
  217. {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
  218. {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
  219. {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
  220. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  221. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.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_classification.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_regression.py +0 -0
  224. {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
  225. {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
  226. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/__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/covariance/__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/__init__.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/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/preview/decomposition/tests/test_incremental_pca.py +0 -0
  231. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/__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/__init__.py +0 -0
  233. {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
  234. {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
  235. {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
  236. {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
  237. {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
  238. {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
  239. {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
  240. {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
  241. {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
  242. {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
  243. {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
  244. {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
  245. {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
  246. {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
  247. {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
  248. {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
  249. {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
  250. {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
  251. {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
  252. {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
  253. {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
  254. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  255. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
  256. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
  257. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  258. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
  259. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svr.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_common.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_memory_usage.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_monkeypatch.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_n_jobs_support.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_parallel.py +0 -0
  265. {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
  266. {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
  267. {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
  268. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  269. {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
  270. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/LICENSE.txt +0 -0
  271. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/WHEEL +0 -0
  272. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/top_level.txt +0 -0
@@ -99,9 +99,11 @@ def test_incremental_linear_regression_fit_spmd_gold(
99
99
  inclin.fit(dpt_X, dpt_y)
100
100
 
101
101
  rtol = 1e-5 if (dtype == np.float32) else 1e-7
102
- assert_allclose(inclin.coef_, inclin_spmd.coef_, rtol=rtol)
102
+ assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), rtol=rtol)
103
103
  if fit_intercept:
104
- assert_allclose(inclin.intercept_, inclin_spmd.intercept_, rtol=rtol)
104
+ assert_allclose(
105
+ _as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), rtol=rtol
106
+ )
105
107
 
106
108
 
107
109
  @pytest.mark.skipif(
@@ -184,9 +186,11 @@ def test_incremental_linear_regression_partial_fit_spmd_gold(
184
186
  inclin.fit(dpt_X, dpt_y)
185
187
 
186
188
  rtol = 1e-5 if (dtype == np.float32) else 1e-7
187
- assert_allclose(inclin.coef_, inclin_spmd.coef_, rtol=rtol)
189
+ assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), rtol=rtol)
188
190
  if fit_intercept:
189
- assert_allclose(inclin.intercept_, inclin_spmd.intercept_, rtol=rtol)
191
+ assert_allclose(
192
+ _as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), rtol=rtol
193
+ )
190
194
 
191
195
 
192
196
  @pytest.mark.skipif(
@@ -242,9 +246,11 @@ def test_incremental_linear_regression_fit_spmd_random(
242
246
  inclin_spmd.fit(local_dpt_X, local_dpt_y)
243
247
  inclin.fit(dpt_X, dpt_y)
244
248
 
245
- assert_allclose(inclin.coef_, inclin_spmd.coef_, atol=tol)
249
+ assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), atol=tol)
246
250
  if fit_intercept:
247
- assert_allclose(inclin.intercept_, inclin_spmd.intercept_, atol=tol)
251
+ assert_allclose(
252
+ _as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), atol=tol
253
+ )
248
254
 
249
255
  y_pred_spmd = inclin_spmd.predict(dpt_X_test)
250
256
  y_pred = inclin.predict(dpt_X_test)
@@ -325,9 +331,11 @@ def test_incremental_linear_regression_partial_fit_spmd_random(
325
331
  inclin_spmd.partial_fit(local_dpt_X, local_dpt_y)
326
332
  inclin.partial_fit(dpt_X, dpt_y)
327
333
 
328
- assert_allclose(inclin.coef_, inclin_spmd.coef_, atol=tol)
334
+ assert_allclose(_as_numpy(inclin.coef_), _as_numpy(inclin_spmd.coef_), atol=tol)
329
335
  if fit_intercept:
330
- assert_allclose(inclin.intercept_, inclin_spmd.intercept_, atol=tol)
336
+ assert_allclose(
337
+ _as_numpy(inclin.intercept_), _as_numpy(inclin_spmd.intercept_), atol=tol
338
+ )
331
339
 
332
340
  y_pred_spmd = inclin_spmd.predict(dpt_X_test)
333
341
  y_pred = inclin.predict(dpt_X_test)
@@ -19,6 +19,7 @@ import pytest
19
19
  from numpy.testing import assert_allclose
20
20
 
21
21
  from onedal.tests.utils._dataframes_support import (
22
+ _as_numpy,
22
23
  _convert_to_dataframe,
23
24
  get_dataframes_and_queues,
24
25
  )
@@ -83,8 +84,8 @@ def test_linear_spmd_gold(dataframe, queue):
83
84
  spmd_model = LinearRegression_SPMD().fit(local_dpt_X_train, local_dpt_y_train)
84
85
  batch_model = LinearRegression_Batch().fit(X_train, y_train)
85
86
 
86
- assert_allclose(spmd_model.coef_, batch_model.coef_)
87
- assert_allclose(spmd_model.intercept_, batch_model.intercept_)
87
+ assert_allclose(_as_numpy(spmd_model.coef_), _as_numpy(batch_model.coef_))
88
+ assert_allclose(_as_numpy(spmd_model.intercept_), _as_numpy(batch_model.intercept_))
88
89
 
89
90
  # ensure predictions of batch algo match spmd
90
91
  spmd_result = spmd_model.predict(local_dpt_X_test)
@@ -142,8 +143,15 @@ def test_linear_spmd_synthetic(
142
143
  batch_model = LinearRegression_Batch().fit(X_train, y_train)
143
144
 
144
145
  tol = 1e-3 if dtype == np.float32 else 1e-7
145
- assert_allclose(spmd_model.coef_, batch_model.coef_, rtol=tol, atol=tol)
146
- assert_allclose(spmd_model.intercept_, batch_model.intercept_, rtol=tol, atol=tol)
146
+ assert_allclose(
147
+ _as_numpy(spmd_model.coef_), _as_numpy(batch_model.coef_), rtol=tol, atol=tol
148
+ )
149
+ assert_allclose(
150
+ _as_numpy(spmd_model.intercept_),
151
+ _as_numpy(batch_model.intercept_),
152
+ rtol=tol,
153
+ atol=tol,
154
+ )
147
155
 
148
156
  # ensure predictions of batch algo match spmd
149
157
  # Configure raw input status for spmd estimator
@@ -18,6 +18,11 @@ import numpy as np
18
18
  import pytest
19
19
  from numpy.testing import assert_allclose
20
20
 
21
+ try:
22
+ from scipy.sparse import csr_array as csr_class
23
+ except ImportError:
24
+ from scipy.sparse import csr_matrix as csr_class
25
+
21
26
  from onedal.tests.utils._dataframes_support import (
22
27
  _as_numpy,
23
28
  _convert_to_dataframe,
@@ -91,3 +96,29 @@ def test_sklearnex_import_nusvr(dataframe, queue):
91
96
  _as_numpy(svc.dual_coef_), [[-1.0, 0.611111, 1.0, -0.611111]], rtol=1e-3
92
97
  )
93
98
  assert_allclose(_as_numpy(svc.support_), [1, 2, 3, 5])
99
+
100
+
101
+ # https://github.com/uxlfoundation/scikit-learn-intelex/issues/1880
102
+ def test_works_with_unsorted_indices():
103
+ from sklearnex.svm import SVC
104
+
105
+ X = csr_class(
106
+ (
107
+ np.array(
108
+ [0.44943642, 0.6316672, 0.6316672, 0.44943642, 0.6316672, 0.6316672]
109
+ ),
110
+ np.array([1, 4, 3, 1, 2, 0], dtype=np.int32),
111
+ np.array([0, 3, 6], dtype=np.int32),
112
+ ),
113
+ shape=(2, 5),
114
+ )
115
+ y = np.array([1, 0])
116
+ X_test_single = np.array([[1, 0, 0, 0, 0]], dtype=np.float64)
117
+ X_test_multi = np.array([[1, 0, 0, 0, 0], [1, 0, 0, 0, 0]], dtype=np.float64)
118
+ model = SVC(probability=True).fit(X, y)
119
+ pred_single = model.predict_proba(X_test_single)
120
+ pred_multi = model.predict_proba(X_test_multi)[0]
121
+ np.testing.assert_array_equal(
122
+ pred_single.reshape(-1),
123
+ pred_multi.reshape(-1),
124
+ )
@@ -15,6 +15,8 @@
15
15
  # ==============================================================================
16
16
 
17
17
  import logging
18
+ from contextlib import nullcontext
19
+ from unittest.mock import patch
18
20
 
19
21
  import numpy as np
20
22
  import pytest
@@ -160,6 +162,11 @@ def test_fallback_to_host(caplog):
160
162
  from sklearnex._device_offload import dispatch
161
163
  from sklearnex._utils import PatchingConditionsChain
162
164
 
165
+ # This is done due to the use of name mangling in _sycl_queue_manager which
166
+ # doesn't operate in classes directly. This impacts sklearnex's ``dispatch``
167
+ # routine, which expects class methods rather than instance methods.
168
+ is_fallback = lambda: QM.__global_queue == QM.__fallback_queue
169
+
163
170
  class _Estimator:
164
171
  def _onedal_gpu_supported(self, method_name, *data):
165
172
  patching_status = PatchingConditionsChain("")
@@ -172,11 +179,7 @@ def test_fallback_to_host(caplog):
172
179
 
173
180
  def _onedal_test(self, *args, queue=None):
174
181
  if args[0] == "cpu":
175
- assert (
176
- queue is None
177
- and QM.__global_queue == QM.__fallback_queue
178
- and QM.get_global_queue() is None
179
- )
182
+ assert queue is None and is_fallback() and QM.get_global_queue() is None
180
183
  elif args[0] == "gpu":
181
184
  assert queue is not None and QM.get_global_queue() is not None
182
185
 
@@ -194,7 +197,7 @@ def test_fallback_to_host(caplog):
194
197
  dispatch(
195
198
  est,
196
199
  "test",
197
- {"onedal": est._onedal_test, "sklearn": None},
200
+ {"onedal": _Estimator._onedal_test, "sklearn": None},
198
201
  "cpu" if fallback else "gpu",
199
202
  )
200
203
 
@@ -205,3 +208,49 @@ def test_fallback_to_host(caplog):
205
208
  in caplog.messages[start:]
206
209
  )
207
210
  start = len(caplog.messages)
211
+
212
+
213
+ def test_other_device_fallback():
214
+ # force a fallback to cpu with direct use of dispatch and PatchingConditionsChain
215
+ # it should complete with allow_fallback_to_host. The data should be moved to cpu
216
+ # by calling ``to_device``.
217
+ from onedal.utils import _sycl_queue_manager as QM
218
+ from sklearnex._device_offload import dispatch
219
+ from sklearnex._utils import PatchingConditionsChain
220
+
221
+ class FakeCUDA:
222
+ def __init__(self, data):
223
+ self.__data = data
224
+
225
+ def to_device(self, *args):
226
+ return self.__data
227
+
228
+ def __dlpack_device__(self):
229
+ return (2, 0)
230
+
231
+ class _CPUEstimator:
232
+ def _onedal_cpu_supported(self, method_name, *data):
233
+ patching_status = PatchingConditionsChain("")
234
+ return patching_status
235
+
236
+ def _onedal_test(self, data, queue=None):
237
+ assert queue is None and QM.get_global_queue() is None
238
+ assert isinstance(data, np.ndarray)
239
+
240
+ est = _CPUEstimator()
241
+ err_msg = "Device support is not implemented for the supplied data type."
242
+ data = FakeCUDA(np.eye(5, 8))
243
+
244
+ for fallback in [True, False]:
245
+ ctx = nullcontext() if fallback else pytest.raises(RuntimeError, match=err_msg)
246
+ _mock = patch.object(FakeCUDA, "to_device", wraps=data.to_device)
247
+ with sklearnex.config_context(allow_fallback_to_host=fallback), ctx, _mock as spy:
248
+ dispatch(
249
+ est,
250
+ "test",
251
+ {"onedal": _CPUEstimator._onedal_test, "sklearn": None},
252
+ data,
253
+ )
254
+ if fallback:
255
+ # verify ``FakeCUDA.to_device`` was used
256
+ spy.assert_called_once_with("cpu")
@@ -0,0 +1,111 @@
1
+ # ==============================================================================
2
+ # Copyright 2024 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ==============================================================================
16
+
17
+ import numpy as np
18
+ import pytest
19
+ from sklearn.datasets import make_classification, make_regression
20
+
21
+ from daal4py.sklearn._utils import daal_check_version
22
+ from sklearnex.decomposition import PCA
23
+ from sklearnex.ensemble import RandomForestClassifier
24
+ from sklearnex.linear_model import IncrementalLinearRegression, LinearRegression
25
+ from sklearnex.preview.covariance import EmpiricalCovariance
26
+
27
+ # Table of estimators to test hyperparameter reset functionality.
28
+ # Each row contains the following elements:
29
+ #
30
+ # [estimator, estimator_type, operation, hyperparameter_name, non_default_value]
31
+ #
32
+ # estimator: the estimator class to test. For example, EmpiricalCovariance.
33
+ # estimator_type: the type of operation to get.
34
+ # Possible values: "compute", "regression", "classification".
35
+ # operation: the argument used in get_hyperparameters() and reset_hyperparameters()
36
+ # methods of the estimator.
37
+ # hyperparameter_name: the name of the hyperparameter to test.
38
+ # non_default_value: the value to set for the hyperparameter before resetting it.
39
+ # This value should be different from the default value of the hyperparameter.
40
+ test_estimators = [
41
+ [EmpiricalCovariance, "compute", "fit", "cpu_macro_block", 10],
42
+ [IncrementalLinearRegression, "regression", "fit", "cpu_macro_block", 10],
43
+ [IncrementalLinearRegression, "regression", "partial_fit", "cpu_macro_block", 10],
44
+ [LinearRegression, "regression", "fit", "cpu_macro_block", 10],
45
+ ]
46
+
47
+ if daal_check_version((2024, "P", 300)):
48
+ test_estimators.append(
49
+ [RandomForestClassifier, "classification", "predict", "block_size", 8]
50
+ )
51
+
52
+ if daal_check_version((2025, "P", 700)):
53
+ test_estimators.append([EmpiricalCovariance, "compute", "fit", "cpu_grain_size", 2])
54
+ test_estimators.append([PCA, "compute", "fit", "cpu_macro_block", 10])
55
+
56
+
57
+ def call_estimator(estimator_object, estimator_type, op, X, y=None):
58
+ if estimator_type == "compute":
59
+ return estimator_object.fit(X)
60
+ elif estimator_type == "regression" or estimator_type == "classification":
61
+ if y is None:
62
+ raise ValueError("y must be provided for regression or classification tasks")
63
+ if op == "partial_fit":
64
+ result = estimator_object.partial_fit(X, y)
65
+ else:
66
+ result = estimator_object.fit(X, y)
67
+ if op == "predict":
68
+ return estimator_object.predict(X)
69
+ else:
70
+ return result
71
+ else:
72
+ raise ValueError(f"Unknown estimator type: {estimator_type}")
73
+
74
+
75
+ def test_reset_hyperparameters():
76
+ for estimator, estimator_type, op, param_name, non_default_value in test_estimators:
77
+
78
+ if estimator_type == "compute":
79
+ X = np.random.rand(100, 5)
80
+ y = None
81
+ elif estimator_type == "regression":
82
+ X, y = make_regression(n_features=5, n_informative=5, random_state=777)
83
+ elif estimator_type == "classification":
84
+ X, y = make_classification(n_features=5, random_state=777)
85
+
86
+ # Create an instance of the estimator
87
+ est_object = estimator()
88
+
89
+ # Fit the model to the data with the default hyperparameters
90
+ call_estimator(est_object, estimator_type, op, X, y)
91
+
92
+ # Get the hyperparameters before resetting
93
+ hparams_before = estimator.get_hyperparameters(op)
94
+ default_hparam_value = getattr(hparams_before, param_name)
95
+
96
+ # Fit the model to the data with non-default hyperparameters
97
+ setattr(hparams_before, param_name, non_default_value)
98
+ call_estimator(est_object, estimator_type, op, X, y)
99
+
100
+ # Check if the hyperparameters have been set to non-default values
101
+ assert getattr(hparams_before, param_name) == non_default_value
102
+ assert getattr(estimator.get_hyperparameters(op), param_name) == non_default_value
103
+
104
+ # Reset the hyperparameters
105
+ estimator.reset_hyperparameters(op)
106
+ call_estimator(est_object, estimator_type, op, X, y)
107
+
108
+ # Check if the hyperparameters have been reset to default values
109
+ assert (
110
+ getattr(estimator.get_hyperparameters(op), param_name) == default_hparam_value
111
+ )
@@ -168,25 +168,25 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
168
168
  )
169
169
  elif method and not hasattr(est, method):
170
170
  pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
171
- elif dataframe == "array_api" and estimator == "PCA" and "score" in method:
172
- pytest.skip(
173
- f"PCA.{method} has sklearn array_api support which breaks with array_api_dispatching"
174
- )
175
- elif (
176
- dataframe == "array_api"
177
- and not sklearn_check_version("1.3")
178
- and estimator == "IncrementalEmpiricalCovariance"
179
- and method == "score"
180
- ):
181
- pytest.skip(
182
- f"array checking in sklearn <1.3 does not fully support array_api inputs, causes sklearnex-only estimator failure"
183
- )
184
171
 
185
172
  if dataframe == "array_api":
186
173
  # as array_api dispatching is experimental, sklearn support isn't guaranteed.
187
174
  # the infrastructure from sklearn that sklearnex depends on is also susceptible
188
175
  # to failure. In this case compare to sklearn for the same failure. By design
189
176
  # the patching of sklearn should act similarly. Technically this is conformance.
177
+ if estimator == "PCA" and "score" in method:
178
+ pytest.skip(
179
+ f"PCA.{method} has sklearn array_api support which breaks with array_api_dispatching"
180
+ )
181
+ elif (
182
+ not sklearn_check_version("1.3")
183
+ and estimator == "IncrementalEmpiricalCovariance"
184
+ and method == "score"
185
+ ):
186
+ pytest.skip(
187
+ f"array checking in sklearn <1.3 does not fully support array_api inputs, causes sklearnex-only estimator failure"
188
+ )
189
+
190
190
  with config_context(array_api_dispatch=True):
191
191
  try:
192
192
  _check_estimator_patching(caplog, dataframe, queue, dtype, est, method)
@@ -398,25 +398,13 @@ def _get_processor_info():
398
398
  class DummyEstimator(BaseEstimator):
399
399
 
400
400
  def fit(self, X, y=None):
401
- sua_iface, xp, _ = _get_sycl_namespace(X)
402
401
  X_table = to_table(X)
403
402
  y_table = to_table(y)
404
403
  # The presence of the fitted attributes (ending with a trailing
405
404
  # underscore) is required for the correct check. The cleanup of
406
405
  # the memory will occur at the estimator instance deletion.
407
- if sua_iface:
408
- self.x_attr_ = from_table(
409
- X_table, sua_iface=sua_iface, sycl_queue=X.sycl_queue, xp=xp
410
- )
411
- self.y_attr_ = from_table(
412
- y_table,
413
- sua_iface=sua_iface,
414
- sycl_queue=X.sycl_queue if y is None else y.sycl_queue,
415
- xp=xp,
416
- )
417
- else:
418
- self.x_attr_ = from_table(X_table)
419
- self.y_attr_ = from_table(y_table)
406
+ self.x_attr_ = from_table(X_table, like=X)
407
+ self.y_attr_ = from_table(y_table, like=X if y is None else y)
420
408
 
421
409
  return self
422
410
 
@@ -424,13 +412,7 @@ class DummyEstimator(BaseEstimator):
424
412
  # Checks if the estimator is fitted by verifying the presence of
425
413
  # fitted attributes (ending with a trailing underscore).
426
414
  check_is_fitted(self)
427
- sua_iface, xp, _ = _get_sycl_namespace(X)
428
415
  X_table = to_table(X)
429
- if sua_iface:
430
- returned_X = from_table(
431
- X_table, sua_iface=sua_iface, sycl_queue=X.sycl_queue, xp=xp
432
- )
433
- else:
434
- returned_X = from_table(X_table)
416
+ returned_X = from_table(X_table, like=X)
435
417
 
436
418
  return returned_X
@@ -16,11 +16,19 @@
16
16
 
17
17
  """Tools to support array_api."""
18
18
 
19
+ from collections.abc import Callable
20
+ from typing import Union
21
+
19
22
  import numpy as np
20
23
 
21
24
  from daal4py.sklearn._utils import sklearn_check_version
22
25
  from onedal.utils._array_api import _get_sycl_namespace
23
26
 
27
+ from ..base import oneDALEstimator
28
+
29
+ if sklearn_check_version("1.6"):
30
+ from ..base import Tags
31
+
24
32
  if sklearn_check_version("1.2"):
25
33
  from sklearn.utils._array_api import get_namespace as sklearn_get_namespace
26
34
 
@@ -80,3 +88,66 @@ def get_namespace(*arrays):
80
88
  return sklearn_get_namespace(*arrays)
81
89
  else:
82
90
  return np, False
91
+
92
+
93
+ def _enable_array_api(original_class: type[oneDALEstimator]) -> type[oneDALEstimator]:
94
+ if sklearn_check_version("1.6"):
95
+
96
+ def __sklearn_tags__(self) -> Tags:
97
+ sktags = super(original_class, self).__sklearn_tags__()
98
+ sktags.onedal_array_api = True
99
+ return sktags
100
+
101
+ original_class.__sklearn_tags__ = __sklearn_tags__
102
+
103
+ elif sklearn_check_version("1.3"):
104
+
105
+ def _more_tags(self) -> dict[str, bool]:
106
+ return {"onedal_array_api": True}
107
+
108
+ original_class._more_tags = _more_tags
109
+
110
+ return original_class
111
+
112
+
113
+ def enable_array_api(
114
+ class_or_str: Union[type[oneDALEstimator], str],
115
+ ) -> Union[type[oneDALEstimator], Callable]:
116
+ """Enable sklearnex to use dpctl, dpnp or array API inputs in oneDAL offloading.
117
+
118
+ This wrapper sets the proper flags/tags for the sklearnex infrastructure
119
+ to maintain the data framework, as the estimator can use it natively.
120
+
121
+ Parameters
122
+ ----------
123
+ class_or_str : oneDALEstimator subclass or str
124
+ Class which should enable data zero-copy support in sklearnex. By
125
+ default it will enable for sklearn versions >1.3. If the wrapper is
126
+ decorated with an argument, it must be a string defining the oldest
127
+ sklearn version where array API support begins.
128
+
129
+ Returns
130
+ -------
131
+ cls or wrapper : modified oneDALEstimator subclass or wrapper
132
+ Estimator class or wrapper.
133
+
134
+ Examples
135
+ --------
136
+ @enable_array_api # default array API support
137
+ class PCA():
138
+ ...
139
+
140
+ @enable_array_api("1.5") # array API support for sklearn > 1.5
141
+ class Ridge():
142
+ ...
143
+ """
144
+ if isinstance(class_or_str, str):
145
+ # enable array_api for the estimator for a given sklearn version str
146
+ if sklearn_check_version(class_or_str):
147
+ return _enable_array_api
148
+ else:
149
+ # do not apply the wrapper as it is not supported
150
+ return lambda x: x
151
+ else:
152
+ # default setting (apply array_api enablement for sklearn >=1.3)
153
+ return _enable_array_api(class_or_str)
@@ -0,0 +1,97 @@
1
+ # ===============================================================================
2
+ # Copyright 2023 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ===============================================================================
16
+
17
+ import warnings
18
+ from functools import update_wrapper
19
+
20
+ from daal4py.sklearn._utils import sklearn_check_version
21
+
22
+ from .._config import config_context, get_config
23
+
24
+ # Replacement of _FuncWrapper is required to correctly propagate
25
+ # the scikit-learn-intelex configuration functions to the joblib workers.
26
+ if sklearn_check_version("1.7"):
27
+
28
+ class _FuncWrapper:
29
+ """Load the global configuration before calling the function."""
30
+
31
+ def __init__(self, function):
32
+ self.function = function
33
+ update_wrapper(self, self.function)
34
+
35
+ def with_config_and_warning_filters(self, config, warning_filters):
36
+ self.config = config
37
+ self.warning_filters = warning_filters
38
+ return self
39
+
40
+ def __call__(self, *args, **kwargs):
41
+ config = getattr(self, "config", {})
42
+ warning_filters = getattr(self, "warning_filters", [])
43
+ if not config or not warning_filters:
44
+ warnings.warn(
45
+ (
46
+ "`sklearn.utils.parallel.delayed` should be used with"
47
+ " `sklearn.utils.parallel.Parallel` to make it possible to"
48
+ " propagate the scikit-learn configuration of the current thread to"
49
+ " the joblib workers."
50
+ ),
51
+ UserWarning,
52
+ )
53
+
54
+ with config_context(**config), warnings.catch_warnings():
55
+ warnings.filters = warning_filters
56
+ return self.function(*args, **kwargs)
57
+
58
+ elif sklearn_check_version("1.2.1"):
59
+
60
+ class _FuncWrapper:
61
+ """Load the global configuration before calling the function."""
62
+
63
+ def __init__(self, function):
64
+ self.function = function
65
+ update_wrapper(self, self.function)
66
+
67
+ def with_config(self, config):
68
+ self.config = config
69
+ return self
70
+
71
+ def __call__(self, *args, **kwargs):
72
+ config = getattr(self, "config", None)
73
+ if config is None:
74
+ warnings.warn(
75
+ "`sklearn.utils.parallel.delayed` should be used with "
76
+ "`sklearn.utils.parallel.Parallel` to make it possible to propagate "
77
+ "the scikit-learn configuration of the current thread to the "
78
+ "joblib workers.",
79
+ UserWarning,
80
+ )
81
+ config = {}
82
+ with config_context(**config):
83
+ return self.function(*args, **kwargs)
84
+
85
+ else:
86
+
87
+ class _FuncWrapper:
88
+ """Load the global configuration before calling the function."""
89
+
90
+ def __init__(self, function):
91
+ self.function = function
92
+ self.config = get_config()
93
+ update_wrapper(self, self.function)
94
+
95
+ def __call__(self, *args, **kwargs):
96
+ with config_context(**self.config):
97
+ return self.function(*args, **kwargs)
@@ -16,6 +16,7 @@
16
16
 
17
17
  import math
18
18
  import numbers
19
+ from collections.abc import Sequence
19
20
 
20
21
  import scipy.sparse as sp
21
22
  from sklearn.utils.validation import _assert_all_finite as _sklearn_assert_all_finite
@@ -124,7 +125,6 @@ def validate_data(
124
125
  # run local finite check
125
126
  allow_nan = ensure_all_finite == "allow-nan"
126
127
  # the return object from validate_data can be a single
127
-
128
128
  # element (either x or y) or both (as a tuple). An iterator along with
129
129
  # check_x and check_y can go through the output properly without
130
130
  # stacking layers of if statements to make sure the proper input_name
@@ -135,6 +135,24 @@ def validate_data(
135
135
  if check_y:
136
136
  assert_all_finite(next(arg), allow_nan=allow_nan, input_name="y")
137
137
 
138
+ if check_y and kwargs.get("y_numeric", False):
139
+ # validate_data does not do full dtype conversions, as it uses check_X_y
140
+ # oneDAL can make tables from [int32, float32, float64], requiring
141
+ # a dtype check and conversion. This will query the array_namespace and
142
+ # convert y as necessary. This is important especially for regressors.
143
+ outx, outy = out if check_x else (None, out)
144
+ yp, _ = get_namespace(outy)
145
+
146
+ # avoid using ``kwargs.get("dtype")`` as it will always set up the default
147
+ dtype = kwargs.get("dtype", (yp.float64, yp.float32, yp.int32))
148
+ if not isinstance(dtype, Sequence):
149
+ dtype = tuple(dtype)
150
+
151
+ if outy.dtype not in dtype:
152
+ # use asarray rather than astype because of numpy support
153
+ outy = yp.asarray(outy, dtype=dtype[0])
154
+ out = (outx, outy) if check_x else outy
155
+
138
156
  return out
139
157
 
140
158
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scikit-learn-intelex
3
- Version: 2025.7.0
3
+ Version: 2025.8.0
4
4
  Summary: Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application.
5
5
  Home-page: https://github.com/intel/scikit-learn-intelex
6
6
  Author: Intel Corporation
@@ -30,7 +30,7 @@ Classifier: Topic :: Software Development
30
30
  Requires-Python: >=3.7
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE.txt
33
- Requires-Dist: daal ==2025.7.0
33
+ Requires-Dist: daal ==2025.8.0
34
34
  Requires-Dist: numpy >=1.19
35
35
  Requires-Dist: scikit-learn >=0.22
36
36