scikit-learn-intelex 2025.4.0__py313-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 (259) hide show
  1. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
  2. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
  3. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp313-win_amd64.pyd +0 -0
  4. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +424 -0
  5. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +19 -0
  6. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py +377 -0
  7. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp313-win_amd64.pyd +0 -0
  8. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
  9. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +248 -0
  10. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +245 -0
  11. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
  12. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
  13. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +597 -0
  14. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
  15. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +19 -0
  16. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +524 -0
  17. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +196 -0
  18. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +337 -0
  19. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
  20. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1397 -0
  21. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
  22. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +29 -0
  23. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
  24. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +272 -0
  25. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +325 -0
  26. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
  27. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
  28. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
  29. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +1026 -0
  30. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
  31. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +208 -0
  32. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
  33. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +19 -0
  34. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +405 -0
  35. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
  36. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +236 -0
  37. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
  38. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
  39. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
  40. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
  41. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  42. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
  43. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +161 -0
  44. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
  45. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +90 -0
  46. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +117 -0
  47. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
  48. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +503 -0
  49. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +139 -0
  50. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +74 -0
  51. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
  52. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
  53. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
  54. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +734 -0
  55. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +21 -0
  56. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +75 -0
  57. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
  58. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +696 -0
  59. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/__init__.py +83 -0
  60. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_config.py +54 -0
  61. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_device_offload.py +204 -0
  62. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
  63. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  64. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/basic_statistics/__init__.py +20 -0
  65. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +107 -0
  66. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +175 -0
  67. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +242 -0
  68. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +279 -0
  69. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
  70. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
  71. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +105 -0
  72. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +557 -0
  73. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +112 -0
  74. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
  75. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
  76. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
  77. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +38 -0
  78. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
  79. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
  80. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +55 -0
  81. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +30 -0
  82. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +125 -0
  83. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +76 -0
  84. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
  85. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
  86. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +122 -0
  87. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +161 -0
  88. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
  89. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +190 -0
  90. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
  91. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +121 -0
  92. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
  93. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +475 -0
  94. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/decomposition/__init__.py +20 -0
  95. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +214 -0
  96. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +186 -0
  97. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +285 -0
  98. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
  99. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +736 -0
  100. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
  101. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
  102. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +292 -0
  103. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +325 -0
  104. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +247 -0
  105. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +213 -0
  106. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +171 -0
  107. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +259 -0
  108. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
  109. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
  110. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
  111. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +763 -0
  112. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
  113. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
  114. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +25 -0
  115. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +152 -0
  116. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
  117. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
  118. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/svm/svm.py +556 -0
  119. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +351 -0
  120. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
  121. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
  122. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +176 -0
  123. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
  124. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/tests/test_common.py +57 -0
  125. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +162 -0
  126. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +102 -0
  127. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +49 -0
  128. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +81 -0
  129. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
  130. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
  131. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/validation.py +464 -0
  132. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/__init__.py +66 -0
  133. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/__main__.py +58 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_config.py +116 -0
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +126 -0
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_utils.py +177 -0
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +261 -0
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +352 -0
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +405 -0
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +455 -0
  142. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/cluster/__init__.py +20 -0
  143. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/cluster/dbscan.py +197 -0
  144. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +397 -0
  145. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +38 -0
  146. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +157 -0
  147. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/conftest.py +82 -0
  148. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/covariance/__init__.py +19 -0
  149. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +405 -0
  150. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +287 -0
  151. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/decomposition/__init__.py +19 -0
  152. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +427 -0
  153. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +58 -0
  154. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/dispatcher.py +534 -0
  155. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +424 -0
  156. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/ensemble/__init__.py +29 -0
  157. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/ensemble/_forest.py +2029 -0
  158. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +140 -0
  159. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/glob/__main__.py +72 -0
  160. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/glob/dispatcher.py +101 -0
  161. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
  162. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +30 -0
  163. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +495 -0
  164. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +432 -0
  165. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +346 -0
  166. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +415 -0
  167. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +390 -0
  168. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +267 -0
  169. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +214 -0
  170. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +142 -0
  171. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +134 -0
  172. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  173. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/manifold/__init__.py +19 -0
  174. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py +26 -0
  175. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
  176. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/metrics/__init__.py +23 -0
  177. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/metrics/pairwise.py +22 -0
  178. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/metrics/ranking.py +20 -0
  179. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +39 -0
  180. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/model_selection/__init__.py +21 -0
  181. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/model_selection/split.py +22 -0
  182. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +34 -0
  183. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/neighbors/__init__.py +27 -0
  184. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/neighbors/_lof.py +236 -0
  185. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/neighbors/common.py +310 -0
  186. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +231 -0
  187. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +207 -0
  188. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +178 -0
  189. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +82 -0
  190. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/preview/__init__.py +17 -0
  191. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +19 -0
  192. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +142 -0
  193. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +66 -0
  194. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
  195. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +244 -0
  196. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +336 -0
  197. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/__init__.py +25 -0
  198. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
  199. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +21 -0
  200. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
  201. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +107 -0
  202. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +306 -0
  203. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +30 -0
  204. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +50 -0
  205. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +21 -0
  206. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +97 -0
  207. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +173 -0
  208. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
  209. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +21 -0
  210. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +37 -0
  211. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +107 -0
  212. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
  213. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +20 -0
  214. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +30 -0
  215. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +21 -0
  216. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
  217. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +128 -0
  218. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +19 -0
  219. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +71 -0
  220. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +265 -0
  221. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +21 -0
  222. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +35 -0
  223. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +21 -0
  224. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +21 -0
  225. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +331 -0
  226. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +145 -0
  227. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +162 -0
  228. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +19 -0
  229. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +25 -0
  230. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +288 -0
  231. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/svm/__init__.py +29 -0
  232. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +339 -0
  233. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/svm/nusvc.py +371 -0
  234. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/svm/nusvr.py +170 -0
  235. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/svm/svc.py +399 -0
  236. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/svm/svr.py +167 -0
  237. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +93 -0
  238. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +491 -0
  239. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
  240. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
  241. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +347 -0
  242. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +269 -0
  243. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
  244. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_parallel.py +48 -0
  245. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_patching.py +377 -0
  246. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +326 -0
  247. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
  248. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +436 -0
  249. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
  250. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +19 -0
  251. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +82 -0
  252. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +59 -0
  253. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  254. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
  255. scikit_learn_intelex-2025.4.0.dist-info/LICENSE.txt +202 -0
  256. scikit_learn_intelex-2025.4.0.dist-info/METADATA +192 -0
  257. scikit_learn_intelex-2025.4.0.dist-info/RECORD +259 -0
  258. scikit_learn_intelex-2025.4.0.dist-info/WHEEL +5 -0
  259. scikit_learn_intelex-2025.4.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,170 @@
1
+ # ==============================================================================
2
+ # Copyright 2021 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
+ from sklearn.svm import NuSVR as _sklearn_NuSVR
19
+ from sklearn.utils.validation import (
20
+ _deprecate_positional_args,
21
+ check_array,
22
+ check_is_fitted,
23
+ )
24
+
25
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
26
+ from daal4py.sklearn._utils import sklearn_check_version
27
+ from onedal.svm import NuSVR as onedal_NuSVR
28
+
29
+ from .._device_offload import dispatch, wrap_output_data
30
+ from ._common import BaseSVR
31
+
32
+ if sklearn_check_version("1.6"):
33
+ from sklearn.utils.validation import validate_data
34
+ else:
35
+ validate_data = BaseSVR._validate_data
36
+
37
+
38
+ @control_n_jobs(decorated_methods=["fit", "predict", "score"])
39
+ class NuSVR(_sklearn_NuSVR, BaseSVR):
40
+ __doc__ = _sklearn_NuSVR.__doc__
41
+
42
+ if sklearn_check_version("1.2"):
43
+ _parameter_constraints: dict = {**_sklearn_NuSVR._parameter_constraints}
44
+
45
+ @_deprecate_positional_args
46
+ def __init__(
47
+ self,
48
+ *,
49
+ nu=0.5,
50
+ C=1.0,
51
+ kernel="rbf",
52
+ degree=3,
53
+ gamma="scale",
54
+ coef0=0.0,
55
+ shrinking=True,
56
+ tol=1e-3,
57
+ cache_size=200,
58
+ verbose=False,
59
+ max_iter=-1,
60
+ ):
61
+ super().__init__(
62
+ kernel=kernel,
63
+ degree=degree,
64
+ gamma=gamma,
65
+ coef0=coef0,
66
+ tol=tol,
67
+ C=C,
68
+ nu=nu,
69
+ shrinking=shrinking,
70
+ cache_size=cache_size,
71
+ verbose=verbose,
72
+ max_iter=max_iter,
73
+ )
74
+
75
+ def fit(self, X, y, sample_weight=None):
76
+ if sklearn_check_version("1.2"):
77
+ self._validate_params()
78
+ elif self.nu <= 0 or self.nu > 1:
79
+ # else if added to correct issues with
80
+ # sklearn tests:
81
+ # svm/tests/test_sparse.py::test_error
82
+ # svm/tests/test_svm.py::test_bad_input
83
+ # for sklearn versions < 1.2 (i.e. without
84
+ # validate_params parameter checking)
85
+ # Without this, a segmentation fault with
86
+ # Windows fatal exception: access violation
87
+ # occurs
88
+ raise ValueError("nu <= 0 or nu > 1")
89
+ dispatch(
90
+ self,
91
+ "fit",
92
+ {
93
+ "onedal": self.__class__._onedal_fit,
94
+ "sklearn": _sklearn_NuSVR.fit,
95
+ },
96
+ X,
97
+ y,
98
+ sample_weight=sample_weight,
99
+ )
100
+ return self
101
+
102
+ @wrap_output_data
103
+ def predict(self, X):
104
+ check_is_fitted(self)
105
+ return dispatch(
106
+ self,
107
+ "predict",
108
+ {
109
+ "onedal": self.__class__._onedal_predict,
110
+ "sklearn": _sklearn_NuSVR.predict,
111
+ },
112
+ X,
113
+ )
114
+
115
+ @wrap_output_data
116
+ def score(self, X, y, sample_weight=None):
117
+ check_is_fitted(self)
118
+ return dispatch(
119
+ self,
120
+ "score",
121
+ {
122
+ "onedal": self.__class__._onedal_score,
123
+ "sklearn": _sklearn_NuSVR.score,
124
+ },
125
+ X,
126
+ y,
127
+ sample_weight=sample_weight,
128
+ )
129
+
130
+ def _onedal_fit(self, X, y, sample_weight=None, queue=None):
131
+ X, _, sample_weight = self._onedal_fit_checks(X, y, sample_weight)
132
+ onedal_params = {
133
+ "C": self.C,
134
+ "nu": self.nu,
135
+ "kernel": self.kernel,
136
+ "degree": self.degree,
137
+ "gamma": self._compute_gamma_sigma(X),
138
+ "coef0": self.coef0,
139
+ "tol": self.tol,
140
+ "shrinking": self.shrinking,
141
+ "cache_size": self.cache_size,
142
+ "max_iter": self.max_iter,
143
+ }
144
+
145
+ self._onedal_estimator = onedal_NuSVR(**onedal_params)
146
+ self._onedal_estimator.fit(X, y, sample_weight, queue=queue)
147
+ self._save_attributes()
148
+
149
+ def _onedal_predict(self, X, queue=None):
150
+ if sklearn_check_version("1.0"):
151
+ X = validate_data(
152
+ self,
153
+ X,
154
+ dtype=[np.float64, np.float32],
155
+ force_all_finite=False,
156
+ accept_sparse="csr",
157
+ reset=False,
158
+ )
159
+ else:
160
+ X = check_array(
161
+ X,
162
+ dtype=[np.float64, np.float32],
163
+ force_all_finite=False,
164
+ accept_sparse="csr",
165
+ )
166
+ return self._onedal_estimator.predict(X, queue=queue)
167
+
168
+ fit.__doc__ = _sklearn_NuSVR.fit.__doc__
169
+ predict.__doc__ = _sklearn_NuSVR.predict.__doc__
170
+ score.__doc__ = _sklearn_NuSVR.score.__doc__
@@ -0,0 +1,399 @@
1
+ # ==============================================================================
2
+ # Copyright 2021 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
+ from scipy import sparse as sp
19
+ from sklearn.exceptions import NotFittedError
20
+ from sklearn.metrics import accuracy_score
21
+ from sklearn.svm import SVC as _sklearn_SVC
22
+ from sklearn.utils.validation import (
23
+ _deprecate_positional_args,
24
+ check_array,
25
+ check_is_fitted,
26
+ )
27
+
28
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
29
+ from daal4py.sklearn._utils import sklearn_check_version
30
+
31
+ from .._device_offload import dispatch, wrap_output_data
32
+ from .._utils import PatchingConditionsChain
33
+ from ..utils._array_api import get_namespace
34
+ from ._common import BaseSVC
35
+
36
+ if sklearn_check_version("1.0"):
37
+ from sklearn.utils.metaestimators import available_if
38
+
39
+ from onedal.svm import SVC as onedal_SVC
40
+
41
+ if sklearn_check_version("1.6"):
42
+ from sklearn.utils.validation import validate_data
43
+ else:
44
+ validate_data = BaseSVC._validate_data
45
+
46
+
47
+ @control_n_jobs(
48
+ decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
49
+ )
50
+ class SVC(_sklearn_SVC, BaseSVC):
51
+ __doc__ = _sklearn_SVC.__doc__
52
+
53
+ if sklearn_check_version("1.2"):
54
+ _parameter_constraints: dict = {**_sklearn_SVC._parameter_constraints}
55
+
56
+ @_deprecate_positional_args
57
+ def __init__(
58
+ self,
59
+ *,
60
+ C=1.0,
61
+ kernel="rbf",
62
+ degree=3,
63
+ gamma="scale",
64
+ coef0=0.0,
65
+ shrinking=True,
66
+ probability=False,
67
+ tol=1e-3,
68
+ cache_size=200,
69
+ class_weight=None,
70
+ verbose=False,
71
+ max_iter=-1,
72
+ decision_function_shape="ovr",
73
+ break_ties=False,
74
+ random_state=None,
75
+ ):
76
+ super().__init__(
77
+ C=C,
78
+ kernel=kernel,
79
+ degree=degree,
80
+ gamma=gamma,
81
+ coef0=coef0,
82
+ shrinking=shrinking,
83
+ probability=probability,
84
+ tol=tol,
85
+ cache_size=cache_size,
86
+ class_weight=class_weight,
87
+ verbose=verbose,
88
+ max_iter=max_iter,
89
+ decision_function_shape=decision_function_shape,
90
+ break_ties=break_ties,
91
+ random_state=random_state,
92
+ )
93
+
94
+ def fit(self, X, y, sample_weight=None):
95
+ if sklearn_check_version("1.2"):
96
+ self._validate_params()
97
+ elif self.C <= 0:
98
+ # else if added to correct issues with
99
+ # sklearn tests:
100
+ # svm/tests/test_sparse.py::test_error
101
+ # svm/tests/test_svm.py::test_bad_input
102
+ # for sklearn versions < 1.2 (i.e. without
103
+ # validate_params parameter checking)
104
+ # Without this, a segmentation fault with
105
+ # Windows fatal exception: access violation
106
+ # occurs
107
+ raise ValueError("C <= 0")
108
+ dispatch(
109
+ self,
110
+ "fit",
111
+ {
112
+ "onedal": self.__class__._onedal_fit,
113
+ "sklearn": _sklearn_SVC.fit,
114
+ },
115
+ X,
116
+ y,
117
+ sample_weight=sample_weight,
118
+ )
119
+
120
+ return self
121
+
122
+ @wrap_output_data
123
+ def predict(self, X):
124
+ check_is_fitted(self)
125
+ return dispatch(
126
+ self,
127
+ "predict",
128
+ {
129
+ "onedal": self.__class__._onedal_predict,
130
+ "sklearn": _sklearn_SVC.predict,
131
+ },
132
+ X,
133
+ )
134
+
135
+ @wrap_output_data
136
+ def score(self, X, y, sample_weight=None):
137
+ check_is_fitted(self)
138
+ return dispatch(
139
+ self,
140
+ "score",
141
+ {
142
+ "onedal": self.__class__._onedal_score,
143
+ "sklearn": _sklearn_SVC.score,
144
+ },
145
+ X,
146
+ y,
147
+ sample_weight=sample_weight,
148
+ )
149
+
150
+ if sklearn_check_version("1.0"):
151
+
152
+ @available_if(_sklearn_SVC._check_proba)
153
+ def predict_proba(self, X):
154
+ """
155
+ Compute probabilities of possible outcomes for samples in X.
156
+
157
+ The model need to have probability information computed at training
158
+ time: fit with attribute `probability` set to True.
159
+
160
+ Parameters
161
+ ----------
162
+ X : array-like of shape (n_samples, n_features)
163
+ For kernel="precomputed", the expected shape of X is
164
+ (n_samples_test, n_samples_train).
165
+
166
+ Returns
167
+ -------
168
+ T : ndarray of shape (n_samples, n_classes)
169
+ Returns the probability of the sample for each class in
170
+ the model. The columns correspond to the classes in sorted
171
+ order, as they appear in the attribute :term:`classes_`.
172
+
173
+ Notes
174
+ -----
175
+ The probability model is created using cross validation, so
176
+ the results can be slightly different than those obtained by
177
+ predict. Also, it will produce meaningless results on very small
178
+ datasets.
179
+ """
180
+ check_is_fitted(self)
181
+ return self._predict_proba(X)
182
+
183
+ @available_if(_sklearn_SVC._check_proba)
184
+ def predict_log_proba(self, X):
185
+ """Compute log probabilities of possible outcomes for samples in X.
186
+
187
+ The model need to have probability information computed at training
188
+ time: fit with attribute `probability` set to True.
189
+
190
+ Parameters
191
+ ----------
192
+ X : array-like of shape (n_samples, n_features) or \
193
+ (n_samples_test, n_samples_train)
194
+ For kernel="precomputed", the expected shape of X is
195
+ (n_samples_test, n_samples_train).
196
+
197
+ Returns
198
+ -------
199
+ T : ndarray of shape (n_samples, n_classes)
200
+ Returns the log-probabilities of the sample for each class in
201
+ the model. The columns correspond to the classes in sorted
202
+ order, as they appear in the attribute :term:`classes_`.
203
+
204
+ Notes
205
+ -----
206
+ The probability model is created using cross validation, so
207
+ the results can be slightly different than those obtained by
208
+ predict. Also, it will produce meaningless results on very small
209
+ datasets.
210
+ """
211
+ xp, _ = get_namespace(X)
212
+
213
+ return xp.log(self.predict_proba(X))
214
+
215
+ else:
216
+
217
+ @property
218
+ def predict_proba(self):
219
+ self._check_proba()
220
+ check_is_fitted(self)
221
+ return self._predict_proba
222
+
223
+ def _predict_log_proba(self, X):
224
+ xp, _ = get_namespace(X)
225
+ return xp.log(self.predict_proba(X))
226
+
227
+ predict_proba.__doc__ = _sklearn_SVC.predict_proba.__doc__
228
+
229
+ @wrap_output_data
230
+ def _predict_proba(self, X):
231
+ sklearn_pred_proba = (
232
+ _sklearn_SVC.predict_proba
233
+ if sklearn_check_version("1.0")
234
+ else _sklearn_SVC._predict_proba
235
+ )
236
+
237
+ return dispatch(
238
+ self,
239
+ "predict_proba",
240
+ {
241
+ "onedal": self.__class__._onedal_predict_proba,
242
+ "sklearn": sklearn_pred_proba,
243
+ },
244
+ X,
245
+ )
246
+
247
+ @wrap_output_data
248
+ def decision_function(self, X):
249
+ check_is_fitted(self)
250
+ return dispatch(
251
+ self,
252
+ "decision_function",
253
+ {
254
+ "onedal": self.__class__._onedal_decision_function,
255
+ "sklearn": _sklearn_SVC.decision_function,
256
+ },
257
+ X,
258
+ )
259
+
260
+ decision_function.__doc__ = _sklearn_SVC.decision_function.__doc__
261
+
262
+ def _onedal_gpu_supported(self, method_name, *data):
263
+ class_name = self.__class__.__name__
264
+ patching_status = PatchingConditionsChain(
265
+ f"sklearn.svm.{class_name}.{method_name}"
266
+ )
267
+ if len(data) > 1:
268
+ self._class_count = len(np.unique(data[1]))
269
+ self._is_sparse = sp.issparse(data[0])
270
+ conditions = [
271
+ (
272
+ self.kernel in ["linear", "rbf"],
273
+ f'Kernel is "{self.kernel}" while '
274
+ '"linear" and "rbf" are only supported on GPU.',
275
+ ),
276
+ (self.class_weight is None, "Class weight is not supported on GPU."),
277
+ (not self._is_sparse, "Sparse input is not supported on GPU."),
278
+ (self._class_count == 2, "Multiclassification is not supported on GPU."),
279
+ ]
280
+ if method_name == "fit":
281
+ patching_status.and_conditions(conditions)
282
+ return patching_status
283
+ if method_name in ["predict", "predict_proba", "decision_function", "score"]:
284
+ conditions.append(
285
+ (hasattr(self, "_onedal_estimator"), "oneDAL model was not trained")
286
+ )
287
+ patching_status.and_conditions(conditions)
288
+ return patching_status
289
+ raise RuntimeError(f"Unknown method {method_name} in {class_name}")
290
+
291
+ def _get_sample_weight(self, X, y, sample_weight=None):
292
+ sample_weight = super()._get_sample_weight(X, y, sample_weight)
293
+ if sample_weight is None:
294
+ return sample_weight
295
+
296
+ if np.any(sample_weight <= 0) and len(np.unique(y[sample_weight > 0])) != len(
297
+ self.classes_
298
+ ):
299
+ raise ValueError(
300
+ "Invalid input - all samples with positive weights "
301
+ "belong to the same class"
302
+ if sklearn_check_version("1.2")
303
+ else "Invalid input - all samples with positive weights "
304
+ "have the same label."
305
+ )
306
+ return sample_weight
307
+
308
+ def _onedal_fit(self, X, y, sample_weight=None, queue=None):
309
+ X, _, weights = self._onedal_fit_checks(X, y, sample_weight)
310
+ onedal_params = {
311
+ "C": self.C,
312
+ "kernel": self.kernel,
313
+ "degree": self.degree,
314
+ "gamma": self._compute_gamma_sigma(X),
315
+ "coef0": self.coef0,
316
+ "tol": self.tol,
317
+ "shrinking": self.shrinking,
318
+ "cache_size": self.cache_size,
319
+ "max_iter": self.max_iter,
320
+ "class_weight": self.class_weight,
321
+ "break_ties": self.break_ties,
322
+ "decision_function_shape": self.decision_function_shape,
323
+ }
324
+
325
+ self._onedal_estimator = onedal_SVC(**onedal_params)
326
+ self._onedal_estimator.fit(X, y, weights, queue=queue)
327
+
328
+ if self.probability:
329
+ self._fit_proba(
330
+ X,
331
+ y,
332
+ sample_weight=sample_weight,
333
+ queue=queue,
334
+ )
335
+
336
+ self._save_attributes()
337
+
338
+ def _onedal_predict(self, X, queue=None):
339
+ if sklearn_check_version("1.0"):
340
+ X = validate_data(
341
+ self,
342
+ X,
343
+ dtype=[np.float64, np.float32],
344
+ force_all_finite=False,
345
+ ensure_2d=False,
346
+ accept_sparse="csr",
347
+ reset=False,
348
+ )
349
+ else:
350
+ X = check_array(
351
+ X,
352
+ dtype=[np.float64, np.float32],
353
+ force_all_finite=False,
354
+ accept_sparse="csr",
355
+ )
356
+ return self._onedal_estimator.predict(X, queue=queue)
357
+
358
+ def _onedal_predict_proba(self, X, queue=None):
359
+ if getattr(self, "clf_prob", None) is None:
360
+ raise NotFittedError(
361
+ "predict_proba is not available when fitted with probability=False"
362
+ )
363
+ from .._config import config_context, get_config
364
+
365
+ # We use stock metaestimators below, so the only way
366
+ # to pass a queue is using config_context.
367
+ cfg = get_config()
368
+ cfg["target_offload"] = queue
369
+ with config_context(**cfg):
370
+ return self.clf_prob.predict_proba(X)
371
+
372
+ def _onedal_decision_function(self, X, queue=None):
373
+ if sklearn_check_version("1.0"):
374
+ X = validate_data(
375
+ self,
376
+ X,
377
+ dtype=[np.float64, np.float32],
378
+ force_all_finite=False,
379
+ accept_sparse="csr",
380
+ reset=False,
381
+ )
382
+ else:
383
+ X = check_array(
384
+ X,
385
+ dtype=[np.float64, np.float32],
386
+ force_all_finite=False,
387
+ accept_sparse="csr",
388
+ )
389
+ return self._onedal_estimator.decision_function(X, queue=queue)
390
+
391
+ def _onedal_score(self, X, y, sample_weight=None, queue=None):
392
+ return accuracy_score(
393
+ y, self._onedal_predict(X, queue=queue), sample_weight=sample_weight
394
+ )
395
+
396
+ fit.__doc__ = _sklearn_SVC.fit.__doc__
397
+ predict.__doc__ = _sklearn_SVC.predict.__doc__
398
+ decision_function.__doc__ = _sklearn_SVC.decision_function.__doc__
399
+ score.__doc__ = _sklearn_SVC.score.__doc__