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,736 @@
1
+ # ==============================================================================
2
+ # Copyright 2014 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 __future__ import print_function
18
+
19
+ import numpy as np
20
+ import sklearn.svm._base as svm_base
21
+ import sklearn.svm._classes as svm_classes
22
+ from scipy import sparse as sp
23
+ from sklearn.calibration import CalibratedClassifierCV
24
+ from sklearn.exceptions import NotFittedError
25
+ from sklearn.model_selection import StratifiedKFold
26
+ from sklearn.utils import check_random_state
27
+ from sklearn.utils.multiclass import _ovr_decision_function
28
+ from sklearn.utils.validation import (
29
+ _check_sample_weight,
30
+ _num_samples,
31
+ check_consistent_length,
32
+ check_is_fitted,
33
+ )
34
+
35
+ import daal4py
36
+
37
+ from .._utils import PatchingConditionsChain, getFPType, make2d
38
+ from ..utils.validation import validate_data
39
+
40
+
41
+ def _get_libsvm_impl():
42
+ return ["c_svc", "nu_svc", "one_class", "epsilon_svr", "nu_svr"]
43
+
44
+
45
+ def _dual_coef_getter(self):
46
+ return self._internal_dual_coef_
47
+
48
+
49
+ def _intercept_getter(self):
50
+ return self._internal_intercept_
51
+
52
+
53
+ def _dual_coef_setter(self, val):
54
+ self._internal_dual_coef_ = val
55
+ if hasattr(self, "daal_model_"):
56
+ del self.daal_model_
57
+ if getattr(self, "_daal_fit", False):
58
+ self._daal_fit = False
59
+
60
+
61
+ def _intercept_setter(self, val):
62
+ self._internal_intercept_ = val
63
+ if hasattr(self, "daal_model_"):
64
+ del self.daal_model_
65
+ if getattr(self, "_daal_fit", False):
66
+ self._daal_fit = False
67
+
68
+
69
+ # Methods to extract coefficients
70
+ def group_indices_by_class(num_classes, sv_ind_by_clf, labels):
71
+ sv_ind_counters = np.zeros(num_classes, dtype=np.intp)
72
+
73
+ num_of_sv_per_class = np.bincount(labels[np.hstack(sv_ind_by_clf)])
74
+ sv_ind_by_class = [np.empty(n, dtype=np.int32) for n in num_of_sv_per_class]
75
+
76
+ for indices_per_clf in sv_ind_by_clf:
77
+ for sv_index in indices_per_clf:
78
+ sv_label = labels[sv_index]
79
+ i = sv_ind_counters[sv_label]
80
+ sv_ind_by_class[sv_label][i] = sv_index
81
+ sv_ind_counters[sv_label] += 1
82
+
83
+ return sv_ind_by_class
84
+
85
+
86
+ def map_sv_to_columns_in_dual_coef_matrix(sv_ind_by_class):
87
+ from collections import defaultdict
88
+
89
+ sv_ind_mapping = defaultdict(lambda: -1)
90
+ p = 0
91
+ for indices_per_class in sv_ind_by_class:
92
+ indices_per_class.sort()
93
+ for sv_index in indices_per_class:
94
+ if sv_ind_mapping[sv_index] == -1:
95
+ sv_ind_mapping[sv_index] = p
96
+ p += 1
97
+ return sv_ind_mapping
98
+
99
+
100
+ def map_to_lexicographic(n):
101
+ """Returns permutation of reverse lexicographics to
102
+ lexicographics orders for pairs of n consecutive integer indexes
103
+ """
104
+ from itertools import combinations, count
105
+
106
+ two_class_order_gen = ((j, i) for i in range(n) for j in range(i))
107
+ reverse_lookup = {key: val for key, val in zip(two_class_order_gen, count(0))}
108
+ perm_iter = (reverse_lookup[pair] for pair in combinations(range(n), 2))
109
+ return np.fromiter(perm_iter, dtype=np.intp)
110
+
111
+
112
+ def permute_list(li, perm):
113
+ "Rearrange `li` according to `perm`"
114
+ return [li[i] for i in perm]
115
+
116
+
117
+ def extract_dual_coef(num_classes, sv_ind_by_clf, sv_coef_by_clf, labels):
118
+ """Construct dual coefficients array in SKLearn peculiar layout,
119
+ as well corresponding support vector indexes
120
+ """
121
+ sv_ind_by_class = group_indices_by_class(num_classes, sv_ind_by_clf, labels)
122
+ sv_ind_mapping = map_sv_to_columns_in_dual_coef_matrix(sv_ind_by_class)
123
+
124
+ num_unique_sv = len(sv_ind_mapping)
125
+ dc_dt = sv_coef_by_clf[0].dtype
126
+
127
+ dual_coef = np.zeros((num_classes - 1, num_unique_sv), dtype=dc_dt)
128
+ support_ = np.empty((num_unique_sv,), dtype=np.int32)
129
+
130
+ p = 0
131
+ for i in range(0, num_classes):
132
+ for j in range(i + 1, num_classes):
133
+ sv_ind_i_vs_j = sv_ind_by_clf[p]
134
+ sv_coef_i_vs_j = sv_coef_by_clf[p]
135
+ p += 1
136
+
137
+ for k, sv_index in enumerate(sv_ind_i_vs_j):
138
+ label = labels[sv_index]
139
+ col_index = sv_ind_mapping[sv_index]
140
+ if j == label:
141
+ row_index = i
142
+ else:
143
+ row_index = j - 1
144
+ dual_coef[row_index, col_index] = sv_coef_i_vs_j[k]
145
+ support_[col_index] = sv_index
146
+
147
+ return dual_coef, support_
148
+
149
+
150
+ def _daal4py_kf(kernel, X_fptype, gamma=1.0, is_sparse=False):
151
+ method = "fastCSR" if is_sparse else "defaultDense"
152
+ if kernel == "rbf":
153
+ sigma_value = np.sqrt(0.5 / gamma)
154
+ kf = daal4py.kernel_function_rbf(
155
+ fptype=X_fptype, method=method, sigma=sigma_value
156
+ )
157
+ elif kernel == "linear":
158
+ kf = daal4py.kernel_function_linear(fptype=X_fptype, method=method)
159
+ else:
160
+ raise ValueError(
161
+ "_daal4py_fit received unexpected kernel specification {}.".format(kernel)
162
+ )
163
+
164
+ return kf
165
+
166
+
167
+ def _daal4py_check_weight(self, X, y, sample_weight):
168
+ ww = None
169
+ if sample_weight.shape[0] > 0:
170
+ sample_weight = _check_sample_weight(sample_weight, X)
171
+ if np.all(sample_weight <= 0):
172
+ raise ValueError("Invalid input - all samples have zero or negative weights.")
173
+ if np.any(sample_weight <= 0):
174
+ if len(np.unique(y[sample_weight > 0])) != len(self.classes_):
175
+ raise ValueError(
176
+ "Invalid input - all samples with positive weights "
177
+ "have the same label."
178
+ )
179
+ ww = sample_weight
180
+ elif self.class_weight is not None:
181
+ ww = np.ones(X.shape[0], dtype=np.float64)
182
+ if self.class_weight is not None:
183
+ for i, v in enumerate(self.class_weight_):
184
+ ww[y == i] *= v
185
+ return ww
186
+
187
+
188
+ def _daal4py_svm(
189
+ fptype,
190
+ C,
191
+ accuracyThreshold,
192
+ tau,
193
+ maxIterations,
194
+ cacheSize,
195
+ doShrinking,
196
+ kernel,
197
+ nClasses=2,
198
+ ):
199
+ svm_train = daal4py.svm_training(
200
+ method="thunder",
201
+ fptype=fptype,
202
+ C=C,
203
+ accuracyThreshold=accuracyThreshold,
204
+ tau=tau,
205
+ maxIterations=maxIterations,
206
+ cacheSize=cacheSize,
207
+ doShrinking=doShrinking,
208
+ kernel=kernel,
209
+ )
210
+ if nClasses == 2:
211
+ algo = svm_train
212
+ else:
213
+ algo = daal4py.multi_class_classifier_training(
214
+ nClasses=nClasses,
215
+ fptype=fptype,
216
+ method="oneAgainstOne",
217
+ training=svm_train,
218
+ )
219
+
220
+ return algo
221
+
222
+
223
+ def _daal4py_fit(self, X, y_inp, sample_weight, kernel, is_sparse=False):
224
+ if self.C <= 0:
225
+ raise ValueError("C <= 0")
226
+ num_classes = len(self.classes_)
227
+
228
+ if sample_weight is not None:
229
+ sample_weight = make2d(sample_weight)
230
+
231
+ y = make2d(y_inp)
232
+ X_fptype = getFPType(X)
233
+ kf = _daal4py_kf(kernel, X_fptype, gamma=self._gamma, is_sparse=is_sparse)
234
+ algo = _daal4py_svm(
235
+ fptype=X_fptype,
236
+ C=float(self.C),
237
+ accuracyThreshold=float(self.tol),
238
+ tau=1e-12,
239
+ maxIterations=int(self.max_iter if self.max_iter > 0 else 2**30),
240
+ cacheSize=int(self.cache_size * 1024 * 1024),
241
+ doShrinking=bool(self.shrinking),
242
+ kernel=kf,
243
+ nClasses=num_classes,
244
+ )
245
+
246
+ res = algo.compute(data=X, labels=y, weights=sample_weight)
247
+
248
+ model = res.model
249
+ self.daal_model_ = model
250
+
251
+ if num_classes == 2:
252
+ # binary
253
+ two_class_sv_ind_ = model.SupportIndices
254
+ two_class_sv_ind_ = two_class_sv_ind_.ravel()
255
+
256
+ # support indexes need permutation to arrange them
257
+ # into the same layout as that of Scikit-Learn
258
+ tmp = np.empty(
259
+ two_class_sv_ind_.shape,
260
+ dtype=np.dtype([("label", y.dtype), ("ind", two_class_sv_ind_.dtype)]),
261
+ )
262
+ tmp["label"][:] = y[two_class_sv_ind_].ravel()
263
+ tmp["ind"][:] = two_class_sv_ind_
264
+ perm = np.argsort(tmp, order=["label", "ind"])
265
+ del tmp
266
+
267
+ self.support_ = two_class_sv_ind_[perm]
268
+ self.support_vectors_ = X[self.support_]
269
+
270
+ self.dual_coef_ = model.ClassificationCoefficients.T
271
+ if is_sparse:
272
+ self.dual_coef_ = sp.csr_matrix(self.dual_coef_)
273
+ self.dual_coef_ = self.dual_coef_[:, perm]
274
+ self.intercept_ = np.array([model.Bias])
275
+
276
+ else:
277
+ # multi-class
278
+ intercepts = []
279
+ coefs = []
280
+ sv_ind_by_clf = []
281
+ label_indexes = []
282
+
283
+ model_id = 0
284
+ for i1 in range(num_classes):
285
+ label_indexes.append(np.where(y == i1)[0])
286
+ for i2 in range(i1):
287
+ svm_model = model.TwoClassClassifierModel(model_id)
288
+
289
+ # Indices correspond to input features with label i1
290
+ # followed by input features with label i2
291
+ two_class_sv_ind_ = svm_model.SupportIndices
292
+ # Map these indexes to indexes of the training data
293
+ sv_ind = np.take(
294
+ np.hstack((label_indexes[i1], label_indexes[i2])),
295
+ two_class_sv_ind_.ravel(),
296
+ )
297
+ sv_ind_by_clf.append(sv_ind)
298
+
299
+ # svs_ = getArrayFromNumericTable(svm_model.getSupportVectors())
300
+ # assert np.array_equal(svs_, X[sv_ind])
301
+
302
+ intercepts.append(-svm_model.Bias)
303
+ coefs.append(-svm_model.ClassificationCoefficients)
304
+ model_id += 1
305
+
306
+ # permute solutions to lexicographic ordering
307
+ to_lex_perm = map_to_lexicographic(num_classes)
308
+ sv_ind_by_clf = permute_list(sv_ind_by_clf, to_lex_perm)
309
+ sv_coef_by_clf = permute_list(coefs, to_lex_perm)
310
+ intercepts = permute_list(intercepts, to_lex_perm)
311
+
312
+ self.dual_coef_, self.support_ = extract_dual_coef(
313
+ num_classes, # number of classes
314
+ sv_ind_by_clf, # support vector indexes by two-class classifiers
315
+ sv_coef_by_clf, # classification coefficients by two-class classifiers
316
+ y.squeeze().astype(np.intp, copy=False), # integer labels
317
+ )
318
+ if is_sparse:
319
+ self.dual_coef_ = sp.csr_matrix(self.dual_coef_)
320
+ self.support_vectors_ = X[self.support_]
321
+ self.intercept_ = np.array(intercepts)
322
+
323
+ indices = y.take(self.support_, axis=0)
324
+ self._n_support = np.array(
325
+ [np.sum(indices == i) for i, c in enumerate(self.classes_)], dtype=np.int32
326
+ )
327
+
328
+ self._probA = np.empty(0)
329
+ self._probB = np.empty(0)
330
+
331
+
332
+ def _compute_gamma(gamma, kernel, X):
333
+ """
334
+ Computes actual value of 'gamma' parameter of RBF kernel
335
+ corresponding to SVC keyword values `gamma` and `kernel`, and feature
336
+ matrix X, with sparsity `sparse`.
337
+
338
+ In 0.20 gamma='scale' used to mean compute 'gamma' based on
339
+ column-wise standard deviation, but in 0.20.3 it was changed
340
+ to use column-wise variance.
341
+
342
+ See: https://github.com/scikit-learn/scikit-learn/pull/13221
343
+ """
344
+ if gamma == "scale":
345
+ kernel_uses_gamma = not callable(kernel) and kernel not in (
346
+ "linear",
347
+ "precomputed",
348
+ )
349
+ if kernel_uses_gamma:
350
+ if sp.isspmatrix(X):
351
+ # var = E[X^2] - E[X]^2
352
+ X_sc = (X.multiply(X)).mean() - (X.mean()) ** 2
353
+ else:
354
+ X_sc = X.var()
355
+ else:
356
+ X_sc = 1.0 / X.shape[1]
357
+ if gamma == "scale":
358
+ if X_sc != 0:
359
+ _gamma = 1.0 / (X.shape[1] * X_sc)
360
+ else:
361
+ _gamma = 1.0
362
+ else:
363
+ _gamma = 1.0 / X.shape[1]
364
+ elif gamma == "auto":
365
+ _gamma = 1.0 / X.shape[1]
366
+ elif isinstance(gamma, str):
367
+ raise ValueError(
368
+ "When 'gamma' is a string, it should be either 'scale' or "
369
+ "'auto'. Got '{}' instead.".format(gamma)
370
+ )
371
+ else:
372
+ _gamma = gamma
373
+
374
+ return _gamma
375
+
376
+
377
+ def fit(self, X, y, sample_weight=None):
378
+ """Fit the SVM model according to the given training data.
379
+
380
+ Parameters
381
+ ----------
382
+ X : {array-like, sparse matrix}, shape (n_samples, n_features)
383
+ Training vectors, where n_samples is the number of samples
384
+ and n_features is the number of features.
385
+ For kernel="precomputed", the expected shape of X is
386
+ (n_samples, n_samples).
387
+
388
+ y : array-like, shape (n_samples,)
389
+ Target values (class labels in classification, real numbers in
390
+ regression)
391
+
392
+ sample_weight : array-like, shape (n_samples,)
393
+ Per-sample weights. Rescale C per sample. Higher weights
394
+ force the classifier to put more emphasis on these points.
395
+
396
+ Returns
397
+ -------
398
+ self : object
399
+
400
+ Notes
401
+ ------
402
+ If X and y are not C-ordered and contiguous arrays of np.float64 and
403
+ X is not a scipy.sparse.csr_matrix, X and/or y may be copied.
404
+
405
+ If X is a dense array, then the other methods will not support sparse
406
+ matrices as input.
407
+ """
408
+ rnd = check_random_state(self.random_state)
409
+
410
+ is_sparse = sp.isspmatrix(X)
411
+ if is_sparse and self.kernel == "precomputed":
412
+ raise TypeError("Sparse precomputed kernels are not supported.")
413
+ self._sparse = is_sparse and not callable(self.kernel)
414
+
415
+ if hasattr(self, "decision_function_shape"):
416
+ if self.decision_function_shape not in ("ovr", "ovo"):
417
+ raise ValueError(
418
+ f"decision_function_shape must be either 'ovr' or 'ovo', "
419
+ f"got {self.decision_function_shape}."
420
+ )
421
+
422
+ if callable(self.kernel):
423
+ check_consistent_length(X, y)
424
+ else:
425
+ X, y = validate_data(
426
+ self,
427
+ X,
428
+ y,
429
+ dtype=np.float64,
430
+ order="C",
431
+ accept_sparse="csr",
432
+ accept_large_sparse=False,
433
+ )
434
+ y = self._validate_targets(y)
435
+
436
+ sample_weight = np.asarray(
437
+ [] if sample_weight is None else sample_weight, dtype=np.float64
438
+ )
439
+ solver_type = _get_libsvm_impl().index(self._impl)
440
+
441
+ # input validation
442
+ n_samples = _num_samples(X)
443
+ if solver_type != 2 and n_samples != y.shape[0]:
444
+ raise ValueError(
445
+ "X and y have incompatible shapes.\n"
446
+ "X has %s samples, but y has %s." % (n_samples, y.shape[0])
447
+ )
448
+
449
+ if self.kernel == "precomputed" and n_samples != X.shape[1]:
450
+ raise ValueError("X.shape[0] should be equal to X.shape[1]")
451
+
452
+ if sample_weight.shape[0] > 0 and sample_weight.shape[0] != n_samples:
453
+ raise ValueError(
454
+ "sample_weight and X have incompatible shapes: "
455
+ "%r vs %r\n"
456
+ "Note: Sparse matrices cannot be indexed w/"
457
+ "boolean masks (use `indices=True` in CV)." % (sample_weight.shape, X.shape)
458
+ )
459
+
460
+ kernel = "precomputed" if callable(self.kernel) else self.kernel
461
+ if kernel == "precomputed":
462
+ self._gamma = 0.0
463
+ else:
464
+ self._gamma = _compute_gamma(self.gamma, kernel, X)
465
+
466
+ fit = self._sparse_fit if self._sparse else self._dense_fit
467
+ if self.verbose: # pragma: no cover
468
+ print("[LibSVM]", end="")
469
+
470
+ # see comment on the other call to np.iinfo in this file
471
+ seed = rnd.randint(np.iinfo("i").max)
472
+
473
+ _patching_status = PatchingConditionsChain("sklearn.svm.SVC.fit")
474
+ _dal_ready = _patching_status.and_conditions(
475
+ [
476
+ (
477
+ kernel in ["linear", "rbf"],
478
+ f"'{kernel}' kernel is not supported. "
479
+ "Only 'linear' and 'rbf' kernels are supported.",
480
+ )
481
+ ]
482
+ )
483
+ _patching_status.write_log()
484
+ if _dal_ready:
485
+ sample_weight = _daal4py_check_weight(self, X, y, sample_weight)
486
+
487
+ self._daal_fit = True
488
+ _daal4py_fit(self, X, y, sample_weight, kernel, is_sparse=is_sparse)
489
+ self.fit_status_ = 0
490
+
491
+ if self.probability:
492
+ params = self.get_params()
493
+ params["probability"] = False
494
+ params["decision_function_shape"] = "ovr"
495
+ clf_base = SVC(**params)
496
+ try:
497
+ n_splits = 5
498
+ cv = StratifiedKFold(
499
+ n_splits=n_splits, shuffle=True, random_state=self.random_state
500
+ )
501
+ self.clf_prob = CalibratedClassifierCV(
502
+ clf_base, ensemble=False, cv=cv, method="sigmoid", n_jobs=n_splits
503
+ )
504
+
505
+ self.clf_prob.fit(X, y, sample_weight)
506
+ except ValueError:
507
+ clf_base = clf_base.fit(X, y, sample_weight)
508
+ self.clf_prob = CalibratedClassifierCV(
509
+ clf_base, cv="prefit", method="sigmoid"
510
+ )
511
+ self.clf_prob.fit(X, y, sample_weight)
512
+ else:
513
+ self._daal_fit = False
514
+ fit(X, y, sample_weight, solver_type, kernel, random_seed=seed)
515
+
516
+ self.shape_fit_ = X.shape if hasattr(X, "shape") else (n_samples,)
517
+
518
+ # In binary case, we need to flip the sign of coef, intercept and
519
+ # decision function. Use self._intercept_ and self._dual_coef_ internally.
520
+ if not getattr(self, "_daal_fit", False):
521
+ self._internal_intercept_ = self.intercept_.copy()
522
+ self._internal_dual_coef_ = self.dual_coef_.copy()
523
+ else:
524
+ self._internal_intercept_ = self.intercept_.copy()
525
+ self._internal_dual_coef_ = self.dual_coef_.copy()
526
+ if len(self.classes_) == 2:
527
+ self._internal_dual_coef_ *= -1
528
+ self._internal_intercept_ *= -1
529
+
530
+ if (
531
+ not getattr(self, "_daal_fit", False)
532
+ and len(self.classes_) == 2
533
+ and self._impl in ["c_svc", "nu_svc"]
534
+ ):
535
+ self.intercept_ *= -1
536
+ self.dual_coef_ *= -1
537
+
538
+ return self
539
+
540
+
541
+ def _daal4py_predict(self, X, is_decision_function=False):
542
+ X_fptype = getFPType(X)
543
+ num_classes = len(self.classes_)
544
+
545
+ kf = _daal4py_kf(self.kernel, X_fptype, gamma=self._gamma, is_sparse=sp.isspmatrix(X))
546
+
547
+ svm_predict = daal4py.svm_prediction(
548
+ fptype=X_fptype, method="defaultDense", kernel=kf
549
+ )
550
+ if num_classes == 2:
551
+ alg = svm_predict
552
+ else:
553
+ result_to_compute = (
554
+ "computeDecisionFunction" if is_decision_function else "computeClassLabels"
555
+ )
556
+ alg = daal4py.multi_class_classifier_prediction(
557
+ nClasses=num_classes,
558
+ fptype=X_fptype,
559
+ pmethod="voteBased",
560
+ tmethod="oneAgainstOne",
561
+ resultsToEvaluate=result_to_compute,
562
+ prediction=svm_predict,
563
+ )
564
+
565
+ predictionRes = alg.compute(X, self.daal_model_)
566
+ if not is_decision_function or num_classes == 2:
567
+ res = predictionRes.prediction
568
+ res = res.ravel()
569
+ else:
570
+ res = -predictionRes.decisionFunction
571
+
572
+ if num_classes == 2 and not is_decision_function:
573
+ # Convert from oneAPI Data Analytics Library format back to
574
+ # original classes
575
+ np.greater(res, 0, out=res)
576
+
577
+ return res
578
+
579
+
580
+ def predict(self, X):
581
+ check_is_fitted(self)
582
+
583
+ _break_ties = getattr(self, "break_ties", False)
584
+ if _break_ties and self.decision_function_shape == "ovo":
585
+ raise ValueError(
586
+ "break_ties must be False when " "decision_function_shape is 'ovo'"
587
+ )
588
+
589
+ _patching_status = PatchingConditionsChain("sklearn.svm.SVC.predict")
590
+ _dal_ready = _patching_status.and_conditions(
591
+ [
592
+ (not _break_ties, "Breaking ties is not supported."),
593
+ (
594
+ self.decision_function_shape != "ovr",
595
+ "'ovr' decision function shape is not supported.",
596
+ ),
597
+ (len(self.classes_) <= 2, "Number of classes > 2."),
598
+ ],
599
+ conditions_merging=any,
600
+ )
601
+ _patching_status.write_log()
602
+ if not _dal_ready:
603
+ y = np.argmax(self.decision_function(X), axis=1)
604
+ else:
605
+ X = self._validate_for_predict(X)
606
+ _dal_ready = _patching_status.and_conditions(
607
+ [
608
+ (
609
+ getattr(self, "_daal_fit", False) and hasattr(self, "daal_model_"),
610
+ "oneDAL model was not trained.",
611
+ )
612
+ ]
613
+ )
614
+ if _dal_ready:
615
+ if self.probability and self.clf_prob is not None:
616
+ y = self.clf_prob.predict(X)
617
+ else:
618
+ y = _daal4py_predict(self, X)
619
+ else:
620
+ predict_func = self._sparse_predict if self._sparse else self._dense_predict
621
+ y = predict_func(X)
622
+
623
+ return self.classes_.take(np.asarray(y, dtype=np.intp))
624
+
625
+
626
+ def _daal4py_predict_proba(self, X):
627
+ X = self._validate_for_predict(X)
628
+
629
+ if getattr(self, "clf_prob", None) is None:
630
+ raise NotFittedError(
631
+ "predict_proba is not available when fitted with probability=False"
632
+ )
633
+ prob = self.clf_prob.predict_proba(X)
634
+ return prob
635
+
636
+
637
+ @property
638
+ def predict_proba(self):
639
+ self._check_proba()
640
+ _patching_status = PatchingConditionsChain("sklearn.svm.SVC.predict_proba")
641
+ _dal_ready = _patching_status.and_conditions(
642
+ [(getattr(self, "_daal_fit", False), "oneDAL model was not trained.")]
643
+ )
644
+ _patching_status.write_log()
645
+ if _dal_ready:
646
+ algo = self._daal4py_predict_proba
647
+ else:
648
+ algo = self._predict_proba
649
+ return algo
650
+
651
+
652
+ def decision_function(self, X):
653
+ _patching_status = PatchingConditionsChain("sklearn.svm.SVC.decision_function")
654
+ _dal_ready = _patching_status.and_conditions(
655
+ [(getattr(self, "_daal_fit", False), "oneDAL model was not trained.")]
656
+ )
657
+ _patching_status.write_log()
658
+ if _dal_ready:
659
+ X = self._validate_for_predict(X)
660
+ dec = _daal4py_predict(self, X, is_decision_function=True)
661
+ else:
662
+ dec = self._decision_function(X)
663
+ if self.decision_function_shape == "ovr" and len(self.classes_) > 2:
664
+ return _ovr_decision_function(dec < 0, -dec, len(self.classes_))
665
+ return dec
666
+
667
+
668
+ __base_svc_init_arg_names__ = []
669
+
670
+ __base_svc_init_function__ = svm_base.BaseSVC.__init__
671
+ __base_svc_init_function_code__ = __base_svc_init_function__.__code__
672
+
673
+ try:
674
+ # retrieve tuple of code argument names to check whether
675
+ # new in 0.22 keyword 'break_ties' is in it
676
+ __base_svc_init_arg_names__ = __base_svc_init_function_code__.co_varnames
677
+ except AttributeError:
678
+ pass
679
+
680
+ del __base_svc_init_function__
681
+ del __base_svc_init_function_code__
682
+
683
+
684
+ class SVC(svm_base.BaseSVC):
685
+ _impl = "c_svc"
686
+
687
+ def __init__(
688
+ self,
689
+ C=1.0,
690
+ kernel="rbf",
691
+ degree=3,
692
+ gamma="scale",
693
+ coef0=0.0,
694
+ shrinking=True,
695
+ probability=False,
696
+ tol=1e-3,
697
+ cache_size=200,
698
+ class_weight=None,
699
+ verbose=False,
700
+ max_iter=-1,
701
+ decision_function_shape="ovr",
702
+ break_ties=False,
703
+ random_state=None,
704
+ ):
705
+ super(SVC, self).__init__(
706
+ kernel=kernel,
707
+ degree=degree,
708
+ gamma=gamma,
709
+ coef0=coef0,
710
+ tol=tol,
711
+ C=C,
712
+ nu=0.0,
713
+ shrinking=shrinking,
714
+ probability=probability,
715
+ cache_size=cache_size,
716
+ class_weight=class_weight,
717
+ verbose=verbose,
718
+ max_iter=max_iter,
719
+ decision_function_shape=decision_function_shape,
720
+ break_ties=break_ties,
721
+ random_state=random_state,
722
+ )
723
+
724
+
725
+ SVC.fit = fit
726
+ SVC.predict = predict
727
+ SVC.predict_proba = predict_proba
728
+ SVC.decision_function = decision_function
729
+ SVC._daal4py_predict_proba = _daal4py_predict_proba
730
+ SVC._dual_coef_ = property(_dual_coef_getter, _dual_coef_setter)
731
+ SVC._intercept_ = property(_intercept_getter, _intercept_setter)
732
+ SVC.__doc__ = svm_classes.SVC.__doc__
733
+ SVC.fit.__doc__ = fit.__doc__
734
+ SVC.predict.__doc__ = predict.__doc__
735
+ SVC.predict_proba.__doc__ = predict_proba.__doc__
736
+ SVC.decision_function.__doc__ = decision_function.__doc__