scikit-learn-intelex 2025.4.0__py39-none-manylinux_2_28_x86_64.whl → 2025.5.0__py39-none-manylinux_2_28_x86_64.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 (158) hide show
  1. daal4py/__main__.py +1 -1
  2. daal4py/_daal4py.cpython-39-x86_64-linux-gnu.so +0 -0
  3. daal4py/doc/third-party-programs.txt +1 -1
  4. daal4py/mb/__init__.py +69 -5
  5. daal4py/mb/gbt_convertors.py +855 -0
  6. daal4py/mb/logistic_regression_builders.py +217 -0
  7. daal4py/mb/{model_builders.py → tree_based_builders.py} +99 -91
  8. daal4py/mpi_transceiver.cpython-39-x86_64-linux-gnu.so +0 -0
  9. daal4py/sklearn/_n_jobs_support.py +6 -2
  10. daal4py/sklearn/_utils.py +1 -1
  11. daal4py/sklearn/cluster/dbscan.py +2 -2
  12. daal4py/sklearn/cluster/k_means.py +6 -38
  13. daal4py/sklearn/decomposition/_pca.py +12 -8
  14. daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  15. daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  16. daal4py/sklearn/ensemble/_forest.py +41 -153
  17. daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  18. daal4py/sklearn/linear_model/_linear.py +7 -10
  19. daal4py/sklearn/linear_model/_ridge.py +22 -57
  20. daal4py/sklearn/linear_model/logistic_path.py +3 -4
  21. daal4py/sklearn/manifold/_t_sne.py +8 -3
  22. daal4py/sklearn/metrics/_pairwise.py +30 -7
  23. daal4py/sklearn/monkeypatch/dispatcher.py +2 -2
  24. daal4py/sklearn/neighbors/_base.py +6 -16
  25. daal4py/sklearn/neighbors/_classification.py +4 -7
  26. daal4py/sklearn/neighbors/_regression.py +3 -5
  27. daal4py/sklearn/svm/svm.py +4 -2
  28. daal4py/sklearn/utils/base.py +8 -3
  29. daal4py/sklearn/utils/validation.py +82 -5
  30. onedal/__init__.py +66 -24
  31. onedal/_config.py +27 -2
  32. onedal/_device_offload.py +79 -83
  33. onedal/_onedal_py_dpc.cpython-39-x86_64-linux-gnu.so +0 -0
  34. onedal/_onedal_py_host.cpython-39-x86_64-linux-gnu.so +0 -0
  35. onedal/_onedal_py_spmd_dpc.cpython-39-x86_64-linux-gnu.so +0 -0
  36. onedal/basic_statistics/basic_statistics.py +21 -17
  37. onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  38. onedal/cluster/dbscan.py +35 -42
  39. onedal/cluster/kmeans.py +83 -74
  40. onedal/cluster/kmeans_init.py +57 -24
  41. onedal/common/_backend.py +233 -0
  42. onedal/common/hyperparameters.py +4 -4
  43. onedal/common/tests/test_sycl.py +27 -12
  44. onedal/covariance/covariance.py +27 -19
  45. onedal/covariance/incremental_covariance.py +35 -32
  46. onedal/datatypes/_data_conversion.py +6 -10
  47. onedal/datatypes/tests/test_data.py +179 -78
  48. onedal/decomposition/incremental_pca.py +39 -25
  49. onedal/decomposition/pca.py +28 -16
  50. onedal/decomposition/tests/test_incremental_pca.py +2 -2
  51. onedal/ensemble/forest.py +130 -93
  52. onedal/linear_model/incremental_linear_model.py +76 -57
  53. onedal/linear_model/linear_model.py +63 -37
  54. onedal/linear_model/logistic_regression.py +96 -68
  55. onedal/neighbors/neighbors.py +156 -119
  56. onedal/primitives/get_tree.py +5 -3
  57. onedal/primitives/kernel_functions.py +21 -18
  58. onedal/primitives/tests/test_kernel_functions.py +4 -4
  59. onedal/spmd/__init__.py +10 -0
  60. onedal/spmd/basic_statistics/basic_statistics.py +7 -9
  61. onedal/spmd/basic_statistics/incremental_basic_statistics.py +6 -48
  62. onedal/spmd/cluster/__init__.py +3 -5
  63. onedal/spmd/cluster/dbscan.py +5 -5
  64. onedal/spmd/cluster/kmeans.py +37 -20
  65. onedal/spmd/covariance/covariance.py +11 -5
  66. onedal/spmd/covariance/incremental_covariance.py +4 -62
  67. onedal/spmd/decomposition/incremental_pca.py +4 -97
  68. onedal/spmd/decomposition/pca.py +11 -5
  69. onedal/spmd/ensemble/forest.py +13 -5
  70. onedal/spmd/linear_model/incremental_linear_model.py +4 -72
  71. onedal/spmd/linear_model/linear_model.py +15 -6
  72. onedal/spmd/linear_model/logistic_regression.py +14 -8
  73. onedal/spmd/neighbors/__init__.py +2 -2
  74. onedal/spmd/neighbors/neighbors.py +36 -25
  75. onedal/svm/svm.py +80 -32
  76. onedal/svm/tests/test_csr_svm.py +10 -9
  77. onedal/svm/tests/test_nusvc.py +10 -10
  78. onedal/svm/tests/test_nusvr.py +8 -8
  79. onedal/svm/tests/test_svc.py +5 -5
  80. onedal/svm/tests/test_svr.py +10 -10
  81. onedal/tests/utils/_device_selection.py +1 -13
  82. onedal/utils/_array_api.py +3 -1
  83. onedal/utils/_dpep_helpers.py +16 -1
  84. onedal/utils/_sycl_queue_manager.py +147 -0
  85. onedal/utils/tests/test_validation.py +3 -3
  86. onedal/utils/validation.py +47 -16
  87. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/METADATA +2 -2
  88. scikit_learn_intelex-2025.5.0.dist-info/RECORD +279 -0
  89. sklearnex/__init__.py +3 -2
  90. sklearnex/__main__.py +2 -2
  91. sklearnex/_config.py +48 -6
  92. sklearnex/_device_offload.py +78 -61
  93. sklearnex/_utils.py +28 -2
  94. sklearnex/basic_statistics/basic_statistics.py +13 -20
  95. sklearnex/basic_statistics/incremental_basic_statistics.py +34 -40
  96. sklearnex/cluster/dbscan.py +6 -8
  97. sklearnex/cluster/k_means.py +2 -6
  98. sklearnex/covariance/incremental_covariance.py +42 -60
  99. sklearnex/decomposition/pca.py +7 -17
  100. sklearnex/dispatcher.py +4 -4
  101. sklearnex/doc/third-party-programs.txt +207 -2
  102. sklearnex/ensemble/_forest.py +106 -362
  103. sklearnex/glob/__main__.py +1 -1
  104. sklearnex/glob/dispatcher.py +1 -1
  105. sklearnex/linear_model/coordinate_descent.py +6 -6
  106. sklearnex/linear_model/incremental_linear.py +41 -126
  107. sklearnex/linear_model/incremental_ridge.py +42 -85
  108. sklearnex/linear_model/linear.py +48 -39
  109. sklearnex/linear_model/logistic_regression.py +34 -71
  110. sklearnex/linear_model/ridge.py +14 -18
  111. sklearnex/linear_model/tests/test_linear.py +60 -1
  112. sklearnex/linear_model/tests/test_logreg.py +2 -2
  113. sklearnex/manifold/t_sne.py +2 -3
  114. sklearnex/metrics/pairwise.py +1 -3
  115. sklearnex/metrics/ranking.py +1 -1
  116. sklearnex/model_selection/split.py +1 -3
  117. sklearnex/neighbors/_lof.py +7 -54
  118. sklearnex/neighbors/common.py +3 -3
  119. sklearnex/neighbors/knn_classification.py +31 -73
  120. sklearnex/neighbors/knn_regression.py +30 -70
  121. sklearnex/neighbors/knn_unsupervised.py +5 -13
  122. sklearnex/preview/covariance/covariance.py +3 -13
  123. sklearnex/preview/decomposition/incremental_pca.py +48 -62
  124. sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
  125. sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
  126. sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
  127. sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
  128. sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
  129. sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
  130. sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
  131. sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
  132. sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
  133. sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
  134. sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
  135. sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
  136. sklearnex/spmd/neighbors/__init__.py +2 -2
  137. sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
  138. sklearnex/svm/_common.py +12 -25
  139. sklearnex/svm/nusvc.py +35 -128
  140. sklearnex/svm/nusvr.py +9 -21
  141. sklearnex/svm/svc.py +33 -126
  142. sklearnex/svm/svr.py +9 -21
  143. sklearnex/tests/test_common.py +26 -11
  144. sklearnex/tests/test_memory_usage.py +16 -23
  145. sklearnex/tests/test_monkeypatch.py +4 -4
  146. sklearnex/tests/utils/base.py +2 -2
  147. sklearnex/utils/validation.py +8 -22
  148. onedal/common/_base.py +0 -38
  149. onedal/common/_policy.py +0 -55
  150. onedal/common/_spmd_policy.py +0 -30
  151. onedal/common/tests/test_policy.py +0 -76
  152. onedal/spmd/_base.py +0 -30
  153. onedal/utils/__init__.py +0 -49
  154. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -282
  155. sklearnex/spmd/neighbors/neighbors.py +0 -25
  156. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/LICENSE.txt +0 -0
  157. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/WHEEL +0 -0
  158. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/top_level.txt +0 -0
daal4py/__main__.py CHANGED
@@ -27,7 +27,7 @@ def _main():
27
27
  description="""
28
28
  Run your Python script with Intel(R) Distribution for
29
29
  Python* patches of scikit-learn, optimizing solvers of
30
- scikit-learn with Intel(R) oneAPI Data Analytics Library.
30
+ scikit-learn with oneAPI Data Analytics Library.
31
31
  """,
32
32
  formatter_class=argparse.ArgumentDefaultsHelpFormatter,
33
33
  )
@@ -1,4 +1,4 @@
1
- Intel® daal4py Third Party Programs File
1
+ daal4py Third Party Programs File
2
2
 
3
3
  This file contains the list of third party software (“third party programs”)
4
4
  contained in the Intel software and their required notices and/or license terms.
daal4py/mb/__init__.py CHANGED
@@ -1,5 +1,4 @@
1
- # ==============================================================================
2
- # Copyright 2023 Intel Corporation
1
+ # Copyright contributors to the oneDAL project
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
5
4
  # you may not use this file except in compliance with the License.
@@ -12,8 +11,73 @@
12
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
12
  # See the License for the specific language governing permissions and
14
13
  # limitations under the License.
15
- # ==============================================================================
16
14
 
17
- from .model_builders import GBTDAALBaseModel, convert_model
15
+ from sklearn.linear_model import LogisticRegression, SGDClassifier
18
16
 
19
- __all__ = ["GBTDAALBaseModel", "convert_model"]
17
+ from .logistic_regression_builders import LogisticDAALModel
18
+ from .tree_based_builders import GBTDAALBaseModel, GBTDAALModel
19
+
20
+ __all__ = ["LogisticDAALModel", "GBTDAALModel", "convert_model"]
21
+
22
+
23
+ def convert_model(model) -> "GBTDAALModel | LogisticDAALModel":
24
+ """
25
+ Convert GBT or LogReg models to Daal4Py
26
+
27
+ This function can be used to convert machine learning models / estimators
28
+ created through other libraries to daal4py classes which offer accelerated
29
+ prediction methods.
30
+
31
+ It supports gradient-boosted decision tree ensembles (GBT) from the libraries
32
+ ``xgboost``, ``lightgbm``, and ``catboost``; and logistic regression (binary
33
+ and multinomial) models from scikit-learn.
34
+
35
+ See the documentation of the classes :obj:`daal4py.mb.GBTDAALModel` and
36
+ :obj:`daal4py.mb.LogisticDAALModel` for more details.
37
+
38
+ As an alternative to this function, models of a specific type (GBT or LogReg)
39
+ can also be instantiated by calling those classes directly - for example,
40
+ logistic regression models can be instantiated directly from fitted coefficients
41
+ and intercepts, thereby allowing to work with models from libraries beyond
42
+ scikit-learn.
43
+
44
+ Parameters
45
+ ----------
46
+ model : fitted model object
47
+ A fitted model object (either GBT or LogReg) from the supported libraries.
48
+
49
+ Returns
50
+ -------
51
+ obj : GBTDAALModel or LogisticDAALModel
52
+ A daal4py model object of the corresponding class for the model type, which
53
+ offers faster prediction methods.
54
+ """
55
+ if isinstance(model, LogisticRegression):
56
+ if model.classes_.shape[0] > 2:
57
+ if (model.multi_class == "ovr") or (
58
+ model.multi_class == "auto" and model.solver == "liblinear"
59
+ ):
60
+ raise TypeError(
61
+ "Supplied 'model' object is a linear classifier, but not multinomial logistic"
62
+ " (hint: pass multi_class='multinomial' to 'LogisticRegression')."
63
+ )
64
+ elif (model.classes_.shape[0] == 2) and (model.multi_class == "multinomial"):
65
+ raise TypeError(
66
+ "Supplied 'model' object is not a logistic regressor "
67
+ "(hint: pass multi_class='auto' to 'LogisticRegression')."
68
+ )
69
+ return LogisticDAALModel(model.coef_, model.intercept_)
70
+ if isinstance(model, SGDClassifier):
71
+ if model.classes_.shape[0] > 2:
72
+ raise TypeError(
73
+ "Supplied 'model' object is a linear classifier, but not multinomial logistic"
74
+ " (note: scikit-learn does not offer stochastic multinomial logistic models)."
75
+ )
76
+ if model.loss != "log_loss":
77
+ raise TypeError(
78
+ "Supplied 'model' object is not a logistic regressor "
79
+ "(hint: pass loss='log_loss' to 'SGDClassifier')."
80
+ )
81
+ return LogisticDAALModel(model.coef_, model.intercept_)
82
+
83
+ return GBTDAALModel(model)