scikit-learn-intelex 2025.10.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.
Files changed (267) 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.cp313-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.cp313-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-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +19 -0
  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-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +29 -0
  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-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
  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-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +19 -0
  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-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
  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-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +21 -0
  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.cp313-win_amd64.pyd +0 -0
  65. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
  66. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/__init__.py +20 -0
  67. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +151 -0
  68. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +165 -0
  69. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +241 -0
  70. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +279 -0
  71. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
  72. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
  73. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +80 -0
  74. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +582 -0
  75. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +145 -0
  76. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
  77. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
  78. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
  79. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_backend.py +258 -0
  80. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
  81. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
  82. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +148 -0
  83. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +148 -0
  84. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
  85. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +121 -0
  86. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +151 -0
  87. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
  88. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +190 -0
  89. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +29 -0
  90. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +158 -0
  91. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +64 -0
  92. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +63 -0
  93. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +131 -0
  94. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +686 -0
  95. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/__init__.py +20 -0
  96. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +218 -0
  97. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
  98. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +291 -0
  99. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/__init__.py +19 -0
  100. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/dummy.py +137 -0
  101. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
  102. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +781 -0
  103. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
  104. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
  105. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +201 -0
  106. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +230 -0
  107. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +293 -0
  108. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +213 -0
  109. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +171 -0
  110. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +252 -0
  111. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
  112. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
  113. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
  114. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +690 -0
  115. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
  116. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
  117. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +27 -0
  118. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +202 -0
  119. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
  120. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
  121. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/svm.py +592 -0
  122. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +352 -0
  123. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
  124. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
  125. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
  126. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
  127. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/test_common.py +71 -0
  128. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +179 -0
  129. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +94 -0
  130. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +98 -0
  131. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +213 -0
  132. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_third_party.py +220 -0
  133. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
  134. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/validation.py +503 -0
  135. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/__init__.py +69 -0
  136. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/__main__.py +58 -0
  137. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_config.py +163 -0
  138. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +205 -0
  139. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_utils.py +219 -0
  140. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
  141. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
  142. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +241 -0
  143. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +338 -0
  144. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +405 -0
  145. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +455 -0
  146. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/__init__.py +20 -0
  147. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/dbscan.py +199 -0
  148. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +399 -0
  149. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +38 -0
  150. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +157 -0
  151. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/conftest.py +82 -0
  152. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/__init__.py +19 -0
  153. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +440 -0
  154. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +307 -0
  155. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/__init__.py +19 -0
  156. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
  157. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +164 -0
  158. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dispatcher.py +572 -0
  159. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +629 -0
  160. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/__init__.py +19 -0
  161. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/_dummy.py +615 -0
  162. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/tests/test_dummy.py +62 -0
  163. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/__init__.py +29 -0
  164. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/_forest.py +1799 -0
  165. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +196 -0
  166. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/glob/__main__.py +72 -0
  167. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/glob/dispatcher.py +101 -0
  168. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
  169. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +44 -0
  170. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +427 -0
  171. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +407 -0
  172. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +363 -0
  173. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +466 -0
  174. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +407 -0
  175. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +267 -0
  176. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +214 -0
  177. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +167 -0
  178. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +565 -0
  179. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  180. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/__init__.py +19 -0
  181. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py +28 -0
  182. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +256 -0
  183. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/__init__.py +23 -0
  184. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/pairwise.py +20 -0
  185. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/ranking.py +20 -0
  186. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +39 -0
  187. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/model_selection/__init__.py +21 -0
  188. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/model_selection/split.py +20 -0
  189. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +34 -0
  190. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/__init__.py +27 -0
  191. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/_lof.py +189 -0
  192. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/common.py +313 -0
  193. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +189 -0
  194. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +167 -0
  195. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +170 -0
  196. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +82 -0
  197. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/__init__.py +17 -0
  198. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +19 -0
  199. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +261 -0
  200. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +112 -0
  201. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
  202. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
  203. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +390 -0
  204. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/__init__.py +25 -0
  205. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
  206. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +24 -0
  207. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
  208. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +117 -0
  209. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +314 -0
  210. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +30 -0
  211. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
  212. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +21 -0
  213. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +108 -0
  214. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +180 -0
  215. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
  216. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +24 -0
  217. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +29 -0
  218. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +120 -0
  219. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +200 -0
  220. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +20 -0
  221. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +23 -0
  222. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +23 -0
  223. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +276 -0
  224. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +146 -0
  225. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +19 -0
  226. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
  227. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +299 -0
  228. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +21 -0
  229. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +28 -0
  230. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +24 -0
  231. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +21 -0
  232. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +345 -0
  233. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +162 -0
  234. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +169 -0
  235. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +23 -0
  236. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +433 -0
  237. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/__init__.py +29 -0
  238. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +403 -0
  239. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/nusvc.py +278 -0
  240. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/nusvr.py +158 -0
  241. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/svc.py +306 -0
  242. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/svr.py +155 -0
  243. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +124 -0
  244. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +607 -0
  245. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +256 -0
  246. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
  247. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +335 -0
  248. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +269 -0
  249. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +111 -0
  250. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_parallel.py +48 -0
  251. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_patching.py +418 -0
  252. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +335 -0
  253. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
  254. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +420 -0
  255. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
  256. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +19 -0
  257. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +217 -0
  258. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/class_weight.py +100 -0
  259. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
  260. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_class_weight.py +69 -0
  261. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  262. scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +212 -0
  263. scikit_learn_intelex-2025.10.0.dist-info/LICENSE.txt +202 -0
  264. scikit_learn_intelex-2025.10.0.dist-info/METADATA +182 -0
  265. scikit_learn_intelex-2025.10.0.dist-info/RECORD +267 -0
  266. scikit_learn_intelex-2025.10.0.dist-info/WHEEL +5 -0
  267. scikit_learn_intelex-2025.10.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,192 @@
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
+ # daal4py AdaBoost (Adaptive Boosting) scikit-learn-compatible estimator class
18
+
19
+ import numbers
20
+
21
+ import numpy as np
22
+ from sklearn import preprocessing
23
+ from sklearn.base import BaseEstimator, ClassifierMixin
24
+ from sklearn.utils.multiclass import check_classification_targets
25
+ from sklearn.utils.validation import check_array, check_is_fitted, check_X_y
26
+
27
+ import daal4py as d4p
28
+ from daal4py.sklearn._utils import sklearn_check_version
29
+
30
+ from .._n_jobs_support import control_n_jobs
31
+ from .._utils import getFPType
32
+ from ..utils.validation import validate_data
33
+
34
+
35
+ @control_n_jobs(decorated_methods=["fit", "predict"])
36
+ class AdaBoostClassifier(ClassifierMixin, BaseEstimator):
37
+ def __init__(
38
+ self,
39
+ split_criterion="gini",
40
+ max_tree_depth=1,
41
+ min_observations_in_leaf_node=1,
42
+ max_iterations=100,
43
+ learning_rate=1.0,
44
+ accuracy_threshold=0.01,
45
+ ):
46
+ self.split_criterion = split_criterion
47
+ self.max_tree_depth = max_tree_depth
48
+ self.min_observations_in_leaf_node = min_observations_in_leaf_node
49
+ self.max_iterations = max_iterations
50
+ self.learning_rate = learning_rate
51
+ self.accuracy_threshold = accuracy_threshold
52
+
53
+ def fit(self, X, y):
54
+ if self.split_criterion not in ("gini", "infoGain"):
55
+ raise ValueError(
56
+ 'Parameter "split_criterion" must be ' '"gini" or "infoGain".'
57
+ )
58
+ if (
59
+ not isinstance(self.max_tree_depth, numbers.Integral)
60
+ or self.max_tree_depth < 0
61
+ ):
62
+ raise ValueError(
63
+ 'Parameter "max_tree_depth" must be ' "positive integer value or zero."
64
+ )
65
+ if (
66
+ not isinstance(self.min_observations_in_leaf_node, numbers.Integral)
67
+ or self.min_observations_in_leaf_node <= 0
68
+ ):
69
+ raise ValueError(
70
+ 'Parameter "min_observations_in_leaf_node" must be '
71
+ "non-zero positive integer value."
72
+ )
73
+ if (
74
+ not isinstance(self.max_iterations, numbers.Integral)
75
+ or self.max_iterations <= 0
76
+ ):
77
+ raise ValueError(
78
+ 'Parameter "max_iterations" must be ' "non-zero positive integer value."
79
+ )
80
+ if self.learning_rate <= 0:
81
+ raise ValueError(
82
+ 'Parameter "learning_rate" must be ' "non-zero positive value."
83
+ )
84
+ # it is not clear why it is so but we will get error from
85
+ # oneAPI Data Analytics
86
+ # Library otherwise
87
+ if self.accuracy_threshold < 0 and self.accuracy_threshold >= 1:
88
+ raise ValueError(
89
+ 'Parameter "accuracy_threshold" must be '
90
+ "more or equal to 0 and less than 1."
91
+ )
92
+
93
+ # Check that X and y have correct shape
94
+ X, y = check_X_y(X, y, y_numeric=False, dtype=[np.float64, np.float32])
95
+
96
+ check_classification_targets(y)
97
+
98
+ # Encode labels
99
+ le = preprocessing.LabelEncoder()
100
+ le.fit(y)
101
+ self.classes_ = le.classes_
102
+ y_ = le.transform(y)
103
+
104
+ # Convert to 2d array
105
+ y_ = y_.reshape((-1, 1))
106
+
107
+ self.n_classes_ = len(self.classes_)
108
+
109
+ self.n_features_in_ = X.shape[1]
110
+
111
+ # Classifier can't train when only one class is present.
112
+ # Trivial case
113
+ if self.n_classes_ == 1:
114
+ return self
115
+
116
+ # Define type of data
117
+ fptype = getFPType(X)
118
+
119
+ # Fit the model
120
+ tr = d4p.decision_tree_classification_training(
121
+ fptype=fptype,
122
+ nClasses=self.n_classes_,
123
+ # this parameter is strict upper bound in DAAL
124
+ maxTreeDepth=self.max_tree_depth + 1,
125
+ minObservationsInLeafNodes=self.min_observations_in_leaf_node,
126
+ splitCriterion=self.split_criterion,
127
+ pruning="none",
128
+ )
129
+
130
+ pr = d4p.decision_tree_classification_prediction(
131
+ fptype=fptype, nClasses=self.n_classes_
132
+ )
133
+
134
+ train_algo = d4p.adaboost_training(
135
+ fptype=fptype,
136
+ nClasses=self.n_classes_,
137
+ weakLearnerTraining=tr,
138
+ weakLearnerPrediction=pr,
139
+ maxIterations=self.max_iterations,
140
+ learningRate=self.learning_rate,
141
+ accuracyThreshold=self.accuracy_threshold,
142
+ )
143
+
144
+ train_result = train_algo.compute(X, y_)
145
+
146
+ # Store the model
147
+ self.daal_model_ = train_result.model
148
+
149
+ # Return the classifier
150
+ return self
151
+
152
+ def predict(self, X):
153
+ check_is_fitted(self)
154
+
155
+ # Input validation
156
+ X = validate_data(self, X, dtype=[np.float64, np.float32], reset=False)
157
+
158
+ # Trivial case
159
+ if self.n_classes_ == 1:
160
+ return np.full(X.shape[0], self.classes_[0])
161
+
162
+ if not hasattr(self, "daal_model_"):
163
+ raise ValueError(
164
+ (
165
+ "The class {} instance does not have 'daal_model_' attribute set. "
166
+ "Call 'fit' with appropriate arguments before using this method."
167
+ ).format(type(self).__name__)
168
+ )
169
+
170
+ # Define type of data
171
+ fptype = getFPType(X)
172
+
173
+ pr = d4p.decision_tree_classification_prediction(
174
+ fptype=fptype, nClasses=self.n_classes_
175
+ )
176
+
177
+ # Prediction
178
+ predict_algo = d4p.adaboost_prediction(
179
+ fptype=fptype, nClasses=self.n_classes_, weakLearnerPrediction=pr
180
+ )
181
+ predict_result = predict_algo.compute(X, self.daal_model_)
182
+
183
+ prediction = predict_result.prediction
184
+
185
+ # in binary classification labels "-1, 1" are returned but "0, 1" are expected
186
+ if self.n_classes_ == 2:
187
+ prediction[prediction == -1] = 0
188
+
189
+ # Decode labels
190
+ le = preprocessing.LabelEncoder()
191
+ le.classes_ = self.classes_
192
+ return le.inverse_transform(prediction.ravel().astype(np.int64, copy=False))
@@ -0,0 +1,333 @@
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
+ # daal4py GBT scikit-learn-compatible estimator class
18
+
19
+ import numbers
20
+
21
+ import numpy as np
22
+ from sklearn import preprocessing
23
+ from sklearn.base import BaseEstimator, ClassifierMixin, RegressorMixin
24
+ from sklearn.utils import check_random_state
25
+ from sklearn.utils.multiclass import check_classification_targets
26
+ from sklearn.utils.validation import check_array, check_is_fitted, check_X_y
27
+
28
+ import daal4py as d4p
29
+ from daal4py.sklearn._utils import sklearn_check_version
30
+
31
+ from .._n_jobs_support import control_n_jobs
32
+ from .._utils import getFPType
33
+ from ..utils.validation import validate_data
34
+
35
+
36
+ class GBTDAALBase(BaseEstimator, d4p.mb.GBTDAALBaseModel):
37
+ def __init__(
38
+ self,
39
+ split_method="inexact",
40
+ max_iterations=50,
41
+ max_tree_depth=6,
42
+ shrinkage=0.3,
43
+ min_split_loss=0,
44
+ reg_lambda=1,
45
+ observations_per_tree_fraction=1,
46
+ features_per_node=0,
47
+ min_observations_in_leaf_node=5,
48
+ memory_saving_mode=False,
49
+ max_bins=256,
50
+ min_bin_size=5,
51
+ random_state=None,
52
+ ):
53
+ self.split_method = split_method
54
+ self.max_iterations = max_iterations
55
+ self.max_tree_depth = max_tree_depth
56
+ self.shrinkage = shrinkage
57
+ self.min_split_loss = min_split_loss
58
+ self.reg_lambda = reg_lambda
59
+ self.observations_per_tree_fraction = observations_per_tree_fraction
60
+ self.features_per_node = features_per_node
61
+ self.min_observations_in_leaf_node = min_observations_in_leaf_node
62
+ self.memory_saving_mode = memory_saving_mode
63
+ self.max_bins = max_bins
64
+ self.min_bin_size = min_bin_size
65
+ self.random_state = random_state
66
+
67
+ def _check_params(self):
68
+ if self.split_method not in ("inexact", "exact"):
69
+ raise ValueError('Parameter "split_method" must be ' '"inexact" or "exact".')
70
+ if (
71
+ not isinstance(self.max_iterations, numbers.Integral)
72
+ or self.max_iterations <= 0
73
+ ):
74
+ raise ValueError(
75
+ 'Parameter "max_iterations" must be ' "non-zero positive integer value."
76
+ )
77
+ if (
78
+ not isinstance(self.max_tree_depth, numbers.Integral)
79
+ or self.max_tree_depth < 0
80
+ ):
81
+ raise ValueError(
82
+ 'Parameter "max_tree_depth" must be ' "positive integer value or zero."
83
+ )
84
+ if self.shrinkage < 0 or self.shrinkage >= 1:
85
+ raise ValueError(
86
+ 'Parameter "shrinkage" must be ' "more or equal to 0 and less than 1."
87
+ )
88
+ if self.min_split_loss < 0:
89
+ raise ValueError(
90
+ 'Parameter "min_split_loss" must be ' "more or equal to zero."
91
+ )
92
+ if self.reg_lambda < 0:
93
+ raise ValueError('Parameter "reg_lambda" must be ' "more or equal to zero.")
94
+ if (
95
+ self.observations_per_tree_fraction <= 0
96
+ or self.observations_per_tree_fraction > 1
97
+ ):
98
+ raise ValueError(
99
+ 'Parameter "observations_per_tree_fraction" must be '
100
+ "more than 0 and less or equal to 1."
101
+ )
102
+ if (
103
+ not isinstance(self.features_per_node, numbers.Integral)
104
+ or self.features_per_node < 0
105
+ ):
106
+ raise ValueError(
107
+ 'Parameter "features_per_node" must be ' "positive integer value or zero."
108
+ )
109
+ if (
110
+ not isinstance(self.min_observations_in_leaf_node, numbers.Integral)
111
+ or self.min_observations_in_leaf_node <= 0
112
+ ):
113
+ raise ValueError(
114
+ 'Parameter "min_observations_in_leaf_node" must be '
115
+ "non-zero positive integer value."
116
+ )
117
+ if not (isinstance(self.memory_saving_mode, bool)):
118
+ raise ValueError('Parameter "memory_saving_mode" must be ' "boolean value.")
119
+ if not isinstance(self.max_bins, numbers.Integral) or self.max_bins <= 0:
120
+ raise ValueError(
121
+ 'Parameter "max_bins" must be ' "non-zero positive integer value."
122
+ )
123
+ if not isinstance(self.min_bin_size, numbers.Integral) or self.min_bin_size <= 0:
124
+ raise ValueError(
125
+ 'Parameter "min_bin_size" must be ' "non-zero positive integer value."
126
+ )
127
+
128
+ allow_nan_ = False
129
+
130
+ def _more_tags(self):
131
+ return {"allow_nan": self.allow_nan_}
132
+
133
+ if sklearn_check_version("1.6"):
134
+
135
+ def __sklearn_tags__(self):
136
+ tags = super().__sklearn_tags__()
137
+ tags.input_tags.allow_nan = self.allow_nan_
138
+ return tags
139
+
140
+
141
+ @control_n_jobs(decorated_methods=["fit", "predict"])
142
+ class GBTDAALClassifier(ClassifierMixin, GBTDAALBase):
143
+ def fit(self, X, y):
144
+ # Check the algorithm parameters
145
+ self._check_params()
146
+
147
+ # Check that X and y have correct shape
148
+ X, y = check_X_y(X, y, y_numeric=False, dtype=[np.float64, np.float32])
149
+
150
+ check_classification_targets(y)
151
+
152
+ # Encode labels
153
+ le = preprocessing.LabelEncoder()
154
+ le.fit(y)
155
+ self.classes_ = le.classes_
156
+ y_ = le.transform(y)
157
+
158
+ # Convert to 2d array
159
+ y_ = y_.reshape((-1, 1))
160
+
161
+ self.n_outputs_ = y_.shape[1]
162
+
163
+ self.n_classes_ = len(self.classes_)
164
+
165
+ self.n_features_in_ = X.shape[1]
166
+
167
+ # Classifier can't train when only one class is present.
168
+ # Trivial case
169
+ if self.n_classes_ == 1:
170
+ return self
171
+
172
+ # Get random seed
173
+ rs_ = check_random_state(self.random_state)
174
+ seed_ = rs_.randint(0, np.iinfo("i").max)
175
+
176
+ # Define type of data
177
+ fptype = getFPType(X)
178
+
179
+ # Fit the model
180
+ train_algo = d4p.gbt_classification_training(
181
+ fptype=fptype,
182
+ nClasses=self.n_classes_,
183
+ splitMethod=self.split_method,
184
+ maxIterations=self.max_iterations,
185
+ maxTreeDepth=self.max_tree_depth,
186
+ shrinkage=self.shrinkage,
187
+ minSplitLoss=self.min_split_loss,
188
+ lambda_=self.reg_lambda,
189
+ observationsPerTreeFraction=self.observations_per_tree_fraction,
190
+ featuresPerNode=self.features_per_node,
191
+ minObservationsInLeafNode=self.min_observations_in_leaf_node,
192
+ memorySavingMode=self.memory_saving_mode,
193
+ maxBins=self.max_bins,
194
+ minBinSize=self.min_bin_size,
195
+ engine=d4p.engines_mcg59(seed=seed_),
196
+ )
197
+ train_result = train_algo.compute(X, y_)
198
+
199
+ # Store the model
200
+ self.daal_model_ = train_result.model
201
+
202
+ # Return the classifier
203
+ return self
204
+
205
+ def _predict(
206
+ self, X, resultsToEvaluate, pred_contribs=False, pred_interactions=False
207
+ ):
208
+ # Check is fit had been called
209
+ check_is_fitted(self, ["n_features_in_", "n_classes_"])
210
+
211
+ # Input validation
212
+ X = validate_data(
213
+ self,
214
+ X,
215
+ dtype=[np.float64, np.float32],
216
+ ensure_all_finite="allow-nan" if self.allow_nan_ else True,
217
+ reset=False,
218
+ )
219
+
220
+ # Trivial case
221
+ if self.n_classes_ == 1:
222
+ return np.full(X.shape[0], self.classes_[0])
223
+
224
+ fptype = getFPType(X)
225
+ predict_result = self._predict_classification(
226
+ X, fptype, resultsToEvaluate, pred_contribs, pred_interactions
227
+ )
228
+
229
+ if resultsToEvaluate == "computeClassLabels" and not (
230
+ pred_contribs or pred_interactions
231
+ ):
232
+ # Decode labels
233
+ le = preprocessing.LabelEncoder()
234
+ le.classes_ = self.classes_
235
+ return le.inverse_transform(predict_result)
236
+ return predict_result
237
+
238
+ def predict(self, X, pred_contribs=False, pred_interactions=False):
239
+ return self._predict(X, "computeClassLabels", pred_contribs, pred_interactions)
240
+
241
+ def predict_proba(self, X):
242
+ return self._predict(X, "computeClassProbabilities")
243
+
244
+ def predict_log_proba(self, X):
245
+ proba = self.predict_proba(X)
246
+
247
+ if self.n_outputs_ == 1:
248
+ return np.log(proba)
249
+
250
+ for k in range(self.n_outputs_):
251
+ proba[k] = np.log(proba[k])
252
+
253
+ return proba
254
+
255
+ @staticmethod
256
+ def convert_model(model):
257
+ gbm = GBTDAALClassifier()
258
+ gbm._convert_model(model)
259
+
260
+ gbm.classes_ = model.classes_
261
+ gbm.allow_nan_ = True
262
+ return gbm
263
+
264
+
265
+ @control_n_jobs(decorated_methods=["fit", "predict"])
266
+ class GBTDAALRegressor(RegressorMixin, GBTDAALBase):
267
+ def fit(self, X, y):
268
+ # Check the algorithm parameters
269
+ self._check_params()
270
+
271
+ # Check that X and y have correct shape
272
+ X, y = check_X_y(X, y, y_numeric=True, dtype=[np.float64, np.float32])
273
+
274
+ # Convert to 2d array
275
+ y_ = y.reshape((-1, 1))
276
+
277
+ self.n_features_in_ = X.shape[1]
278
+
279
+ # Get random seed
280
+ rs_ = check_random_state(self.random_state)
281
+ seed_ = rs_.randint(0, np.iinfo("i").max)
282
+
283
+ # Define type of data
284
+ fptype = getFPType(X)
285
+
286
+ # Fit the model
287
+ train_algo = d4p.gbt_regression_training(
288
+ fptype=fptype,
289
+ splitMethod=self.split_method,
290
+ maxIterations=self.max_iterations,
291
+ maxTreeDepth=self.max_tree_depth,
292
+ shrinkage=self.shrinkage,
293
+ minSplitLoss=self.min_split_loss,
294
+ lambda_=self.reg_lambda,
295
+ observationsPerTreeFraction=self.observations_per_tree_fraction,
296
+ featuresPerNode=self.features_per_node,
297
+ minObservationsInLeafNode=self.min_observations_in_leaf_node,
298
+ memorySavingMode=self.memory_saving_mode,
299
+ maxBins=self.max_bins,
300
+ minBinSize=self.min_bin_size,
301
+ engine=d4p.engines_mcg59(seed=seed_),
302
+ )
303
+ train_result = train_algo.compute(X, y_)
304
+
305
+ # Store the model
306
+ self.daal_model_ = train_result.model
307
+
308
+ # Return the classifier
309
+ return self
310
+
311
+ def predict(self, X, pred_contribs=False, pred_interactions=False):
312
+ # Check is fit had been called
313
+ check_is_fitted(self, ["n_features_in_"])
314
+
315
+ # Input validation
316
+ X = validate_data(
317
+ self,
318
+ X,
319
+ dtype=[np.float64, np.float32],
320
+ ensure_all_finite="allow-nan" if self.allow_nan_ else True,
321
+ reset=False,
322
+ )
323
+
324
+ fptype = getFPType(X)
325
+ return self._predict_regression(X, fptype, pred_contribs, pred_interactions)
326
+
327
+ @staticmethod
328
+ def convert_model(model):
329
+ gbm = GBTDAALRegressor()
330
+ gbm._convert_model(model)
331
+
332
+ gbm.allow_nan_ = True
333
+ return gbm
@@ -0,0 +1,27 @@
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 ._forest import RandomForestClassifier, RandomForestRegressor
18
+ from .AdaBoostClassifier import AdaBoostClassifier
19
+ from .GBTDAAL import GBTDAALClassifier, GBTDAALRegressor
20
+
21
+ __all__ = [
22
+ "RandomForestClassifier",
23
+ "RandomForestRegressor",
24
+ "GBTDAALClassifier",
25
+ "GBTDAALRegressor",
26
+ "AdaBoostClassifier",
27
+ ]