scikit-learn-intelex 2024.4.0__py312-none-win_amd64.whl → 2025.10.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.
Files changed (299) hide show
  1. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
  2. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
  3. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
  4. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +94 -0
  5. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +1199 -0
  6. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +211 -0
  7. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +425 -0
  8. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
  9. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
  10. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +252 -0
  11. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +245 -0
  12. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
  13. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
  14. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +565 -0
  15. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
  16. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
  17. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +528 -0
  18. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
  19. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +333 -0
  20. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
  21. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1285 -0
  22. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
  23. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/linear_model/__init__.py +29 -28
  24. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +826 -0
  25. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +269 -0
  26. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +290 -0
  27. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +2 -2
  28. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
  29. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
  30. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +561 -0
  31. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
  32. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_enet.py +157 -0
  33. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +198 -0
  34. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
  35. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +3 -3
  36. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +432 -0
  37. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
  38. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +259 -0
  39. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
  40. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +4 -2
  41. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
  42. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
  43. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  44. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
  45. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +164 -0
  46. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
  47. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +90 -0
  48. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +117 -0
  49. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
  50. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +493 -0
  51. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +136 -0
  52. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +72 -0
  53. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
  54. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
  55. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
  56. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +736 -0
  57. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
  58. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +80 -0
  59. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
  60. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +772 -0
  61. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/__init__.py +151 -0
  62. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_config.py +80 -0
  63. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_device_offload.py +199 -0
  64. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
  65. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
  66. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +151 -0
  67. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +165 -0
  68. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +241 -0
  69. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +279 -0
  70. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
  71. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
  72. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +80 -0
  73. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +582 -0
  74. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +145 -0
  75. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
  76. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
  77. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
  78. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_backend.py +258 -0
  79. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
  80. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
  81. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +148 -0
  82. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +148 -0
  83. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
  84. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +121 -0
  85. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +151 -0
  86. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
  87. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +190 -0
  88. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +29 -0
  89. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +158 -0
  90. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +64 -0
  91. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +63 -0
  92. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +131 -0
  93. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +686 -0
  94. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
  95. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +218 -0
  96. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
  97. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +291 -0
  98. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/__init__.py +19 -0
  99. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/dummy.py +137 -0
  100. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
  101. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +781 -0
  102. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
  103. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
  104. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +201 -0
  105. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +230 -0
  106. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +293 -0
  107. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +213 -0
  108. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +171 -0
  109. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +252 -0
  110. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
  111. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
  112. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/neighbors/__init__.py +19 -19
  113. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +690 -0
  114. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
  115. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
  116. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +27 -0
  117. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +202 -0
  118. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
  119. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
  120. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/svm.py +592 -0
  121. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +352 -0
  122. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
  123. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
  124. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
  125. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
  126. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/test_common.py +71 -0
  127. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +179 -0
  128. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +94 -0
  129. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +98 -0
  130. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +213 -0
  131. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_third_party.py +220 -0
  132. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
  133. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/validation.py +503 -0
  134. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__init__.py +7 -3
  135. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  136. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_config.py +163 -0
  137. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +205 -0
  138. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_utils.py +219 -0
  139. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
  140. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
  141. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +241 -0
  142. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +128 -78
  143. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +405 -0
  144. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +101 -32
  145. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
  146. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +38 -29
  147. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +399 -0
  148. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +8 -6
  149. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +157 -0
  150. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/conftest.py +20 -1
  151. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +440 -0
  152. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +307 -0
  153. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
  154. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +164 -0
  155. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +199 -21
  156. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  157. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/__init__.py +19 -17
  158. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/_dummy.py +615 -0
  159. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/tests/test_dummy.py +62 -0
  160. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +288 -440
  161. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +196 -0
  162. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  163. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +17 -3
  164. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
  165. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +44 -0
  166. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +427 -0
  167. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +407 -0
  168. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +363 -0
  169. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +466 -0
  170. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +407 -0
  171. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +267 -0
  172. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +214 -0
  173. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +167 -0
  174. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +565 -0
  175. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  176. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +11 -0
  177. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +256 -0
  178. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +3 -0
  179. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
  180. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +3 -0
  181. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +30 -62
  182. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +56 -9
  183. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +45 -101
  184. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +63 -94
  185. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +49 -25
  186. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +6 -4
  187. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
  188. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +261 -0
  189. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +54 -8
  190. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
  191. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
  192. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +390 -0
  193. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
  194. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +24 -0
  195. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
  196. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +117 -0
  197. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +314 -0
  198. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +9 -4
  199. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +108 -0
  200. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +180 -0
  201. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +3 -4
  202. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +24 -0
  203. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +29 -0
  204. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +120 -0
  205. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +200 -0
  206. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +20 -0
  207. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +23 -0
  208. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +6 -4
  209. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +276 -0
  210. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +146 -0
  211. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
  212. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +299 -0
  213. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
  214. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +28 -0
  215. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
  216. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +345 -0
  217. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +162 -0
  218. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +169 -0
  219. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +1 -3
  220. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +433 -0
  221. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +403 -0
  222. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +99 -117
  223. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +55 -16
  224. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +95 -113
  225. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +51 -16
  226. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +43 -20
  227. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +607 -0
  228. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +256 -0
  229. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
  230. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +335 -0
  231. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +5 -4
  232. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +111 -0
  233. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +122 -75
  234. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +335 -0
  235. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
  236. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +420 -0
  237. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
  238. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
  239. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +217 -0
  240. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/class_weight.py +100 -0
  241. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
  242. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_class_weight.py +69 -0
  243. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  244. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +212 -0
  245. scikit_learn_intelex-2025.10.0.dist-info/METADATA +182 -0
  246. scikit_learn_intelex-2025.10.0.dist-info/RECORD +267 -0
  247. {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/WHEEL +1 -1
  248. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_config.py +0 -110
  249. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -250
  250. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_utils.py +0 -109
  251. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -17
  252. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -30
  253. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +0 -130
  254. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -143
  255. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -335
  256. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -56
  257. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -113
  258. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -316
  259. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
  260. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +0 -385
  261. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -117
  262. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -91
  263. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
  264. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
  265. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
  266. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -133
  267. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
  268. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
  269. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +0 -185
  270. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/_utils.py +0 -164
  271. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -39
  272. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -227
  273. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -99
  274. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability_tests.py +0 -428
  275. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -20
  276. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py +0 -97
  277. scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
  278. scikit_learn_intelex-2024.4.0.dist-info/METADATA +0 -230
  279. scikit_learn_intelex-2024.4.0.dist-info/RECORD +0 -101
  280. {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
  281. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  282. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  283. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  284. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  285. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  286. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  287. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  288. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  289. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  290. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  291. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  292. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  293. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  294. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  295. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  296. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  297. {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  298. {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/LICENSE.txt +0 -0
  299. {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,20 @@
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 .basic_statistics import BasicStatistics
18
+ from .incremental_basic_statistics import IncrementalBasicStatistics
19
+
20
+ __all__ = ["BasicStatistics", "IncrementalBasicStatistics"]
@@ -0,0 +1,241 @@
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
+
19
+ from scipy.sparse import issparse
20
+ from sklearn.base import BaseEstimator
21
+
22
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
23
+ from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
24
+ from onedal.basic_statistics import BasicStatistics as onedal_BasicStatistics
25
+ from onedal.utils.validation import _is_csr
26
+
27
+ from .._config import get_config
28
+ from .._device_offload import dispatch
29
+ from .._utils import PatchingConditionsChain
30
+ from ..base import oneDALEstimator
31
+ from ..utils._array_api import enable_array_api, get_namespace
32
+ from ..utils.validation import _check_sample_weight, 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(decorated_methods=["fit"])
40
+ class BasicStatistics(oneDALEstimator, BaseEstimator):
41
+ """
42
+ Estimator for basic statistics.
43
+
44
+ Compute low order moments and related statistics for given data.
45
+
46
+ Parameters
47
+ ----------
48
+ result_options : str or list, default=str('all')
49
+ Used to set statistics to calculate. Possible values are ``'min'``, ``'max'``, ``'sum'``, ``'mean'``, ``'variance'``,
50
+ ``'variation'``, ``sum_squares'``, ``sum_squares_centered'``, ``'standard_deviation'``, ``'second_order_raw_moment'``
51
+ or a list containing any of these values. If set to ``'all'`` then all possible statistics will be
52
+ calculated.
53
+
54
+ Attributes
55
+ ----------
56
+ min_ : ndarray of shape (n_features,)
57
+ Minimum of each feature over all samples.
58
+ max_ : ndarray of shape (n_features,)
59
+ Maximum of each feature over all samples.
60
+ sum_ : ndarray of shape (n_features,)
61
+ Sum of each feature over all samples.
62
+ mean_ : ndarray of shape (n_features,)
63
+ Mean of each feature over all samples.
64
+ variance_ : ndarray of shape (n_features,)
65
+ Variance of each feature over all samples. Bessel's correction is used.
66
+ variation_ : ndarray of shape (n_features,)
67
+ Variation of each feature over all samples. Bessel's correction is used.
68
+ sum_squares_ : ndarray of shape (n_features,)
69
+ Sum of squares for each feature over all samples.
70
+ standard_deviation_ : ndarray of shape (n_features,)
71
+ Unbiased standard deviation of each feature over all samples. Bessel's correction is used.
72
+ sum_squares_centered_ : ndarray of shape (n_features,)
73
+ Centered sum of squares for each feature over all samples.
74
+ second_order_raw_moment_ : ndarray of shape (n_features,)
75
+ Second order moment of each feature over all samples.
76
+
77
+ Notes
78
+ -----
79
+ Attribute exists only if corresponding result option has been provided.
80
+
81
+ Names of attributes without the trailing underscore are
82
+ supported currently but deprecated in 2025.1 and will be removed in 2026.0
83
+
84
+ Some results can exhibit small variations due to
85
+ floating point error accumulation and multithreading.
86
+
87
+ Examples
88
+ --------
89
+ >>> import numpy as np
90
+ >>> from sklearnex.basic_statistics import BasicStatistics
91
+ >>> bs = BasicStatistics(result_options=['sum', 'min', 'max'])
92
+ >>> X = np.array([[1, 2], [3, 4]])
93
+ >>> bs.fit(X)
94
+ >>> bs.sum_
95
+ np.array([4., 6.])
96
+ >>> bs.min_
97
+ np.array([1., 2.])
98
+ """
99
+
100
+ def __init__(self, result_options="all"):
101
+ self.result_options = result_options
102
+
103
+ _onedal_basic_statistics = staticmethod(onedal_BasicStatistics)
104
+
105
+ if sklearn_check_version("1.2"):
106
+ _parameter_constraints: dict = {
107
+ "result_options": [
108
+ StrOptions(
109
+ {
110
+ "all",
111
+ "min",
112
+ "max",
113
+ "sum",
114
+ "mean",
115
+ "variance",
116
+ "variation",
117
+ "sum_squares",
118
+ "standard_deviation",
119
+ "sum_squares_centered",
120
+ "second_order_raw_moment",
121
+ }
122
+ ),
123
+ list,
124
+ ],
125
+ }
126
+
127
+ def _save_attributes(self):
128
+ assert hasattr(self, "_onedal_estimator")
129
+ for option in self._onedal_estimator.options:
130
+ option += "_"
131
+ setattr(self, option, getattr(self._onedal_estimator, option))
132
+
133
+ def __getattr__(self, attr):
134
+ is_deprecated_attr = (
135
+ attr in self._onedal_estimator.options
136
+ if "_onedal_estimator" in self.__dict__
137
+ else False
138
+ )
139
+ if is_deprecated_attr:
140
+ warnings.warn(
141
+ "Result attributes without a trailing underscore were deprecated in version 2025.1 and will be removed in 2026.0"
142
+ )
143
+ attr += "_"
144
+ if attr in self.__dict__:
145
+ return self.__dict__[attr]
146
+
147
+ raise AttributeError(
148
+ f"'{self.__class__.__name__}' object has no attribute '{attr}'"
149
+ )
150
+
151
+ def _onedal_cpu_supported(self, method_name, *data):
152
+ patching_status = PatchingConditionsChain(
153
+ f"sklearnex.basic_statistics.{self.__class__.__name__}.{method_name}"
154
+ )
155
+ return patching_status
156
+
157
+ def _onedal_gpu_supported(self, method_name, *data):
158
+ patching_status = PatchingConditionsChain(
159
+ f"sklearnex.basic_statistics.{self.__class__.__name__}.{method_name}"
160
+ )
161
+ X, sample_weight = data
162
+
163
+ is_data_supported = not issparse(X) or (
164
+ _is_csr(X) and daal_check_version((2025, "P", 200))
165
+ )
166
+
167
+ is_sample_weight_supported = sample_weight is None or not issparse(X)
168
+
169
+ patching_status.and_conditions(
170
+ [
171
+ (
172
+ is_sample_weight_supported,
173
+ "Sample weights are not supported for CSR data format",
174
+ ),
175
+ (
176
+ is_data_supported,
177
+ "Supported data formats: Dense, CSR (oneDAL version >= 2025.2.0).",
178
+ ),
179
+ ]
180
+ )
181
+ return patching_status
182
+
183
+ def _onedal_fit(self, X, sample_weight=None, queue=None):
184
+ if not get_config()["use_raw_input"]:
185
+ xp, _ = get_namespace(X, sample_weight)
186
+ X = validate_data(
187
+ self,
188
+ X,
189
+ dtype=[xp.float64, xp.float32],
190
+ ensure_2d=False,
191
+ accept_sparse="csr",
192
+ )
193
+
194
+ if sample_weight is not None:
195
+ sample_weight = _check_sample_weight(
196
+ sample_weight, X, dtype=[xp.float64, xp.float32]
197
+ )
198
+
199
+ onedal_params = {
200
+ "result_options": self.result_options,
201
+ }
202
+
203
+ if not hasattr(self, "_onedal_estimator"):
204
+ self._onedal_estimator = self._onedal_basic_statistics(**onedal_params)
205
+ self._onedal_estimator.fit(X, sample_weight, queue=queue)
206
+ self._save_attributes()
207
+ self.n_features_in_ = X.shape[1] if len(X.shape) > 1 else 1
208
+
209
+ def fit(self, X, y=None, sample_weight=None):
210
+ """Calculate statistics of X.
211
+
212
+ Parameters
213
+ ----------
214
+ X : array-like of shape (n_samples, n_features)
215
+ Data for compute, where ``n_samples`` is the number of samples and
216
+ ``n_features`` is the number of features.
217
+
218
+ y : Ignored
219
+ Not used, present for API consistency by convention.
220
+
221
+ sample_weight : array-like of shape (n_samples,), default=None
222
+ Weights for compute weighted statistics, where ``n_samples`` is the number of samples.
223
+
224
+ Returns
225
+ -------
226
+ self : object
227
+ Returns the instance itself.
228
+ """
229
+ if sklearn_check_version("1.2"):
230
+ self._validate_params()
231
+ dispatch(
232
+ self,
233
+ "fit",
234
+ {
235
+ "onedal": self.__class__._onedal_fit,
236
+ "sklearn": None,
237
+ },
238
+ X,
239
+ sample_weight,
240
+ )
241
+ return self
@@ -14,10 +14,8 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
- import numpy as np
18
17
  from sklearn.base import BaseEstimator
19
- from sklearn.utils import check_array, gen_batches
20
- from sklearn.utils.validation import _check_sample_weight
18
+ from sklearn.utils import gen_batches
21
19
 
22
20
  from daal4py.sklearn._n_jobs_support import control_n_jobs
23
21
  from daal4py.sklearn._utils import sklearn_check_version
@@ -25,64 +23,116 @@ from onedal.basic_statistics import (
25
23
  IncrementalBasicStatistics as onedal_IncrementalBasicStatistics,
26
24
  )
27
25
 
26
+ from .._config import get_config
28
27
  from .._device_offload import dispatch
29
- from .._utils import PatchingConditionsChain
28
+ from .._utils import PatchingConditionsChain, _add_inc_serialization_note
29
+ from ..base import oneDALEstimator
30
+ from ..utils._array_api import enable_array_api, get_namespace
31
+ from ..utils.validation import _check_sample_weight, validate_data
30
32
 
31
33
  if sklearn_check_version("1.2"):
32
34
  from sklearn.utils._param_validation import Interval, StrOptions
33
35
 
34
36
  import numbers
37
+ import warnings
35
38
 
36
39
 
40
+ @enable_array_api
37
41
  @control_n_jobs(decorated_methods=["partial_fit", "_onedal_finalize_fit"])
38
- class IncrementalBasicStatistics(BaseEstimator):
42
+ class IncrementalBasicStatistics(oneDALEstimator, BaseEstimator):
39
43
  """
40
44
  Incremental estimator for basic statistics.
41
- Allows to compute basic statistics if data are splitted into batches.
45
+
46
+ Calculates basic statistics on the given data, allows for computation
47
+ when the data are split into batches. The user can use :meth:`partial_fit`
48
+ method to provide a single batch of data or use the :meth:`fit` method to
49
+ provide the entire dataset.
50
+
42
51
  Parameters
43
52
  ----------
44
- result_options: string or list, default='all'
45
- List of statistics to compute
53
+ result_options : str or list, default=str('all')
54
+ List of statistics to compute.
46
55
 
47
56
  batch_size : int, default=None
48
57
  The number of samples to use for each batch. Only used when calling
49
- ``fit``. If ``batch_size`` is ``None``, then ``batch_size``
50
- is inferred from the data and set to ``5 * n_features``, to provide a
51
- balance between approximation accuracy and memory consumption.
58
+ :meth:`fit`. If ``batch_size`` is ``None``, then ``batch_size``
59
+ is inferred from the data and set to ``5 * n_features``.
52
60
 
53
- Attributes (are existing only if corresponding result option exists)
61
+ Attributes
54
62
  ----------
55
- min : ndarray of shape (n_features,)
63
+ min_ : ndarray of shape (n_features,)
56
64
  Minimum of each feature over all samples.
57
65
 
58
- max : ndarray of shape (n_features,)
66
+ max_ : ndarray of shape (n_features,)
59
67
  Maximum of each feature over all samples.
60
68
 
61
- sum : ndarray of shape (n_features,)
69
+ sum_ : ndarray of shape (n_features,)
62
70
  Sum of each feature over all samples.
63
71
 
64
- mean : ndarray of shape (n_features,)
72
+ mean_ : ndarray of shape (n_features,)
65
73
  Mean of each feature over all samples.
66
74
 
67
- variance : ndarray of shape (n_features,)
75
+ variance_ : ndarray of shape (n_features,)
68
76
  Variance of each feature over all samples.
69
77
 
70
- variation : ndarray of shape (n_features,)
78
+ variation_ : ndarray of shape (n_features,)
71
79
  Variation of each feature over all samples.
72
80
 
73
- sum_squares : ndarray of shape (n_features,)
81
+ sum_squares_ : ndarray of shape (n_features,)
74
82
  Sum of squares for each feature over all samples.
75
83
 
76
- standard_deviation : ndarray of shape (n_features,)
84
+ standard_deviation_ : ndarray of shape (n_features,)
77
85
  Standard deviation of each feature over all samples.
78
86
 
79
- sum_squares_centered : ndarray of shape (n_features,)
87
+ sum_squares_centered_ : ndarray of shape (n_features,)
80
88
  Centered sum of squares for each feature over all samples.
81
89
 
82
- second_order_raw_moment : ndarray of shape (n_features,)
90
+ second_order_raw_moment_ : ndarray of shape (n_features,)
83
91
  Second order moment of each feature over all samples.
92
+
93
+ n_samples_seen_ : int
94
+ The number of samples processed by the estimator. Will be reset
95
+ on new calls to ``fit``, but increments across ``partial_fit``
96
+ calls.
97
+
98
+ batch_size_ : int
99
+ Inferred batch size from ``batch_size``.
100
+
101
+ n_features_in_ : int
102
+ Number of features seen during :meth:`fit` or :meth:`partial_fit`.
103
+
104
+ Notes
105
+ -----
106
+ Attribute exists only if corresponding result option has been provided.
107
+
108
+ Names of attributes without the trailing underscore are supported
109
+ currently but deprecated in 2025.1 and will be removed in 2026.0.
110
+
111
+ Sparse data formats are not supported. Input dtype must be ``float32`` or ``float64``.
112
+
113
+ %incremental_serialization_note%
114
+
115
+ Examples
116
+ --------
117
+ >>> import numpy as np
118
+ >>> from sklearnex.basic_statistics import IncrementalBasicStatistics
119
+ >>> incbs = IncrementalBasicStatistics(batch_size=1)
120
+ >>> X = np.array([[1, 2], [3, 4]])
121
+ >>> incbs.partial_fit(X[:1])
122
+ >>> incbs.partial_fit(X[1:])
123
+ >>> incbs.sum_
124
+ np.array([4., 6.])
125
+ >>> incbs.min_
126
+ np.array([1., 2.])
127
+ >>> incbs.fit(X)
128
+ >>> incbs.sum_
129
+ np.array([4., 6.])
130
+ >>> incbs.max_
131
+ np.array([3., 4.])
84
132
  """
85
133
 
134
+ __doc__ = _add_inc_serialization_note(__doc__)
135
+
86
136
  _onedal_incremental_basic_statistics = staticmethod(onedal_IncrementalBasicStatistics)
87
137
 
88
138
  if sklearn_check_version("1.2"):
@@ -109,54 +159,41 @@ class IncrementalBasicStatistics(BaseEstimator):
109
159
  }
110
160
 
111
161
  def __init__(self, result_options="all", batch_size=None):
112
- if result_options == "all":
113
- self.result_options = (
114
- self._onedal_incremental_basic_statistics.get_all_result_options()
115
- )
116
- else:
117
- self.result_options = result_options
162
+ self.result_options = result_options
118
163
  self._need_to_finalize = False
119
164
  self.batch_size = batch_size
120
165
 
121
166
  def _onedal_supported(self, method_name, *data):
122
167
  patching_status = PatchingConditionsChain(
123
- f"sklearn.covariance.{self.__class__.__name__}.{method_name}"
168
+ f"sklearn.basic_statistics.{self.__class__.__name__}.{method_name}"
124
169
  )
125
170
  return patching_status
126
171
 
127
172
  _onedal_cpu_supported = _onedal_supported
128
173
  _onedal_gpu_supported = _onedal_supported
129
174
 
130
- def _get_onedal_result_options(self, options):
131
- if isinstance(options, list):
132
- onedal_options = "|".join(self.result_options)
133
- else:
134
- onedal_options = options
135
- assert isinstance(onedal_options, str)
136
- return options
137
-
138
- def _onedal_finalize_fit(self):
175
+ def _onedal_finalize_fit(self, queue=None):
139
176
  assert hasattr(self, "_onedal_estimator")
140
177
  self._onedal_estimator.finalize_fit()
141
178
  self._need_to_finalize = False
142
179
 
143
- def _onedal_partial_fit(self, X, sample_weight=None, queue=None):
180
+ def _onedal_partial_fit(self, X, sample_weight=None, queue=None, check_input=True):
144
181
  first_pass = not hasattr(self, "n_samples_seen_") or self.n_samples_seen_ == 0
145
182
 
146
- if sklearn_check_version("1.0"):
147
- X = self._validate_data(
183
+ # never check input when using raw input
184
+ if check_input and not get_config()["use_raw_input"]:
185
+ xp, _ = get_namespace(X)
186
+ X = validate_data(
187
+ self,
148
188
  X,
149
- dtype=[np.float64, np.float32],
189
+ dtype=[xp.float64, xp.float32],
150
190
  reset=first_pass,
151
191
  )
152
- else:
153
- X = check_array(
154
- X,
155
- dtype=[np.float64, np.float32],
156
- )
157
192
 
158
- if sample_weight is not None:
159
- sample_weight = _check_sample_weight(sample_weight, X)
193
+ if sample_weight is not None:
194
+ sample_weight = _check_sample_weight(
195
+ sample_weight, X, dtype=[xp.float64, xp.float32]
196
+ )
160
197
 
161
198
  if first_pass:
162
199
  self.n_samples_seen_ = X.shape[0]
@@ -164,26 +201,25 @@ class IncrementalBasicStatistics(BaseEstimator):
164
201
  else:
165
202
  self.n_samples_seen_ += X.shape[0]
166
203
 
167
- onedal_params = {
168
- "result_options": self._get_onedal_result_options(self.result_options)
169
- }
170
204
  if not hasattr(self, "_onedal_estimator"):
171
205
  self._onedal_estimator = self._onedal_incremental_basic_statistics(
172
- **onedal_params
206
+ result_options=self.result_options
173
207
  )
174
- self._onedal_estimator.partial_fit(X, sample_weight, queue)
208
+
209
+ self._onedal_estimator.partial_fit(X, sample_weight=sample_weight, queue=queue)
175
210
  self._need_to_finalize = True
176
211
 
177
212
  def _onedal_fit(self, X, sample_weight=None, queue=None):
178
- if sklearn_check_version("1.0"):
179
- X = self._validate_data(X, dtype=[np.float64, np.float32])
180
- else:
181
- X = check_array(X, dtype=[np.float64, np.float32])
213
+ if not get_config()["use_raw_input"]:
214
+ xp, _ = get_namespace(X, sample_weight)
215
+ X = validate_data(self, X, dtype=[xp.float64, xp.float32])
182
216
 
183
- if sample_weight is not None:
184
- sample_weight = _check_sample_weight(sample_weight, X)
217
+ if sample_weight is not None:
218
+ sample_weight = _check_sample_weight(
219
+ sample_weight, X, dtype=[xp.float64, xp.float32]
220
+ )
185
221
 
186
- n_samples, n_features = X.shape
222
+ _, n_features = X.shape
187
223
  if self.batch_size is None:
188
224
  self.batch_size_ = 5 * n_features
189
225
  else:
@@ -196,10 +232,9 @@ class IncrementalBasicStatistics(BaseEstimator):
196
232
  for batch in gen_batches(X.shape[0], self.batch_size_):
197
233
  X_batch = X[batch]
198
234
  weights_batch = sample_weight[batch] if sample_weight is not None else None
199
- self._onedal_partial_fit(X_batch, weights_batch, queue=queue)
200
-
201
- if sklearn_check_version("1.2"):
202
- self._validate_params()
235
+ self._onedal_partial_fit(
236
+ X_batch, weights_batch, queue=queue, check_input=False
237
+ )
203
238
 
204
239
  self.n_features_in_ = X.shape[1]
205
240
 
@@ -208,13 +243,20 @@ class IncrementalBasicStatistics(BaseEstimator):
208
243
  return self
209
244
 
210
245
  def __getattr__(self, attr):
211
- result_options = self.__dict__["result_options"]
246
+ sattr = attr.removesuffix("_")
212
247
  is_statistic_attr = (
213
- isinstance(result_options, str) and (attr == result_options)
214
- ) or (isinstance(result_options, list) and (attr in result_options))
248
+ sattr in self._onedal_estimator.options
249
+ if "_onedal_estimator" in self.__dict__
250
+ else False
251
+ )
215
252
  if is_statistic_attr:
216
253
  if self._need_to_finalize:
217
254
  self._onedal_finalize_fit()
255
+ if sattr == attr:
256
+ warnings.warn(
257
+ "Result attributes without a trailing underscore were deprecated in version 2025.1 and will be removed in 2026.0"
258
+ )
259
+ attr += "_"
218
260
  return getattr(self._onedal_estimator, attr)
219
261
  if attr in self.__dict__:
220
262
  return self.__dict__[attr]
@@ -223,26 +265,31 @@ class IncrementalBasicStatistics(BaseEstimator):
223
265
  f"'{self.__class__.__name__}' object has no attribute '{attr}'"
224
266
  )
225
267
 
226
- def partial_fit(self, X, sample_weight=None):
268
+ def partial_fit(self, X, sample_weight=None, check_input=True):
227
269
  """Incremental fit with X. All of X is processed as a single batch.
228
270
 
229
271
  Parameters
230
272
  ----------
231
273
  X : array-like of shape (n_samples, n_features)
232
- Data for compute, where `n_samples` is the number of samples and
233
- `n_features` is the number of features.
274
+ Data for compute, where ``n_samples`` is the number of samples and
275
+ ``n_features`` is the number of features.
234
276
 
235
277
  y : Ignored
236
278
  Not used, present for API consistency by convention.
237
279
 
238
280
  sample_weight : array-like of shape (n_samples,), default=None
239
- Weights for compute weighted statistics, where `n_samples` is the number of samples.
281
+ Weights for compute weighted statistics, where ``n_samples`` is the number of samples.
282
+
283
+ check_input : bool, default=True
284
+ Run ``check_array`` on X.
240
285
 
241
286
  Returns
242
287
  -------
243
- self : object
288
+ self : IncrementalBasicStatistics
244
289
  Returns the instance itself.
245
290
  """
291
+ if sklearn_check_version("1.2") and check_input:
292
+ self._validate_params()
246
293
  dispatch(
247
294
  self,
248
295
  "partial_fit",
@@ -252,29 +299,32 @@ class IncrementalBasicStatistics(BaseEstimator):
252
299
  },
253
300
  X,
254
301
  sample_weight,
302
+ check_input=check_input,
255
303
  )
256
304
  return self
257
305
 
258
306
  def fit(self, X, y=None, sample_weight=None):
259
- """Compute statistics with X, using minibatches of size batch_size.
307
+ """Calculate statistics of X using minibatches of size ``batch_size``.
260
308
 
261
309
  Parameters
262
310
  ----------
263
311
  X : array-like of shape (n_samples, n_features)
264
- Data for compute, where `n_samples` is the number of samples and
265
- `n_features` is the number of features.
312
+ Data for compute, where ``n_samples`` is the number of samples and
313
+ ``n_features`` is the number of features.
266
314
 
267
315
  y : Ignored
268
316
  Not used, present for API consistency by convention.
269
317
 
270
318
  sample_weight : array-like of shape (n_samples,), default=None
271
- Weights for compute weighted statistics, where `n_samples` is the number of samples.
319
+ Weights for compute weighted statistics, where ``n_samples`` is the number of samples.
272
320
 
273
321
  Returns
274
322
  -------
275
- self : object
323
+ self : IncrementalBasicStatistics
276
324
  Returns the instance itself.
277
325
  """
326
+ if sklearn_check_version("1.2"):
327
+ self._validate_params()
278
328
  dispatch(
279
329
  self,
280
330
  "fit",