scikit-learn-intelex 2025.7.0__py311-none-win_amd64.whl → 2025.9.0__py311-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 (278) hide show
  1. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  2. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +19 -8
  3. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +17 -23
  4. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
  5. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +4 -4
  6. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +545 -0
  7. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +5 -2
  8. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +2 -2
  9. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/_device_offload.py +41 -40
  10. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  11. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  12. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +52 -76
  13. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +26 -41
  14. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +6 -7
  15. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +11 -11
  16. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +7 -25
  17. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +1 -1
  18. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +31 -11
  19. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +5 -0
  20. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +7 -16
  21. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +13 -18
  22. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +3 -3
  23. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +6 -3
  24. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +158 -0
  25. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +64 -0
  26. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +9 -24
  27. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +85 -18
  28. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -40
  29. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
  30. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +11 -5
  31. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +5 -5
  32. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +48 -160
  33. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +75 -188
  34. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +25 -11
  35. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +10 -17
  36. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +5 -4
  37. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +14 -0
  38. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -0
  39. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +51 -25
  40. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_third_party.py +52 -2
  41. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/__init__.py +2 -1
  42. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -5
  43. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +13 -12
  44. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_utils.py +31 -4
  45. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +26 -37
  46. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +33 -42
  47. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +30 -27
  48. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +1 -0
  49. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +139 -98
  50. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +30 -0
  51. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
  52. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +164 -0
  53. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -6
  54. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +8 -2
  55. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +22 -7
  56. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +2 -0
  57. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +76 -68
  58. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +69 -53
  59. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +53 -41
  60. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +122 -38
  61. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +42 -31
  62. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +27 -61
  63. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +565 -0
  64. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +8 -6
  65. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +260 -0
  66. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +112 -0
  67. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
  68. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +55 -1
  69. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +7 -4
  70. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +6 -3
  71. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +12 -8
  72. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
  73. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +7 -4
  74. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +18 -8
  75. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +7 -2
  76. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +6 -4
  77. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +2 -2
  78. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +19 -6
  79. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
  80. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +21 -4
  81. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
  82. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -8
  83. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -4
  84. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +23 -0
  85. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +136 -13
  86. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +71 -8
  87. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +31 -0
  88. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -1
  89. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +55 -6
  90. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
  91. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +1 -1
  92. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +18 -14
  93. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +3 -21
  94. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +217 -0
  95. scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
  96. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +19 -1
  97. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/METADATA +83 -92
  98. scikit_learn_intelex-2025.9.0.dist-info/RECORD +259 -0
  99. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  100. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1039
  101. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  102. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  103. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -110
  104. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +0 -200
  105. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -423
  106. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -115
  107. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
  108. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -129
  109. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -119
  110. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -227
  111. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
  112. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
  113. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  114. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
  115. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -82
  116. scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
  117. scikit_learn_intelex-2025.7.0.dist-info/RECORD +0 -258
  118. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  119. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  120. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +0 -0
  121. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +0 -0
  122. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  123. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
  124. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
  125. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  126. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
  127. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
  128. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  129. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  130. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
  131. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
  132. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
  133. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  134. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
  135. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  136. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  137. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
  138. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
  139. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
  140. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  141. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  142. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  143. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  144. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  145. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  146. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
  147. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
  149. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  150. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  151. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  152. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  153. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  154. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
  155. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  156. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  157. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  158. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  159. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
  160. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
  161. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
  162. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  163. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  164. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  165. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
  166. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  167. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
  168. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  169. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  170. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
  171. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  172. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  173. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  174. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
  175. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  176. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  177. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  178. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_backend.py +0 -0
  179. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  180. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  181. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  182. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  183. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  184. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  185. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  186. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  187. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  188. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  189. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  190. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  191. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  192. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  193. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  194. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
  196. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +0 -0
  197. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
  198. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  199. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -0
  200. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
  201. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
  202. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
  203. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
  204. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
  205. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  206. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
  207. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
  208. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/validation.py +0 -0
  209. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  210. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/base.py +0 -0
  211. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  213. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  214. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  215. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  216. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  217. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  218. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  219. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  221. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  223. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  224. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  225. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  226. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  227. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  228. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  229. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
  230. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  231. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  233. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  234. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  235. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
  237. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  238. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
  240. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
  241. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
  242. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
  243. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  244. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  245. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  247. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  250. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  251. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  252. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
  253. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
  254. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  255. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  256. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  257. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  258. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  259. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  260. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  261. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  262. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
  263. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  264. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
  265. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  266. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
  267. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
  268. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
  269. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  270. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  271. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
  272. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  273. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  274. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  275. {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  276. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/LICENSE.txt +0 -0
  277. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/WHEEL +0 -0
  278. {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,406 @@
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 scipy.sparse as sp
19
+ from sklearn.decomposition import IncrementalPCA as _sklearn_IncrementalPCA
20
+ from sklearn.utils import check_array, gen_batches
21
+ from sklearn.utils.validation import check_is_fitted
22
+
23
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
24
+ from daal4py.sklearn._utils import sklearn_check_version
25
+ from onedal.decomposition import IncrementalPCA as onedal_IncrementalPCA
26
+
27
+ from ..._config import get_config
28
+ from ..._device_offload import dispatch, wrap_output_data
29
+ from ..._utils import PatchingConditionsChain, _add_inc_serialization_note
30
+ from ...base import oneDALEstimator
31
+ from ...utils._array_api import enable_array_api, get_namespace
32
+ from ...utils.validation import validate_data
33
+
34
+ if sklearn_check_version("1.2"):
35
+ from sklearn.utils._param_validation import StrOptions
36
+
37
+
38
+ @enable_array_api
39
+ @control_n_jobs(
40
+ decorated_methods=["fit", "partial_fit", "transform", "_onedal_finalize_fit"]
41
+ )
42
+ class IncrementalPCA(oneDALEstimator, _sklearn_IncrementalPCA):
43
+ __doc__ = _sklearn_IncrementalPCA.__doc__
44
+
45
+ if sklearn_check_version("1.2"):
46
+ _parameter_constraints: dict = {
47
+ **_sklearn_IncrementalPCA._parameter_constraints,
48
+ "svd_solver": [StrOptions({"auto", "covariance_eigh", "onedal_svd"})],
49
+ }
50
+
51
+ def __init__(
52
+ self,
53
+ n_components=None,
54
+ *,
55
+ whiten=False,
56
+ copy=True,
57
+ batch_size=None,
58
+ svd_solver="auto",
59
+ ):
60
+ super().__init__(
61
+ n_components=n_components, whiten=whiten, copy=copy, batch_size=batch_size
62
+ )
63
+ self.svd_solver = svd_solver
64
+ self._need_to_finalize = False
65
+ # Note: use of the onedal_svd solver will cause partial result to grow proportionally
66
+ # to the input data and for that reason is not the default, which is contrary
67
+ # to the scikit-learn implementation.
68
+
69
+ _onedal_incremental_pca = staticmethod(onedal_IncrementalPCA)
70
+
71
+ def _set_n_components(self, n_components, n_samples, n_features, first_pass):
72
+ # extracted from sklearn's ``IncrementalPCA.partial_fit``. This is a
73
+ # maintenance burden that cannot be easily separated from sklearn.
74
+ if n_components is None:
75
+ if self._components_ is None:
76
+ self._n_components_ = min(n_samples, n_features)
77
+ else:
78
+ self._n_components_ = self.components_.shape[0]
79
+ elif not 1 <= n_components <= n_features:
80
+ raise ValueError(
81
+ "n_components=%r invalid for n_features=%d, need "
82
+ "more rows than columns for IncrementalPCA "
83
+ "processing" % (self.n_components, n_features)
84
+ )
85
+ elif n_components > n_samples and (
86
+ not sklearn_check_version("1.6") or first_pass
87
+ ):
88
+ raise ValueError(
89
+ "n_components=%r must be less or equal to "
90
+ "the batch number of samples "
91
+ "%d" % (self.n_components, n_samples)
92
+ + (
93
+ " for the first partial_fit call."
94
+ if sklearn_check_version("1.6")
95
+ else ""
96
+ )
97
+ )
98
+ else:
99
+ self._n_components_ = n_components
100
+
101
+ # the private variables are used to not trigger _onedal_finalize_fit
102
+ if (self._components_ is not None) and (
103
+ self._components_.shape[0] != self._n_components_
104
+ ):
105
+ raise ValueError(
106
+ "Number of input features has changed from %i "
107
+ "to %i between calls to partial_fit! Try "
108
+ "setting n_components to a fixed value."
109
+ % (self.components_.shape[0], self.n_components_)
110
+ )
111
+
112
+ def _compute_noise_variance(self, n_sf_min, xp):
113
+ # generally replicates capability seen in sklearn.PCA._fit_full
114
+ explained_variance = self._onedal_estimator.explained_variance_
115
+ if self._n_components_ < n_sf_min:
116
+ if explained_variance.shape[0] == n_sf_min:
117
+ return xp.mean(explained_variance[self._n_components_ :])
118
+ elif explained_variance.shape[0] < n_sf_min:
119
+ # replicates capability seen in sklearn.PCA._fit_truncated
120
+ # this is necessary as oneDAL will fit only to self.n_components
121
+ # which leads to self.explained_variance_ not containing the
122
+ # full information (and therefore can't replicate
123
+ # sklearn.PCA._fit_full)
124
+ resid_var = xp.sum(self._onedal_estimator.var_) - xp.sum(
125
+ explained_variance
126
+ )
127
+ return resid_var / (n_sf_min - self._n_components_)
128
+ else:
129
+ return 0.0
130
+
131
+ def _onedal_transform(self, X, queue=None):
132
+ # does not batch out data like sklearn's ``IncrementalPCA.transform``
133
+ if self._need_to_finalize:
134
+ self._onedal_finalize_fit()
135
+ if not get_config()["use_raw_input"]:
136
+ xp, _ = get_namespace(X)
137
+ X = validate_data(self, X, dtype=[xp.float64, xp.float32], reset=False)
138
+ return self._onedal_estimator.predict(X, queue=queue)
139
+
140
+ def _onedal_fit_transform(self, X, queue=None):
141
+ X = self._onedal_fit(X, queue=queue)
142
+ return self._onedal_estimator.predict(X, queue=queue)
143
+
144
+ def _onedal_partial_fit(self, X, check_input=True, queue=None):
145
+ first_pass = not hasattr(self, "components_")
146
+ if first_pass:
147
+ self._components_ = None
148
+
149
+ if check_input:
150
+ if not get_config()["use_raw_input"]:
151
+ xp, _ = get_namespace(X)
152
+ X = validate_data(
153
+ self, X, dtype=[xp.float64, xp.float32], reset=first_pass
154
+ )
155
+ else:
156
+ self.n_features_in_ = X.shape[1]
157
+
158
+ n_samples, n_features = X.shape
159
+
160
+ self._set_n_components(self.n_components, n_samples, n_features, first_pass)
161
+
162
+ if not hasattr(self, "n_samples_seen_"):
163
+ self.n_samples_seen_ = n_samples
164
+ else:
165
+ self.n_samples_seen_ += n_samples
166
+
167
+ onedal_params = {
168
+ "n_components": self._n_components_,
169
+ "whiten": self.whiten,
170
+ "method": "svd" if self.svd_solver == "onedal_svd" else "cov",
171
+ }
172
+
173
+ if not hasattr(self, "_onedal_estimator"):
174
+ self._onedal_estimator = self._onedal_incremental_pca(**onedal_params)
175
+ self._onedal_estimator.partial_fit(X, queue=queue)
176
+ self._need_to_finalize = True
177
+
178
+ def _onedal_finalize_fit(self):
179
+ assert hasattr(self, "_onedal_estimator")
180
+ self._onedal_estimator.finalize_fit()
181
+ xp, _ = get_namespace(
182
+ self._onedal_estimator.explained_variance_,
183
+ self._onedal_estimator.singular_values_,
184
+ )
185
+
186
+ # set attributes needed for transform
187
+ self._mean_ = self._onedal_estimator.mean_
188
+ self._components_ = self._onedal_estimator.components_
189
+ # oneDAL PCA eigenvalues are not guaranteed to be >=0 and must be clipped.
190
+ # This is likely due to accumulated numerical error in the oneDAL calculation.
191
+ self._explained_variance_ = xp.clip(
192
+ self._onedal_estimator.explained_variance_, 0.0, None
193
+ )
194
+
195
+ # set other attributes
196
+ self.singular_values_ = self._onedal_estimator.singular_values_
197
+ # NOTE: This covers up a numerical accuracy issue in oneDAL online PCA which
198
+ # can yield NaN values for singular values. Replace in place using array API
199
+ self.singular_values_[...] = xp.where(
200
+ xp.isnan(self.singular_values_), 0, self.singular_values_
201
+ )
202
+ self.explained_variance_ratio_ = self._onedal_estimator.explained_variance_ratio_
203
+ self.var_ = self._onedal_estimator.var_
204
+
205
+ # calculate the noise variance
206
+ self.noise_variance_ = self._compute_noise_variance(
207
+ min(self.n_samples_seen_, self.n_features_in_), xp
208
+ )
209
+
210
+ self._need_to_finalize = False
211
+
212
+ def _onedal_fit(self, X, queue=None):
213
+ # Taken from sklearn for conformance purposes
214
+ self.components_ = None
215
+
216
+ if not get_config()["use_raw_input"]:
217
+ if sklearn_check_version("1.2"):
218
+ self._validate_params()
219
+ xp, _ = get_namespace(X)
220
+ X = validate_data(self, X, dtype=[xp.float64, xp.float32], copy=self.copy)
221
+ else:
222
+ self.n_features_in_ = X.shape[1]
223
+
224
+ n_samples, n_features = X.shape
225
+
226
+ if self.batch_size is None:
227
+ self.batch_size_ = 5 * n_features
228
+ else:
229
+ self.batch_size_ = self.batch_size
230
+
231
+ self.n_samples_seen_ = 0
232
+ if hasattr(self, "_onedal_estimator"):
233
+ self._onedal_estimator._reset()
234
+
235
+ for batch in gen_batches(
236
+ n_samples, self.batch_size_, min_batch_size=self.n_components or 0
237
+ ):
238
+ X_batch = X[batch, ...]
239
+ self._onedal_partial_fit(X_batch, queue=queue)
240
+
241
+ self._onedal_finalize_fit()
242
+
243
+ return X
244
+
245
+ def _onedal_cpu_supported(self, method_name, *data):
246
+ patching_status = PatchingConditionsChain(
247
+ f"sklearn.decomposition.{self.__class__.__name__}.{method_name}"
248
+ )
249
+ X = data[0]
250
+ if "fit" in method_name:
251
+ patching_status.and_conditions(
252
+ [(not sp.issparse(X), "Sparse input is not supported")]
253
+ )
254
+ else:
255
+ patching_status.and_conditions(
256
+ [
257
+ (not sp.issparse(X), "Sparse input is not supported"),
258
+ (hasattr(self, "_onedal_estimator"), "oneDAL model was not trained"),
259
+ ]
260
+ )
261
+ return patching_status
262
+
263
+ def _onedal_gpu_supported(self, method_name, *data):
264
+ patching_status = PatchingConditionsChain(
265
+ f"sklearn.decomposition.{self.__class__.__name__}.{method_name}"
266
+ )
267
+ # onedal_svd doesn't exist for GPU
268
+ X = data[0]
269
+ if "fit" in method_name:
270
+ patching_status.and_conditions(
271
+ [
272
+ (not sp.issparse(X), "Sparse input is not supported"),
273
+ (self.svd_solver != "onedal_svd", "onedal_svd not supported on GPU"),
274
+ ]
275
+ )
276
+ else:
277
+ patching_status.and_conditions(
278
+ [
279
+ (not sp.issparse(X), "Sparse input is not supported"),
280
+ (hasattr(self, "_onedal_estimator"), "oneDAL model was not trained"),
281
+ ]
282
+ )
283
+ return patching_status
284
+
285
+ def partial_fit(self, X, y=None, check_input=True):
286
+ if sklearn_check_version("1.2") and check_input:
287
+ self._validate_params()
288
+
289
+ dispatch(
290
+ self,
291
+ "partial_fit",
292
+ {
293
+ "onedal": self.__class__._onedal_partial_fit,
294
+ "sklearn": _sklearn_IncrementalPCA.partial_fit,
295
+ },
296
+ X,
297
+ check_input=check_input,
298
+ )
299
+ return self
300
+
301
+ def fit(self, X, y=None):
302
+ if sklearn_check_version("1.2"):
303
+ self._validate_params()
304
+
305
+ dispatch(
306
+ self,
307
+ "fit",
308
+ {
309
+ "onedal": self.__class__._onedal_fit,
310
+ "sklearn": _sklearn_IncrementalPCA.fit,
311
+ },
312
+ X,
313
+ )
314
+ return self
315
+
316
+ @wrap_output_data
317
+ def transform(self, X):
318
+ check_is_fitted(self)
319
+ return dispatch(
320
+ self,
321
+ "transform",
322
+ {
323
+ "onedal": self.__class__._onedal_transform,
324
+ "sklearn": _sklearn_IncrementalPCA.transform,
325
+ },
326
+ X,
327
+ )
328
+
329
+ @wrap_output_data
330
+ def fit_transform(self, X, y=None, **fit_params):
331
+ if sklearn_check_version("1.2"):
332
+ self._validate_params()
333
+ return dispatch(
334
+ self,
335
+ "fit_transform",
336
+ {
337
+ "onedal": self.__class__._onedal_fit_transform,
338
+ "sklearn": _sklearn_IncrementalPCA.fit_transform,
339
+ },
340
+ X,
341
+ )
342
+
343
+ # set properties for deleting the onedal_estimator model if:
344
+ # n_components_, components_, mean_ or explained_variance_ are
345
+ # changed. This assists in speeding up multiple uses of onedal
346
+ # transform as a model must now only be generated once.
347
+
348
+ @property
349
+ def n_components_(self):
350
+ if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
351
+ self._onedal_finalize_fit()
352
+ return self._n_components_
353
+
354
+ @n_components_.setter
355
+ def n_components_(self, value):
356
+ if hasattr(self, "_onedal_estimator"):
357
+ self._onedal_estimator.n_components_ = value
358
+ self._onedal_estimator._onedal_model = None
359
+ self._n_components_ = value
360
+
361
+ @property
362
+ def components_(self):
363
+ if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
364
+ self._onedal_finalize_fit()
365
+ return self._components_
366
+
367
+ @components_.setter
368
+ def components_(self, value):
369
+ if hasattr(self, "_onedal_estimator"):
370
+ self._onedal_estimator.components_ = value
371
+ self._onedal_estimator._onedal_model = None
372
+ self._components_ = value
373
+
374
+ @property
375
+ def mean_(self):
376
+ if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
377
+ self._onedal_finalize_fit()
378
+ return self._mean_
379
+
380
+ @mean_.setter
381
+ def mean_(self, value):
382
+ if hasattr(self, "_onedal_estimator"):
383
+ self._onedal_estimator.mean_ = value
384
+ self._onedal_estimator._onedal_model = None
385
+ self._mean_ = value
386
+
387
+ @property
388
+ def explained_variance_(self):
389
+ if hasattr(self, "_onedal_estimator") and self._need_to_finalize:
390
+ self._onedal_finalize_fit()
391
+ return self._explained_variance_
392
+
393
+ @explained_variance_.setter
394
+ def explained_variance_(self, value):
395
+ if hasattr(self, "_onedal_estimator"):
396
+ self._onedal_estimator.explained_variance_ = value
397
+ self._onedal_estimator._onedal_model = None
398
+ self._explained_variance_ = value
399
+
400
+ __doc__ = _add_inc_serialization_note(
401
+ _sklearn_IncrementalPCA.__doc__ + "\n" + r"%incremental_serialization_note%"
402
+ )
403
+ fit.__doc__ = _sklearn_IncrementalPCA.fit.__doc__
404
+ fit_transform.__doc__ = _sklearn_IncrementalPCA.fit_transform.__doc__
405
+ transform.__doc__ = _sklearn_IncrementalPCA.transform.__doc__
406
+ partial_fit.__doc__ = _sklearn_IncrementalPCA.partial_fit.__doc__
@@ -16,9 +16,12 @@
16
16
 
17
17
  import numpy as np
18
18
  import pytest
19
+ import scipy.sparse as sp
19
20
  from numpy.testing import assert_allclose
21
+ from sklearn.base import clone
22
+ from sklearn.datasets import load_iris
20
23
 
21
- from daal4py.sklearn._utils import daal_check_version
24
+ from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
22
25
  from onedal.tests.utils._dataframes_support import (
23
26
  _as_numpy,
24
27
  _convert_to_dataframe,
@@ -334,3 +337,54 @@ def test_sklearnex_incremental_estimatior_pickle(dataframe, queue, dtype):
334
337
  incpca_loaded.explained_variance_ratio_,
335
338
  atol=1e-6,
336
339
  )
340
+
341
+
342
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues("numpy,dpctl"))
343
+ def test_changed_estimated_attributes(with_array_api, dataframe, queue):
344
+ # check that attributes necessary for the PCA onedal estimator match
345
+ # changes occurring in the sklearnex estimator
346
+ X, y = load_iris(return_X_y=True)
347
+
348
+ X_0 = _convert_to_dataframe(X[y == 0], sycl_queue=queue, target_df=dataframe)
349
+ X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
350
+
351
+ est0 = IncrementalPCA(n_components=4).fit(X_0)
352
+ est = clone(est0)
353
+ assert not hasattr(est, "_onedal_estimator")
354
+ est.fit(X)
355
+ assert not np.array_equal(_as_numpy(est.transform(X)), _as_numpy(est0.transform(X)))
356
+
357
+ # copy over parameters necessary for transform
358
+ est.mean_ = est0.mean_
359
+ est.components_ = est0.components_
360
+ est.explained_variance_ = est0.explained_variance_
361
+ est.n_components_ = est0.n_components_ # is trivial but exercises the logic
362
+
363
+ assert np.array_equal(_as_numpy(est.transform(X)), _as_numpy(est0.transform(X)))
364
+
365
+
366
+ @pytest.mark.skipif(
367
+ not sklearn_check_version("1.5"),
368
+ reason='svd_solver="auto" does not support sparse inputs',
369
+ )
370
+ @pytest.mark.allow_sklearn_fallback
371
+ def test_create_model_behavior():
372
+ # verify that fit fallbacks does not break ``transform`` as the oneDAL
373
+ # model is generated JIT
374
+
375
+ X, _ = load_iris(return_X_y=True)
376
+ # generate a onedal estimator
377
+ est = IncrementalPCA(n_components=3)
378
+ X_trans = est.fit_transform(X)
379
+
380
+ # force data to sparse for a fallback to sklearn
381
+ X_sp = sp.csr_matrix(X)
382
+ est.fit(X_sp)
383
+ # In the case of a fallback, the model should be set to none by clobbered
384
+ # fitted attributes
385
+ assert est._onedal_estimator._onedal_model is None
386
+
387
+ X_trans_sparse = est.transform(X)
388
+ # use allclose as data was fit with sklearn and onedal on the same data
389
+ # but using different backends
390
+ assert_allclose(X_trans, X_trans_sparse)
@@ -14,8 +14,11 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
- from onedal.spmd.basic_statistics import BasicStatistics
17
+ from onedal.spmd.basic_statistics import BasicStatistics as onedal_BasicStatistics
18
18
 
19
- # TODO:
20
- # Currently it uses `onedal` module interface.
21
- # Add sklearnex dispatching.
19
+ from ...basic_statistics import BasicStatistics as BasicStatistics_Batch
20
+
21
+
22
+ class BasicStatistics(BasicStatistics_Batch):
23
+ __doc__ = BasicStatistics_Batch.__doc__
24
+ _onedal_basic_statistics = staticmethod(onedal_BasicStatistics)
@@ -20,6 +20,7 @@ from numpy.testing import assert_allclose
20
20
 
21
21
  from onedal.basic_statistics.tests.utils import options_and_tests
22
22
  from onedal.tests.utils._dataframes_support import (
23
+ _as_numpy,
23
24
  _convert_to_dataframe,
24
25
  get_dataframes_and_queues,
25
26
  )
@@ -68,7 +69,8 @@ def test_basic_stats_spmd_gold(dataframe, queue):
68
69
  batch_result = BasicStatistics_Batch().fit(data)
69
70
 
70
71
  for option in options_and_tests:
71
- assert_allclose(getattr(spmd_result, option), getattr(batch_result, option))
72
+ attr = option + "_"
73
+ assert_allclose(getattr(spmd_result, attr), getattr(batch_result, attr))
72
74
 
73
75
 
74
76
  @pytest.mark.skipif(
@@ -106,9 +108,10 @@ def test_basic_stats_spmd_synthetic(
106
108
 
107
109
  tol = 1e-5 if dtype == np.float32 else 1e-7
108
110
  for option in options_and_tests:
111
+ attr = option + "_"
109
112
  assert_allclose(
110
- getattr(spmd_result, option),
111
- getattr(batch_result, option),
113
+ _as_numpy(getattr(spmd_result, attr)),
114
+ _as_numpy(getattr(batch_result, attr)),
112
115
  atol=tol,
113
116
  rtol=tol,
114
117
  )
@@ -20,6 +20,7 @@ from numpy.testing import assert_allclose
20
20
 
21
21
  from onedal.basic_statistics.tests.utils import options_and_tests
22
22
  from onedal.tests.utils._dataframes_support import (
23
+ _as_numpy,
23
24
  _convert_to_dataframe,
24
25
  get_dataframes_and_queues,
25
26
  )
@@ -89,9 +90,10 @@ def test_incremental_basic_statistics_fit_spmd_gold(dataframe, queue, weighted,
89
90
  )
90
91
 
91
92
  for option in options_and_tests:
93
+ attr = option + "_"
92
94
  assert_allclose(
93
- getattr(incbs_spmd, option),
94
- getattr(incbs, option),
95
+ getattr(incbs_spmd, attr),
96
+ getattr(incbs, attr),
95
97
  err_msg=f"Result for {option} is incorrect",
96
98
  )
97
99
 
@@ -162,9 +164,10 @@ def test_incremental_basic_statistics_partial_fit_spmd_gold(
162
164
  incbs.fit(dpt_data, sample_weight=dpt_weights if weighted else None)
163
165
 
164
166
  for option in options_and_tests:
167
+ attr = option + "_"
165
168
  assert_allclose(
166
- getattr(incbs_spmd, option),
167
- getattr(incbs, option),
169
+ getattr(incbs_spmd, attr),
170
+ getattr(incbs, attr),
168
171
  err_msg=f"Result for {option} is incorrect",
169
172
  )
170
173
 
@@ -234,8 +237,8 @@ def test_incremental_basic_statistics_single_option_partial_fit_spmd_gold(
234
237
  )
235
238
 
236
239
  incbs.fit(dpt_data, sample_weight=dpt_weights if weighted else None)
237
-
238
- assert_allclose(getattr(incbs_spmd, option), getattr(incbs, option))
240
+ attr = option + "_"
241
+ assert_allclose(getattr(incbs_spmd, attr), getattr(incbs, attr))
239
242
 
240
243
 
241
244
  @pytest.mark.skipif(
@@ -302,9 +305,10 @@ def test_incremental_basic_statistics_partial_fit_spmd_synthetic(
302
305
  incbs.partial_fit(dpt_data, sample_weight=dpt_weights if weighted else None)
303
306
 
304
307
  for option in options_and_tests:
308
+ attr = option + "_"
305
309
  assert_allclose(
306
- getattr(incbs_spmd, option),
307
- getattr(incbs, option),
310
+ _as_numpy(getattr(incbs_spmd, attr)),
311
+ _as_numpy(getattr(incbs, attr)),
308
312
  atol=tol,
309
313
  err_msg=f"Result for {option} is incorrect",
310
314
  )
@@ -0,0 +1,26 @@
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
+ from abc import ABC
18
+
19
+ from onedal.spmd.cluster import DBSCAN as onedal_DBSCAN
20
+
21
+ from ...cluster import DBSCAN as DBSCAN_Batch
22
+
23
+
24
+ class DBSCAN(DBSCAN_Batch):
25
+ __doc__ = DBSCAN_Batch.__doc__
26
+ _onedal_dbscan = staticmethod(onedal_DBSCAN)
@@ -14,8 +14,11 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
- from onedal.spmd.covariance import EmpiricalCovariance
17
+ from onedal.spmd.covariance import EmpiricalCovariance as onedal_EmpiricalCovariance
18
18
 
19
- # TODO:
20
- # Currently it uses `onedal` module interface.
21
- # Add sklearnex dispatching.
19
+ from ...preview.covariance import EmpiricalCovariance as EmpiricalCovariance_Batch
20
+
21
+
22
+ class EmpiricalCovariance(EmpiricalCovariance_Batch):
23
+ __doc__ = EmpiricalCovariance_Batch.__doc__
24
+ _onedal_covariance = staticmethod(onedal_EmpiricalCovariance)
@@ -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
  )
@@ -41,7 +42,9 @@ from sklearnex.tests.utils.spmd import (
41
42
  @pytest.mark.mpi
42
43
  def test_covariance_spmd_gold(dataframe, queue):
43
44
  # Import spmd and batch algo
44
- from onedal.covariance import EmpiricalCovariance as EmpiricalCovariance_Batch
45
+ from sklearnex.preview.covariance import (
46
+ EmpiricalCovariance as EmpiricalCovariance_Batch,
47
+ )
45
48
  from sklearnex.spmd.covariance import EmpiricalCovariance as EmpiricalCovariance_SPMD
46
49
 
47
50
  # Create gold data and convert to dataframe
@@ -65,8 +68,10 @@ def test_covariance_spmd_gold(dataframe, queue):
65
68
  spmd_result = EmpiricalCovariance_SPMD().fit(local_dpt_data)
66
69
  batch_result = EmpiricalCovariance_Batch().fit(data)
67
70
 
68
- assert_allclose(spmd_result.covariance_, batch_result.covariance_)
69
- assert_allclose(spmd_result.location_, batch_result.location_)
71
+ assert_allclose(
72
+ _as_numpy(spmd_result.covariance_), _as_numpy(batch_result.covariance_)
73
+ )
74
+ assert_allclose(_as_numpy(spmd_result.location_), _as_numpy(batch_result.location_))
70
75
 
71
76
 
72
77
  @pytest.mark.skipif(
@@ -78,7 +83,7 @@ def test_covariance_spmd_gold(dataframe, queue):
78
83
  @pytest.mark.parametrize("assume_centered", [True, False])
79
84
  @pytest.mark.parametrize(
80
85
  "dataframe,queue",
81
- get_dataframes_and_queues(dataframe_filter_="dpnp,dpctl", device_filter_="gpu"),
86
+ get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"),
82
87
  )
83
88
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
84
89
  @pytest.mark.parametrize("use_raw_input", [True, False])
@@ -87,8 +92,9 @@ def test_covariance_spmd_synthetic(
87
92
  n_samples, n_features, assume_centered, dataframe, queue, dtype, use_raw_input
88
93
  ):
89
94
  # Import spmd and batch algo
90
- # TODO: Align sklearnex spmd to sklearnex estimator with bias and swap onedal with sklearnex
91
- from onedal.covariance import EmpiricalCovariance as EmpiricalCovariance_Batch
95
+ from sklearnex.preview.covariance import (
96
+ EmpiricalCovariance as EmpiricalCovariance_Batch,
97
+ )
92
98
  from sklearnex.spmd.covariance import EmpiricalCovariance as EmpiricalCovariance_SPMD
93
99
 
94
100
  # Generate data and convert to dataframe
@@ -106,5 +112,9 @@ def test_covariance_spmd_synthetic(
106
112
  batch_result = EmpiricalCovariance_Batch(assume_centered=assume_centered).fit(data)
107
113
 
108
114
  atol = 1e-5 if dtype == np.float32 else 1e-7
109
- assert_allclose(spmd_result.covariance_, batch_result.covariance_, atol=atol)
110
- assert_allclose(spmd_result.location_, batch_result.location_, atol=atol)
115
+ assert_allclose(
116
+ _as_numpy(spmd_result.covariance_), _as_numpy(batch_result.covariance_), atol=atol
117
+ )
118
+ assert_allclose(
119
+ _as_numpy(spmd_result.location_), _as_numpy(batch_result.location_), atol=atol
120
+ )