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,189 @@
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
+ from sklearn.metrics import accuracy_score
18
+ from sklearn.neighbors._classification import (
19
+ KNeighborsClassifier as _sklearn_KNeighborsClassifier,
20
+ )
21
+ from sklearn.utils.validation import check_is_fitted
22
+
23
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
24
+ from daal4py.sklearn._utils import sklearn_check_version
25
+ from daal4py.sklearn.utils.validation import get_requires_y_tag
26
+ from onedal.neighbors import KNeighborsClassifier as onedal_KNeighborsClassifier
27
+
28
+ from .._device_offload import dispatch, wrap_output_data
29
+ from ..utils.validation import check_feature_names
30
+ from .common import KNeighborsDispatchingBase
31
+
32
+
33
+ @control_n_jobs(
34
+ decorated_methods=["fit", "predict", "predict_proba", "kneighbors", "score"]
35
+ )
36
+ class KNeighborsClassifier(KNeighborsDispatchingBase, _sklearn_KNeighborsClassifier):
37
+ __doc__ = _sklearn_KNeighborsClassifier.__doc__
38
+ if sklearn_check_version("1.2"):
39
+ _parameter_constraints: dict = {
40
+ **_sklearn_KNeighborsClassifier._parameter_constraints
41
+ }
42
+
43
+ def __init__(
44
+ self,
45
+ n_neighbors=5,
46
+ *,
47
+ weights="uniform",
48
+ algorithm="auto",
49
+ leaf_size=30,
50
+ p=2,
51
+ metric="minkowski",
52
+ metric_params=None,
53
+ n_jobs=None,
54
+ ):
55
+ super().__init__(
56
+ n_neighbors=n_neighbors,
57
+ weights=weights,
58
+ algorithm=algorithm,
59
+ leaf_size=leaf_size,
60
+ metric=metric,
61
+ p=p,
62
+ metric_params=metric_params,
63
+ n_jobs=n_jobs,
64
+ )
65
+
66
+ def fit(self, X, y):
67
+ dispatch(
68
+ self,
69
+ "fit",
70
+ {
71
+ "onedal": self.__class__._onedal_fit,
72
+ "sklearn": _sklearn_KNeighborsClassifier.fit,
73
+ },
74
+ X,
75
+ y,
76
+ )
77
+ return self
78
+
79
+ @wrap_output_data
80
+ def predict(self, X):
81
+ check_is_fitted(self)
82
+ check_feature_names(self, X, reset=False)
83
+ return dispatch(
84
+ self,
85
+ "predict",
86
+ {
87
+ "onedal": self.__class__._onedal_predict,
88
+ "sklearn": _sklearn_KNeighborsClassifier.predict,
89
+ },
90
+ X,
91
+ )
92
+
93
+ @wrap_output_data
94
+ def predict_proba(self, X):
95
+ check_is_fitted(self)
96
+ check_feature_names(self, X, reset=False)
97
+ return dispatch(
98
+ self,
99
+ "predict_proba",
100
+ {
101
+ "onedal": self.__class__._onedal_predict_proba,
102
+ "sklearn": _sklearn_KNeighborsClassifier.predict_proba,
103
+ },
104
+ X,
105
+ )
106
+
107
+ @wrap_output_data
108
+ def score(self, X, y, sample_weight=None):
109
+ check_is_fitted(self)
110
+ check_feature_names(self, X, reset=False)
111
+ return dispatch(
112
+ self,
113
+ "score",
114
+ {
115
+ "onedal": self.__class__._onedal_score,
116
+ "sklearn": _sklearn_KNeighborsClassifier.score,
117
+ },
118
+ X,
119
+ y,
120
+ sample_weight=sample_weight,
121
+ )
122
+
123
+ @wrap_output_data
124
+ def kneighbors(self, X=None, n_neighbors=None, return_distance=True):
125
+ check_is_fitted(self)
126
+ if X is not None:
127
+ check_feature_names(self, X, reset=False)
128
+ return dispatch(
129
+ self,
130
+ "kneighbors",
131
+ {
132
+ "onedal": self.__class__._onedal_kneighbors,
133
+ "sklearn": _sklearn_KNeighborsClassifier.kneighbors,
134
+ },
135
+ X,
136
+ n_neighbors=n_neighbors,
137
+ return_distance=return_distance,
138
+ )
139
+
140
+ def _onedal_fit(self, X, y, queue=None):
141
+ onedal_params = {
142
+ "n_neighbors": self.n_neighbors,
143
+ "weights": self.weights,
144
+ "algorithm": self.algorithm,
145
+ "metric": self.effective_metric_,
146
+ "p": self.effective_metric_params_["p"],
147
+ }
148
+
149
+ self._onedal_estimator = onedal_KNeighborsClassifier(**onedal_params)
150
+ self._onedal_estimator.requires_y = get_requires_y_tag(self)
151
+ self._onedal_estimator.effective_metric_ = self.effective_metric_
152
+ self._onedal_estimator.effective_metric_params_ = self.effective_metric_params_
153
+ self._onedal_estimator.fit(X, y, queue=queue)
154
+
155
+ self._save_attributes()
156
+
157
+ def _onedal_predict(self, X, queue=None):
158
+ return self._onedal_estimator.predict(X, queue=queue)
159
+
160
+ def _onedal_predict_proba(self, X, queue=None):
161
+ return self._onedal_estimator.predict_proba(X, queue=queue)
162
+
163
+ def _onedal_kneighbors(
164
+ self, X=None, n_neighbors=None, return_distance=True, queue=None
165
+ ):
166
+ return self._onedal_estimator.kneighbors(
167
+ X, n_neighbors, return_distance, queue=queue
168
+ )
169
+
170
+ def _onedal_score(self, X, y, sample_weight=None, queue=None):
171
+ return accuracy_score(
172
+ y, self._onedal_predict(X, queue=queue), sample_weight=sample_weight
173
+ )
174
+
175
+ def _save_attributes(self):
176
+ self.classes_ = self._onedal_estimator.classes_
177
+ self.n_features_in_ = self._onedal_estimator.n_features_in_
178
+ self.n_samples_fit_ = self._onedal_estimator.n_samples_fit_
179
+ self._fit_X = self._onedal_estimator._fit_X
180
+ self._y = self._onedal_estimator._y
181
+ self._fit_method = self._onedal_estimator._fit_method
182
+ self.outputs_2d_ = self._onedal_estimator.outputs_2d_
183
+ self._tree = self._onedal_estimator._tree
184
+
185
+ fit.__doc__ = _sklearn_KNeighborsClassifier.fit.__doc__
186
+ predict.__doc__ = _sklearn_KNeighborsClassifier.predict.__doc__
187
+ predict_proba.__doc__ = _sklearn_KNeighborsClassifier.predict_proba.__doc__
188
+ score.__doc__ = _sklearn_KNeighborsClassifier.score.__doc__
189
+ kneighbors.__doc__ = _sklearn_KNeighborsClassifier.kneighbors.__doc__
@@ -0,0 +1,167 @@
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
+ from sklearn.metrics import r2_score
18
+ from sklearn.neighbors._regression import (
19
+ KNeighborsRegressor as _sklearn_KNeighborsRegressor,
20
+ )
21
+ from sklearn.utils.validation import check_is_fitted
22
+
23
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
24
+ from daal4py.sklearn._utils import sklearn_check_version
25
+ from daal4py.sklearn.utils.validation import get_requires_y_tag
26
+ from onedal.neighbors import KNeighborsRegressor as onedal_KNeighborsRegressor
27
+
28
+ from .._device_offload import dispatch, wrap_output_data
29
+ from ..utils.validation import check_feature_names
30
+ from .common import KNeighborsDispatchingBase
31
+
32
+
33
+ @control_n_jobs(decorated_methods=["fit", "predict", "kneighbors", "score"])
34
+ class KNeighborsRegressor(KNeighborsDispatchingBase, _sklearn_KNeighborsRegressor):
35
+ __doc__ = _sklearn_KNeighborsRegressor.__doc__
36
+ if sklearn_check_version("1.2"):
37
+ _parameter_constraints: dict = {
38
+ **_sklearn_KNeighborsRegressor._parameter_constraints
39
+ }
40
+
41
+ def __init__(
42
+ self,
43
+ n_neighbors=5,
44
+ *,
45
+ weights="uniform",
46
+ algorithm="auto",
47
+ leaf_size=30,
48
+ p=2,
49
+ metric="minkowski",
50
+ metric_params=None,
51
+ n_jobs=None,
52
+ ):
53
+ super().__init__(
54
+ n_neighbors=n_neighbors,
55
+ weights=weights,
56
+ algorithm=algorithm,
57
+ leaf_size=leaf_size,
58
+ metric=metric,
59
+ p=p,
60
+ metric_params=metric_params,
61
+ n_jobs=n_jobs,
62
+ )
63
+
64
+ def fit(self, X, y):
65
+ dispatch(
66
+ self,
67
+ "fit",
68
+ {
69
+ "onedal": self.__class__._onedal_fit,
70
+ "sklearn": _sklearn_KNeighborsRegressor.fit,
71
+ },
72
+ X,
73
+ y,
74
+ )
75
+ return self
76
+
77
+ @wrap_output_data
78
+ def predict(self, X):
79
+ check_is_fitted(self)
80
+ check_feature_names(self, X, reset=False)
81
+ return dispatch(
82
+ self,
83
+ "predict",
84
+ {
85
+ "onedal": self.__class__._onedal_predict,
86
+ "sklearn": _sklearn_KNeighborsRegressor.predict,
87
+ },
88
+ X,
89
+ )
90
+
91
+ @wrap_output_data
92
+ def score(self, X, y, sample_weight=None):
93
+ check_is_fitted(self)
94
+ check_feature_names(self, X, reset=False)
95
+ return dispatch(
96
+ self,
97
+ "score",
98
+ {
99
+ "onedal": self.__class__._onedal_score,
100
+ "sklearn": _sklearn_KNeighborsRegressor.score,
101
+ },
102
+ X,
103
+ y,
104
+ sample_weight=sample_weight,
105
+ )
106
+
107
+ @wrap_output_data
108
+ def kneighbors(self, X=None, n_neighbors=None, return_distance=True):
109
+ check_is_fitted(self)
110
+ if X is not None:
111
+ check_feature_names(self, X, reset=False)
112
+ return dispatch(
113
+ self,
114
+ "kneighbors",
115
+ {
116
+ "onedal": self.__class__._onedal_kneighbors,
117
+ "sklearn": _sklearn_KNeighborsRegressor.kneighbors,
118
+ },
119
+ X,
120
+ n_neighbors=n_neighbors,
121
+ return_distance=return_distance,
122
+ )
123
+
124
+ def _onedal_fit(self, X, y, queue=None):
125
+ onedal_params = {
126
+ "n_neighbors": self.n_neighbors,
127
+ "weights": self.weights,
128
+ "algorithm": self.algorithm,
129
+ "metric": self.effective_metric_,
130
+ "p": self.effective_metric_params_["p"],
131
+ }
132
+
133
+ self._onedal_estimator = onedal_KNeighborsRegressor(**onedal_params)
134
+ self._onedal_estimator.requires_y = get_requires_y_tag(self)
135
+ self._onedal_estimator.effective_metric_ = self.effective_metric_
136
+ self._onedal_estimator.effective_metric_params_ = self.effective_metric_params_
137
+ self._onedal_estimator.fit(X, y, queue=queue)
138
+
139
+ self._save_attributes()
140
+
141
+ def _onedal_predict(self, X, queue=None):
142
+ return self._onedal_estimator.predict(X, queue=queue)
143
+
144
+ def _onedal_kneighbors(
145
+ self, X=None, n_neighbors=None, return_distance=True, queue=None
146
+ ):
147
+ return self._onedal_estimator.kneighbors(
148
+ X, n_neighbors, return_distance, queue=queue
149
+ )
150
+
151
+ def _onedal_score(self, X, y, sample_weight=None, queue=None):
152
+ return r2_score(
153
+ y, self._onedal_predict(X, queue=queue), sample_weight=sample_weight
154
+ )
155
+
156
+ def _save_attributes(self):
157
+ self.n_features_in_ = self._onedal_estimator.n_features_in_
158
+ self.n_samples_fit_ = self._onedal_estimator.n_samples_fit_
159
+ self._fit_X = self._onedal_estimator._fit_X
160
+ self._y = self._onedal_estimator._y
161
+ self._fit_method = self._onedal_estimator._fit_method
162
+ self._tree = self._onedal_estimator._tree
163
+
164
+ fit.__doc__ = _sklearn_KNeighborsRegressor.__doc__
165
+ predict.__doc__ = _sklearn_KNeighborsRegressor.predict.__doc__
166
+ kneighbors.__doc__ = _sklearn_KNeighborsRegressor.kneighbors.__doc__
167
+ score.__doc__ = _sklearn_KNeighborsRegressor.score.__doc__
@@ -0,0 +1,170 @@
1
+ # ===============================================================================
2
+ # Copyright 2021 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ===============================================================================
16
+
17
+ from sklearn.neighbors._unsupervised import NearestNeighbors as _sklearn_NearestNeighbors
18
+ from sklearn.utils.validation import _deprecate_positional_args, check_is_fitted
19
+
20
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
21
+ from daal4py.sklearn._utils import sklearn_check_version
22
+ from daal4py.sklearn.utils.validation import get_requires_y_tag
23
+ from onedal.neighbors import NearestNeighbors as onedal_NearestNeighbors
24
+
25
+ from .._device_offload import dispatch, wrap_output_data
26
+ from ..utils.validation import check_feature_names
27
+ from .common import KNeighborsDispatchingBase
28
+
29
+
30
+ @control_n_jobs(decorated_methods=["fit", "kneighbors", "radius_neighbors"])
31
+ class NearestNeighbors(KNeighborsDispatchingBase, _sklearn_NearestNeighbors):
32
+ __doc__ = _sklearn_NearestNeighbors.__doc__
33
+ if sklearn_check_version("1.2"):
34
+ _parameter_constraints: dict = {
35
+ **_sklearn_NearestNeighbors._parameter_constraints
36
+ }
37
+
38
+ @_deprecate_positional_args
39
+ def __init__(
40
+ self,
41
+ n_neighbors=5,
42
+ radius=1.0,
43
+ algorithm="auto",
44
+ leaf_size=30,
45
+ metric="minkowski",
46
+ p=2,
47
+ metric_params=None,
48
+ n_jobs=None,
49
+ ):
50
+ super().__init__(
51
+ n_neighbors=n_neighbors,
52
+ radius=radius,
53
+ algorithm=algorithm,
54
+ leaf_size=leaf_size,
55
+ metric=metric,
56
+ p=p,
57
+ metric_params=metric_params,
58
+ n_jobs=n_jobs,
59
+ )
60
+
61
+ def fit(self, X, y=None):
62
+ dispatch(
63
+ self,
64
+ "fit",
65
+ {
66
+ "onedal": self.__class__._onedal_fit,
67
+ "sklearn": _sklearn_NearestNeighbors.fit,
68
+ },
69
+ X,
70
+ None,
71
+ )
72
+ return self
73
+
74
+ @wrap_output_data
75
+ def kneighbors(self, X=None, n_neighbors=None, return_distance=True):
76
+ check_is_fitted(self)
77
+ if X is not None:
78
+ check_feature_names(self, X, reset=False)
79
+ return dispatch(
80
+ self,
81
+ "kneighbors",
82
+ {
83
+ "onedal": self.__class__._onedal_kneighbors,
84
+ "sklearn": _sklearn_NearestNeighbors.kneighbors,
85
+ },
86
+ X,
87
+ n_neighbors=n_neighbors,
88
+ return_distance=return_distance,
89
+ )
90
+
91
+ @wrap_output_data
92
+ def radius_neighbors(
93
+ self, X=None, radius=None, return_distance=True, sort_results=False
94
+ ):
95
+ if (
96
+ hasattr(self, "_onedal_estimator")
97
+ or getattr(self, "_tree", 0) is None
98
+ and self._fit_method == "kd_tree"
99
+ ):
100
+ _sklearn_NearestNeighbors.fit(self, self._fit_X, getattr(self, "_y", None))
101
+ check_is_fitted(self)
102
+ return dispatch(
103
+ self,
104
+ "radius_neighbors",
105
+ {
106
+ "onedal": None,
107
+ "sklearn": _sklearn_NearestNeighbors.radius_neighbors,
108
+ },
109
+ X,
110
+ radius=radius,
111
+ return_distance=return_distance,
112
+ sort_results=sort_results,
113
+ )
114
+
115
+ def radius_neighbors_graph(
116
+ self, X=None, radius=None, mode="connectivity", sort_results=False
117
+ ):
118
+ return dispatch(
119
+ self,
120
+ "radius_neighbors_graph",
121
+ {
122
+ "onedal": None,
123
+ "sklearn": _sklearn_NearestNeighbors.radius_neighbors_graph,
124
+ },
125
+ X,
126
+ radius=radius,
127
+ mode=mode,
128
+ sort_results=sort_results,
129
+ )
130
+
131
+ def _onedal_fit(self, X, y=None, queue=None):
132
+ onedal_params = {
133
+ "n_neighbors": self.n_neighbors,
134
+ "algorithm": self.algorithm,
135
+ "metric": self.effective_metric_,
136
+ "p": self.effective_metric_params_["p"],
137
+ }
138
+
139
+ self._onedal_estimator = onedal_NearestNeighbors(**onedal_params)
140
+ self._onedal_estimator.requires_y = get_requires_y_tag(self)
141
+ self._onedal_estimator.effective_metric_ = self.effective_metric_
142
+ self._onedal_estimator.effective_metric_params_ = self.effective_metric_params_
143
+ self._onedal_estimator.fit(X, y, queue=queue)
144
+
145
+ self._save_attributes()
146
+
147
+ def _onedal_predict(self, X, queue=None):
148
+ return self._onedal_estimator.predict(X, queue=queue)
149
+
150
+ def _onedal_kneighbors(
151
+ self, X=None, n_neighbors=None, return_distance=True, queue=None
152
+ ):
153
+ return self._onedal_estimator.kneighbors(
154
+ X, n_neighbors, return_distance, queue=queue
155
+ )
156
+
157
+ def _save_attributes(self):
158
+ self.classes_ = self._onedal_estimator.classes_
159
+ self.n_features_in_ = self._onedal_estimator.n_features_in_
160
+ self.n_samples_fit_ = self._onedal_estimator.n_samples_fit_
161
+ self._fit_X = self._onedal_estimator._fit_X
162
+ self._fit_method = self._onedal_estimator._fit_method
163
+ self._tree = self._onedal_estimator._tree
164
+
165
+ fit.__doc__ = _sklearn_NearestNeighbors.__doc__
166
+ kneighbors.__doc__ = _sklearn_NearestNeighbors.kneighbors.__doc__
167
+ radius_neighbors.__doc__ = _sklearn_NearestNeighbors.radius_neighbors.__doc__
168
+ radius_neighbors_graph.__doc__ = (
169
+ _sklearn_NearestNeighbors.radius_neighbors_graph.__doc__
170
+ )
@@ -0,0 +1,82 @@
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 pytest
18
+ from numpy.testing import assert_allclose
19
+
20
+ from onedal.tests.utils._dataframes_support import (
21
+ _as_numpy,
22
+ _convert_to_dataframe,
23
+ get_dataframes_and_queues,
24
+ )
25
+ from sklearnex.neighbors import (
26
+ KNeighborsClassifier,
27
+ KNeighborsRegressor,
28
+ LocalOutlierFactor,
29
+ NearestNeighbors,
30
+ )
31
+
32
+
33
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
34
+ def test_sklearnex_import_knn_classifier(dataframe, queue):
35
+ X = _convert_to_dataframe([[0], [1], [2], [3]], sycl_queue=queue, target_df=dataframe)
36
+ y = _convert_to_dataframe([0, 0, 1, 1], sycl_queue=queue, target_df=dataframe)
37
+ neigh = KNeighborsClassifier(n_neighbors=3).fit(X, y)
38
+ y_test = _convert_to_dataframe([[1.1]], sycl_queue=queue, target_df=dataframe)
39
+ pred = _as_numpy(neigh.predict(y_test))
40
+ assert "sklearnex" in neigh.__module__
41
+ assert_allclose(pred, [0])
42
+
43
+
44
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
45
+ def test_sklearnex_import_knn_regression(dataframe, queue):
46
+ X = _convert_to_dataframe([[0], [1], [2], [3]], sycl_queue=queue, target_df=dataframe)
47
+ y = _convert_to_dataframe([0, 0, 1, 1], sycl_queue=queue, target_df=dataframe)
48
+ neigh = KNeighborsRegressor(n_neighbors=2).fit(X, y)
49
+ y_test = _convert_to_dataframe([[1.5]], sycl_queue=queue, target_df=dataframe)
50
+ pred = _as_numpy(neigh.predict(y_test)).squeeze()
51
+ assert "sklearnex" in neigh.__module__
52
+ assert_allclose(pred, 0.5)
53
+
54
+
55
+ @pytest.mark.parametrize("algorithm", ["auto", "brute"])
56
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
57
+ @pytest.mark.parametrize(
58
+ "estimator",
59
+ [LocalOutlierFactor, NearestNeighbors],
60
+ )
61
+ def test_sklearnex_kneighbors(algorithm, estimator, dataframe, queue):
62
+ X = [[0, 0, 2], [1, 0, 0], [0, 0, 1]]
63
+ X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
64
+ test = _convert_to_dataframe([[0, 0, 1.3]], sycl_queue=queue, target_df=dataframe)
65
+ neigh = estimator(n_neighbors=2, algorithm=algorithm).fit(X)
66
+ result = neigh.kneighbors(test, 2, return_distance=False)
67
+ result = _as_numpy(result)
68
+ assert "sklearnex" in neigh.__module__
69
+ assert_allclose(result, [[2, 0]])
70
+ result = neigh.kneighbors()
71
+
72
+
73
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
74
+ def test_sklearnex_import_lof(dataframe, queue):
75
+ X = [[7, 7, 7], [1, 0, 0], [0, 0, 1], [0, 0, 1]]
76
+ X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
77
+ lof = LocalOutlierFactor(n_neighbors=2)
78
+ result = lof.fit_predict(X)
79
+ result = _as_numpy(result)
80
+ assert hasattr(lof, "_onedal_estimator")
81
+ assert "sklearnex" in lof.__module__
82
+ assert_allclose(result, [-1, 1, 1, 1])
@@ -0,0 +1,17 @@
1
+ # ==============================================================================
2
+ # Copyright 2023 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
+ __all__ = ["covariance", "decomposition"]
@@ -0,0 +1,19 @@
1
+ # ===============================================================================
2
+ # Copyright 2023 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 .covariance import EmpiricalCovariance
18
+
19
+ __all__ = ["EmpiricalCovariance"]