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,309 @@
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
+ import platform
18
+
19
+ import numpy as np
20
+ from sklearn.model_selection import ShuffleSplit, StratifiedShuffleSplit
21
+ from sklearn.model_selection._split import _validate_shuffle_split
22
+ from sklearn.utils import indexable
23
+ from sklearn.utils.validation import _num_samples
24
+
25
+ import daal4py as d4p
26
+ from daal4py.sklearn._utils import PatchingConditionsChain
27
+
28
+ from .._utils import sklearn_check_version
29
+
30
+ try:
31
+ from sklearn.utils import _safe_indexing as safe_indexing
32
+ except ImportError:
33
+ from sklearn.utils import safe_indexing
34
+
35
+ try:
36
+ import mkl_random
37
+
38
+ mkl_random_is_imported = True
39
+ except (ImportError, ModuleNotFoundError):
40
+ mkl_random_is_imported = False
41
+
42
+ try:
43
+ import pandas as pd
44
+
45
+ pandas_is_imported = True
46
+ except (ImportError, ModuleNotFoundError):
47
+ pandas_is_imported = False
48
+
49
+ if sklearn_check_version("1.3"):
50
+ import numbers
51
+
52
+ from sklearn.utils._param_validation import Interval, RealNotInt, validate_params
53
+
54
+
55
+ def get_dtypes(data):
56
+ if hasattr(data, "dtype"):
57
+ return [data.dtype]
58
+ if hasattr(data, "dtypes"):
59
+ return list(data.dtypes)
60
+ if hasattr(data, "values"):
61
+ return [data.values.dtype]
62
+ return None
63
+
64
+
65
+ def train_test_split(*arrays, **options):
66
+ n_arrays = len(arrays)
67
+ if n_arrays == 0:
68
+ raise ValueError("At least one array required as input")
69
+ test_size = options.pop("test_size", None)
70
+ train_size = options.pop("train_size", None)
71
+ random_state = options.pop("random_state", None)
72
+ stratify = options.pop("stratify", None)
73
+ shuffle = options.pop("shuffle", True)
74
+ rng = options.pop("rng", "OPTIMIZED_MT19937")
75
+
76
+ available_rngs = [
77
+ "default",
78
+ "MT19937",
79
+ "SFMT19937",
80
+ "MT2203",
81
+ "R250",
82
+ "WH",
83
+ "MCG31",
84
+ "MCG59",
85
+ "MRG32K3A",
86
+ "PHILOX4X32X10",
87
+ "NONDETERM",
88
+ "OPTIMIZED_MT19937",
89
+ ]
90
+ if rng not in available_rngs:
91
+ raise ValueError(
92
+ "Wrong random numbers generator is chosen. "
93
+ "Available generators: %s" % str(available_rngs)[1:-1]
94
+ )
95
+
96
+ if options:
97
+ raise TypeError("Invalid parameters passed: %s" % str(options))
98
+
99
+ arrays = indexable(*arrays)
100
+
101
+ n_samples = _num_samples(arrays[0])
102
+ n_train, n_test = _validate_shuffle_split(
103
+ n_samples, test_size, train_size, default_test_size=0.25
104
+ )
105
+ if shuffle is False:
106
+ if stratify is not None:
107
+ raise ValueError(
108
+ "Stratified train/test split is not implemented for shuffle=False"
109
+ )
110
+
111
+ train = np.arange(n_train)
112
+ test = np.arange(n_train, n_train + n_test)
113
+ else:
114
+ if stratify is not None:
115
+ cv = StratifiedShuffleSplit(
116
+ test_size=n_test, train_size=n_train, random_state=random_state
117
+ )
118
+ train, test = next(cv.split(X=arrays[0], y=stratify))
119
+ else:
120
+ if (
121
+ mkl_random_is_imported
122
+ and rng not in ["default", "OPTIMIZED_MT19937"]
123
+ and (isinstance(random_state, int) or random_state is None)
124
+ ):
125
+ random_state = mkl_random.RandomState(random_state, rng)
126
+ indexes = random_state.permutation(n_samples)
127
+ test, train = indexes[:n_test], indexes[n_test : (n_test + n_train)]
128
+ elif (
129
+ rng == "OPTIMIZED_MT19937"
130
+ and (isinstance(random_state, int) or random_state is None)
131
+ and platform.system() != "Windows"
132
+ ):
133
+ indexes = np.empty(
134
+ shape=(n_samples,),
135
+ dtype=np.int64 if n_train + n_test > 2**31 - 1 else np.int32,
136
+ )
137
+ random_state = np.random.RandomState(random_state)
138
+ random_state = random_state.get_state()[1]
139
+ d4p.daal_generate_shuffled_indices([indexes], [random_state])
140
+ test, train = indexes[:n_test], indexes[n_test : (n_test + n_train)]
141
+ else:
142
+ cv = ShuffleSplit(
143
+ test_size=n_test, train_size=n_train, random_state=random_state
144
+ )
145
+ train, test = next(cv.split(X=arrays[0], y=stratify))
146
+
147
+ res = []
148
+ for arr in arrays:
149
+ _patching_status = PatchingConditionsChain(
150
+ "sklearn.model_selection.train_test_split"
151
+ )
152
+
153
+ # input format check
154
+ _patching_status.and_conditions(
155
+ [(isinstance(arr, np.ndarray), "The input is not a np.ndarray object.")]
156
+ )
157
+ if pandas_is_imported:
158
+ _patching_status.or_conditions(
159
+ [
160
+ (
161
+ isinstance(arr, pd.core.frame.DataFrame),
162
+ "The input is not a pd.DataFrame object.",
163
+ ),
164
+ (
165
+ isinstance(arr, pd.core.series.Series),
166
+ "The input is not a pd.Series object.",
167
+ ),
168
+ ],
169
+ conditions_merging=any,
170
+ )
171
+
172
+ # dimensions check
173
+ _dal_ready = _patching_status.and_conditions(
174
+ [(hasattr(arr, "ndim"), "The input does not have 'ndim' attribute.")]
175
+ )
176
+ if hasattr(arr, "ndim"):
177
+ _patching_status.and_conditions(
178
+ [(arr.ndim <= 2, "The input has more than 2 dimensions.")]
179
+ )
180
+
181
+ # data types check
182
+ dtypes = get_dtypes(arr)
183
+ _dal_ready = _patching_status.and_conditions(
184
+ [(dtypes is not None, "Unable to parse input data types.")]
185
+ )
186
+ if dtypes is not None:
187
+ incorrect_dtype = None
188
+ for i, dtype in enumerate(dtypes):
189
+ if str(dtype) not in ["float32", "float64"] and "int" not in str(dtype):
190
+ incorrect_dtype = str(dtype)
191
+ break
192
+ _dal_ready = _patching_status.and_conditions(
193
+ [
194
+ (
195
+ incorrect_dtype is None,
196
+ f"Input has incorrect data type '{incorrect_dtype}'. "
197
+ "Only integer and 32/64-bits floating point types are supported.",
198
+ )
199
+ ]
200
+ )
201
+
202
+ _patching_status.write_log()
203
+ if not _dal_ready:
204
+ res.append(safe_indexing(arr, train))
205
+ res.append(safe_indexing(arr, test))
206
+ else:
207
+ if len(arr.shape) == 2:
208
+ n_cols = arr.shape[1]
209
+ reshape_later = False
210
+ else:
211
+ n_cols = 1
212
+ reshape_later = True
213
+
214
+ arr_copy = d4p.get_data(arr)
215
+ if not isinstance(arr_copy, list):
216
+ arr_copy = arr_copy.reshape(
217
+ (arr_copy.shape[0], n_cols),
218
+ order="A",
219
+ )
220
+ if isinstance(arr_copy, np.ndarray):
221
+ order = "C" if arr_copy.flags["C_CONTIGUOUS"] else "F"
222
+ train_arr = np.empty(
223
+ shape=(n_train, n_cols),
224
+ dtype=arr_copy.dtype,
225
+ order=order,
226
+ )
227
+ test_arr = np.empty(
228
+ shape=(n_test, n_cols),
229
+ dtype=arr_copy.dtype,
230
+ order=order,
231
+ )
232
+ d4p.daal_train_test_split(arr_copy, train_arr, test_arr, [train], [test])
233
+ if reshape_later:
234
+ train_arr, test_arr = train_arr.reshape((n_train,)), test_arr.reshape(
235
+ (n_test,)
236
+ )
237
+ elif isinstance(arr_copy, list):
238
+ train_arr = [
239
+ np.empty(
240
+ shape=(n_train,),
241
+ dtype=el.dtype,
242
+ order="C" if el.flags["C_CONTIGUOUS"] else "F",
243
+ )
244
+ for el in arr_copy
245
+ ]
246
+ test_arr = [
247
+ np.empty(
248
+ shape=(n_test,),
249
+ dtype=el.dtype,
250
+ order="C" if el.flags["C_CONTIGUOUS"] else "F",
251
+ )
252
+ for el in arr_copy
253
+ ]
254
+ d4p.daal_train_test_split(arr_copy, train_arr, test_arr, [train], [test])
255
+ train_arr = {col: train_arr[i] for i, col in enumerate(arr.columns)}
256
+ test_arr = {col: test_arr[i] for i, col in enumerate(arr.columns)}
257
+ else:
258
+ raise ValueError("Array can't be converted to needed format")
259
+
260
+ if pandas_is_imported:
261
+ if isinstance(arr, pd.core.frame.DataFrame):
262
+ train_arr, test_arr = pd.DataFrame(
263
+ train_arr, columns=arr.columns
264
+ ), pd.DataFrame(test_arr, columns=arr.columns)
265
+ if isinstance(arr, pd.core.series.Series):
266
+ train_arr, test_arr = train_arr.reshape(n_train), test_arr.reshape(
267
+ n_test
268
+ )
269
+ train_arr, test_arr = pd.Series(train_arr, name=arr.name), pd.Series(
270
+ test_arr, name=arr.name
271
+ )
272
+
273
+ if hasattr(arr, "index"):
274
+ train_arr.index = train
275
+ test_arr.index = test
276
+
277
+ if hasattr(arr, "columns"):
278
+ train_arr.columns = arr.columns
279
+ test_arr.columns = arr.columns
280
+
281
+ if hasattr(arr, "name"):
282
+ train_arr.name = arr.name
283
+ test_arr.name = arr.name
284
+
285
+ res.append(train_arr)
286
+ res.append(test_arr)
287
+
288
+ return res
289
+
290
+
291
+ if sklearn_check_version("1.3"):
292
+ train_test_split = validate_params(
293
+ {
294
+ "test_size": [
295
+ Interval(RealNotInt, 0, 1, closed="neither"),
296
+ Interval(numbers.Integral, 1, None, closed="left"),
297
+ None,
298
+ ],
299
+ "train_size": [
300
+ Interval(RealNotInt, 0, 1, closed="neither"),
301
+ Interval(numbers.Integral, 1, None, closed="left"),
302
+ None,
303
+ ],
304
+ "random_state": ["random_state"],
305
+ "shuffle": ["boolean"],
306
+ "stratify": ["array-like", None],
307
+ },
308
+ prefer_skip_nested_validation=True,
309
+ )(train_test_split)
@@ -0,0 +1,56 @@
1
+ # ===============================================================================
2
+ # Copyright 2021 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ===============================================================================
16
+
17
+ import numpy as np
18
+ import pytest
19
+ from sklearn.datasets import make_classification
20
+ from sklearn.model_selection import train_test_split as skl_train_test_split
21
+
22
+ from daal4py.sklearn._utils import daal_check_version
23
+ from daal4py.sklearn.model_selection import train_test_split as d4p_train_test_split
24
+
25
+ N_SAMPLES = [2**i + 1 for i in range(2, 17)]
26
+ RANDOM_STATE = 777
27
+
28
+
29
+ @pytest.mark.skipif(
30
+ not daal_check_version((2021, "P", 400)),
31
+ reason="train_test_split has bugfix since 2021.4 release",
32
+ )
33
+ @pytest.mark.parametrize("n_samples", N_SAMPLES)
34
+ def test_results_similarity(n_samples):
35
+ x, y = make_classification(
36
+ n_samples=n_samples, n_features=4, random_state=RANDOM_STATE
37
+ )
38
+ d4p_res = d4p_train_test_split(
39
+ x,
40
+ y,
41
+ test_size=n_samples // 2 - 1,
42
+ train_size=n_samples // 2 - 1,
43
+ random_state=RANDOM_STATE,
44
+ )
45
+ skl_res = skl_train_test_split(
46
+ x,
47
+ y,
48
+ test_size=n_samples // 2 - 1,
49
+ train_size=n_samples // 2 - 1,
50
+ random_state=RANDOM_STATE,
51
+ )
52
+
53
+ assert len(d4p_res) == len(skl_res), "train_test_splits have different output size"
54
+
55
+ for i, _ in enumerate(d4p_res):
56
+ assert np.all(d4p_res[i] == skl_res[i]), "train_test_splits have different output"
@@ -0,0 +1,232 @@
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
+ import sys
18
+ import warnings
19
+ from functools import lru_cache
20
+
21
+ import sklearn.cluster as cluster_module
22
+ import sklearn.decomposition as decomposition_module
23
+ import sklearn.ensemble as ensemble_module
24
+ import sklearn.linear_model as linear_model_module
25
+ import sklearn.linear_model._logistic as logistic_module
26
+ import sklearn.manifold as manifold_module
27
+ import sklearn.neighbors as neighbors_module
28
+ import sklearn.svm as svm_module
29
+ from sklearn import metrics, model_selection
30
+ from sklearn.utils import validation
31
+
32
+ from daal4py.sklearn._utils import set_idp_sklearn_verbose
33
+
34
+ from ..cluster.dbscan import DBSCAN as DBSCAN_daal4py
35
+ from ..cluster.k_means import KMeans as KMeans_daal4py
36
+ from ..decomposition._pca import PCA as PCA_daal4py
37
+ from ..ensemble._forest import RandomForestClassifier as RandomForestClassifier_daal4py
38
+ from ..ensemble._forest import RandomForestRegressor as RandomForestRegressor_daal4py
39
+ from ..linear_model.coordinate_descent import ElasticNet as ElasticNet_daal4py
40
+ from ..linear_model.coordinate_descent import Lasso as Lasso_daal4py
41
+ from ..linear_model.linear import LinearRegression as LinearRegression_daal4py
42
+ from ..linear_model.logistic_path import LogisticRegression as LogisticRegression_daal4py
43
+ from ..linear_model.logistic_path import (
44
+ logistic_regression_path as daal_optimized_logistic_path,
45
+ )
46
+ from ..linear_model.ridge import Ridge as Ridge_daal4py
47
+ from ..manifold import TSNE as TSNE_daal4py
48
+ from ..metrics import pairwise_distances, roc_auc_score
49
+ from ..model_selection import train_test_split
50
+ from ..neighbors import KNeighborsClassifier as KNeighborsClassifier_daal4py
51
+ from ..neighbors import KNeighborsRegressor as KNeighborsRegressor_daal4py
52
+ from ..neighbors import NearestNeighbors as NearestNeighbors_daal4py
53
+ from ..svm.svm import SVC as SVC_daal4py
54
+ from ..utils.validation import _assert_all_finite
55
+
56
+
57
+ @lru_cache(maxsize=None)
58
+ def _get_map_of_algorithms():
59
+ mapping = {
60
+ "pca": [[(decomposition_module, "PCA", PCA_daal4py), None]],
61
+ "kmeans": [[(cluster_module, "KMeans", KMeans_daal4py), None]],
62
+ "dbscan": [[(cluster_module, "DBSCAN", DBSCAN_daal4py), None]],
63
+ "distances": [[(metrics, "pairwise_distances", pairwise_distances), None]],
64
+ "linear": [
65
+ [(linear_model_module, "LinearRegression", LinearRegression_daal4py), None]
66
+ ],
67
+ "ridge": [[(linear_model_module, "Ridge", Ridge_daal4py), None]],
68
+ "elasticnet": [[(linear_model_module, "ElasticNet", ElasticNet_daal4py), None]],
69
+ "lasso": [[(linear_model_module, "Lasso", Lasso_daal4py), None]],
70
+ "svm": [[(svm_module, "SVC", SVC_daal4py), None]],
71
+ "logistic": [
72
+ [
73
+ (
74
+ logistic_module,
75
+ "_logistic_regression_path",
76
+ daal_optimized_logistic_path,
77
+ ),
78
+ None,
79
+ ]
80
+ ],
81
+ "log_reg": [
82
+ [
83
+ (linear_model_module, "LogisticRegression", LogisticRegression_daal4py),
84
+ None,
85
+ ]
86
+ ],
87
+ "knn_classifier": [
88
+ [
89
+ (neighbors_module, "KNeighborsClassifier", KNeighborsClassifier_daal4py),
90
+ None,
91
+ ]
92
+ ],
93
+ "nearest_neighbors": [
94
+ [(neighbors_module, "NearestNeighbors", NearestNeighbors_daal4py), None]
95
+ ],
96
+ "knn_regressor": [
97
+ [(neighbors_module, "KNeighborsRegressor", KNeighborsRegressor_daal4py), None]
98
+ ],
99
+ "random_forest_classifier": [
100
+ [
101
+ (
102
+ ensemble_module,
103
+ "RandomForestClassifier",
104
+ RandomForestClassifier_daal4py,
105
+ ),
106
+ None,
107
+ ]
108
+ ],
109
+ "random_forest_regressor": [
110
+ [
111
+ (ensemble_module, "RandomForestRegressor", RandomForestRegressor_daal4py),
112
+ None,
113
+ ]
114
+ ],
115
+ "train_test_split": [
116
+ [(model_selection, "train_test_split", train_test_split), None]
117
+ ],
118
+ "fin_check": [[(validation, "_assert_all_finite", _assert_all_finite), None]],
119
+ "roc_auc_score": [[(metrics, "roc_auc_score", roc_auc_score), None]],
120
+ "tsne": [[(manifold_module, "TSNE", TSNE_daal4py), None]],
121
+ }
122
+ mapping["svc"] = mapping["svm"]
123
+ mapping["logisticregression"] = mapping["log_reg"]
124
+ mapping["kneighborsclassifier"] = mapping["knn_classifier"]
125
+ mapping["nearestneighbors"] = mapping["nearest_neighbors"]
126
+ mapping["kneighborsregressor"] = mapping["knn_regressor"]
127
+ mapping["randomforestclassifier"] = mapping["random_forest_classifier"]
128
+ mapping["randomforestregressor"] = mapping["random_forest_regressor"]
129
+ mapping["linearregression"] = mapping["linear"]
130
+ mapping["logisticregression"] = mapping["log_reg"]
131
+ mapping["_logistic_regression_path"] = mapping["logistic"]
132
+ mapping["_assert_all_finite"] = mapping["fin_check"]
133
+ mapping["pairwise_distances"] = mapping["distances"]
134
+ return mapping
135
+
136
+
137
+ def do_patch(name, get_map=_get_map_of_algorithms):
138
+ lname = name.lower()
139
+ if lname in get_map():
140
+ for descriptor in get_map()[lname]:
141
+ which, what, replacer = descriptor[0]
142
+ if descriptor[1] is None:
143
+ descriptor[1] = getattr(which, what, False)
144
+ setattr(which, what, replacer)
145
+ else:
146
+ raise ValueError("Has no patch for: " + name)
147
+
148
+
149
+ def do_unpatch(name, get_map=_get_map_of_algorithms):
150
+ lname = name.lower()
151
+ if lname in get_map():
152
+ for descriptor in get_map()[lname]:
153
+ if descriptor[1] is not None:
154
+ which, what, _ = descriptor[0]
155
+ if descriptor[1]:
156
+ setattr(which, what, descriptor[1])
157
+ elif hasattr(which, what):
158
+ delattr(which, what)
159
+ else:
160
+ raise ValueError("Has no patch for: " + name)
161
+
162
+
163
+ def enable(name=None, verbose=True, deprecation=True, get_map=_get_map_of_algorithms):
164
+ if name is not None:
165
+ do_patch(name, get_map)
166
+ else:
167
+ for key in get_map():
168
+ do_patch(key, get_map)
169
+ if deprecation:
170
+ set_idp_sklearn_verbose()
171
+ warnings.warn_explicit(
172
+ "\nScikit-learn patching with daal4py is deprecated "
173
+ "and will be removed in the future.\n"
174
+ "Use Extension "
175
+ "for Scikit-learn* module instead "
176
+ "(pip install scikit-learn-intelex).\n"
177
+ "To enable patching, please use one of the "
178
+ "following options:\n"
179
+ "1) From the command line:\n"
180
+ " python -m sklearnex <your_script>\n"
181
+ "2) From your script:\n"
182
+ " from sklearnex import patch_sklearn\n"
183
+ " patch_sklearn()",
184
+ FutureWarning,
185
+ "dispatcher.py",
186
+ 151,
187
+ )
188
+ if verbose and deprecation and sys.stderr is not None:
189
+ sys.stderr.write(
190
+ "oneAPI Data Analytics Library solvers for sklearn enabled: "
191
+ "https://uxlfoundation.github.io/scikit-learn-intelex/\n"
192
+ )
193
+
194
+
195
+ def disable(name=None, get_map=_get_map_of_algorithms):
196
+ if name is not None:
197
+ do_unpatch(name, get_map)
198
+ else:
199
+ for key in get_map():
200
+ do_unpatch(key, get_map)
201
+ get_map.cache_clear()
202
+
203
+
204
+ def _is_enabled(name, get_map=_get_map_of_algorithms):
205
+ lname = name.lower()
206
+ if lname in get_map():
207
+ enabled = True
208
+ for descriptor in get_map()[lname]:
209
+ which, what, replacer = descriptor[0]
210
+ enabled = enabled and getattr(which, what, None) == replacer
211
+ return enabled
212
+ else:
213
+ raise ValueError("Has no patch for: " + name)
214
+
215
+
216
+ def patch_is_enabled(name=None, get_map=_get_map_of_algorithms, return_map=False):
217
+ if name is not None:
218
+ return _is_enabled(name, get_map)
219
+ else:
220
+ if return_map:
221
+ enabled = {}
222
+ for key in get_map():
223
+ enabled[key] = _is_enabled(key, get_map)
224
+ else:
225
+ enabled = True
226
+ for key in get_map():
227
+ enabled = enabled and _is_enabled(key, get_map)
228
+ return enabled
229
+
230
+
231
+ def _patch_names():
232
+ return list(_get_map_of_algorithms().keys())