scikit-learn-intelex 2024.7.0__py311-none-win_amd64.whl → 2025.0.1__py311-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of scikit-learn-intelex might be problematic. Click here for more details.

Files changed (260) hide show
  1. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
  2. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
  3. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  4. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +424 -0
  5. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mb/__init__.py +19 -0
  6. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mb/model_builders.py +377 -0
  7. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
  8. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
  9. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +242 -0
  10. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +241 -0
  11. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
  12. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
  13. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +597 -0
  14. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
  15. {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
  16. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +524 -0
  17. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
  18. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +318 -0
  19. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
  20. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1397 -0
  21. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
  22. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +29 -0
  23. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
  24. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +272 -0
  25. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +325 -0
  26. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
  27. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
  28. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
  29. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +1026 -0
  30. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
  31. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +196 -0
  32. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
  33. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +19 -0
  34. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +405 -0
  35. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
  36. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +155 -0
  37. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
  38. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
  39. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
  40. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
  41. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  42. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
  43. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +161 -0
  44. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
  45. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +87 -0
  46. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +118 -0
  47. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
  48. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +503 -0
  49. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +139 -0
  50. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +74 -0
  51. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
  52. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
  53. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
  54. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +734 -0
  55. {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
  56. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +75 -0
  57. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
  58. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +693 -0
  59. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/__init__.py +83 -0
  60. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_config.py +53 -0
  61. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_device_offload.py +229 -0
  62. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  63. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  64. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +107 -0
  65. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +160 -0
  66. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +298 -0
  67. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +196 -0
  68. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
  69. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/dbscan.py +110 -0
  70. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/kmeans.py +560 -0
  71. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +115 -0
  72. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
  73. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
  74. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
  75. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_base.py +38 -0
  76. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
  77. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
  78. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_policy.py +59 -0
  79. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +30 -0
  80. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/hyperparameters.py +116 -0
  81. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +75 -0
  82. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
  83. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/covariance.py +125 -0
  84. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +146 -0
  85. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
  86. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +122 -0
  87. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
  88. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +95 -0
  89. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +235 -0
  90. {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
  91. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +204 -0
  92. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/pca.py +186 -0
  93. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +198 -0
  94. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
  95. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/forest.py +720 -0
  96. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
  97. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
  98. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +258 -0
  99. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +329 -0
  100. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +249 -0
  101. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +168 -0
  102. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +107 -0
  103. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +149 -0
  104. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
  105. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
  106. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
  107. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +778 -0
  108. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
  109. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
  110. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/get_tree.py +25 -0
  111. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +153 -0
  112. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
  113. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
  114. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/svm.py +556 -0
  115. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +351 -0
  116. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
  117. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
  118. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
  119. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
  120. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/test_common.py +41 -0
  121. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +168 -0
  122. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +107 -0
  123. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/__init__.py +49 -0
  124. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/_array_api.py +91 -0
  125. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/validation.py +432 -0
  126. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_device_offload.py +36 -13
  127. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
  128. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +30 -8
  129. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +49 -16
  130. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
  131. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +383 -0
  132. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +153 -0
  133. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +28 -10
  134. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +11 -0
  135. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +1 -1
  136. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/dispatcher.py +19 -9
  137. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +1 -1
  138. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +2 -0
  139. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +7 -7
  140. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +45 -26
  141. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +418 -0
  142. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +4 -4
  143. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +13 -10
  144. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +153 -0
  145. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +5 -4
  146. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +3 -3
  147. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +2 -2
  148. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +2 -2
  149. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +4 -2
  150. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +2 -1
  151. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +1 -1
  152. {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview}/__init__.py +1 -3
  153. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +8 -8
  154. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +2 -2
  155. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/ridge.py +4 -4
  156. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
  157. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
  158. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +307 -0
  159. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
  160. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +37 -0
  161. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
  162. {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition}/__init__.py +4 -1
  163. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +30 -0
  164. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
  165. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
  166. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +35 -0
  167. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +329 -0
  168. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +4 -1
  169. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +1 -1
  170. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/svc.py +1 -1
  171. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py +18 -5
  172. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +2 -1
  173. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -1
  174. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +12 -11
  175. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +1 -2
  176. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +5 -20
  177. {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/METADATA +3 -2
  178. scikit_learn_intelex-2025.0.1.dist-info/RECORD +255 -0
  179. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -25
  180. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -42
  181. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
  182. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
  183. scikit_learn_intelex-2024.7.0.dist-info/RECORD +0 -122
  184. {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
  185. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
  186. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  187. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
  188. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_utils.py +0 -0
  189. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  190. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  191. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -0
  192. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  193. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  194. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  195. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  196. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  197. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  198. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  199. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  200. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  201. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  202. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -0
  203. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -0
  204. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +0 -0
  205. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -0
  206. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  207. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  208. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  209. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  210. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  211. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  212. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  213. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
  214. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
  215. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
  216. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  217. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  218. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
  219. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  220. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  221. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -0
  222. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -0
  223. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  224. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  225. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +0 -0
  226. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  227. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  228. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  229. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
  230. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
  231. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  232. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +0 -0
  233. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  234. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
  235. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  236. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  237. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
  238. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  239. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  240. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
  241. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  242. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
  243. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
  244. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  245. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
  246. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  247. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
  248. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  249. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/_utils.py +0 -0
  250. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
  251. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
  252. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
  253. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  254. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  255. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  256. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -0
  257. {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
  258. {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/LICENSE.txt +0 -0
  259. {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/WHEEL +0 -0
  260. {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/top_level.txt +0 -0
@@ -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 Intel(R) 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
+ "Intel(R) oneAPI Data Analytics Library solvers for sklearn enabled: "
191
+ "https://intelpython.github.io/daal4py/sklearn.html\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())
@@ -0,0 +1,161 @@
1
+ # ==============================================================================
2
+ # Copyright 2021 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ==============================================================================
16
+
17
+ import numpy as np
18
+ from sklearn.cluster import DBSCAN, KMeans
19
+ from sklearn.decomposition import PCA
20
+ from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor
21
+ from sklearn.linear_model import (
22
+ ElasticNet,
23
+ Lasso,
24
+ LinearRegression,
25
+ LogisticRegression,
26
+ LogisticRegressionCV,
27
+ Ridge,
28
+ )
29
+ from sklearn.manifold import TSNE
30
+ from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor, NearestNeighbors
31
+ from sklearn.svm import SVC
32
+
33
+ from daal4py.sklearn._utils import daal_check_version
34
+
35
+ MODELS_INFO = [
36
+ {
37
+ "model": KNeighborsClassifier(algorithm="brute"),
38
+ "methods": ["kneighbors", "predict", "predict_proba", "score"],
39
+ "dataset": "classifier",
40
+ },
41
+ {
42
+ "model": KNeighborsRegressor(algorithm="brute"),
43
+ "methods": ["kneighbors", "predict", "score"],
44
+ "dataset": "regression",
45
+ },
46
+ {
47
+ "model": NearestNeighbors(algorithm="brute"),
48
+ "methods": ["kneighbors"],
49
+ "dataset": "blobs",
50
+ },
51
+ {
52
+ "model": DBSCAN(),
53
+ "methods": ["fit_predict"],
54
+ "dataset": "blobs",
55
+ },
56
+ {
57
+ "model": SVC(probability=True),
58
+ "methods": ["decision_function", "predict", "predict_proba", "score"],
59
+ "dataset": "classifier",
60
+ },
61
+ {
62
+ "model": KMeans(),
63
+ "methods": ["fit_predict", "fit_transform", "transform", "predict", "score"],
64
+ "dataset": "blobs",
65
+ },
66
+ {
67
+ "model": ElasticNet(),
68
+ "methods": ["predict", "score"],
69
+ "dataset": "regression",
70
+ },
71
+ {
72
+ "model": Lasso(),
73
+ "methods": ["predict", "score"],
74
+ "dataset": "regression",
75
+ },
76
+ {
77
+ "model": PCA(),
78
+ "methods": ["fit_transform", "transform", "score"],
79
+ "dataset": "classifier",
80
+ },
81
+ {
82
+ "model": RandomForestClassifier(n_estimators=10),
83
+ "methods": ["predict", "predict_proba", "predict_log_proba", "score"],
84
+ "dataset": "classifier",
85
+ },
86
+ {
87
+ "model": LogisticRegression(max_iter=100, multi_class="multinomial"),
88
+ "methods": [
89
+ "decision_function",
90
+ "predict",
91
+ "predict_proba",
92
+ "predict_log_proba",
93
+ "score",
94
+ ],
95
+ "dataset": "classifier",
96
+ },
97
+ {
98
+ "model": LogisticRegressionCV(max_iter=100),
99
+ "methods": [
100
+ "decision_function",
101
+ "predict",
102
+ "predict_proba",
103
+ "predict_log_proba",
104
+ "score",
105
+ ],
106
+ "dataset": "classifier",
107
+ },
108
+ {
109
+ "model": RandomForestRegressor(n_estimators=10),
110
+ "methods": ["predict", "score"],
111
+ "dataset": "regression",
112
+ },
113
+ {
114
+ "model": LinearRegression(),
115
+ "methods": ["predict", "score"],
116
+ "dataset": "regression",
117
+ },
118
+ {
119
+ "model": Ridge(),
120
+ "methods": ["predict", "score"],
121
+ "dataset": "regression",
122
+ },
123
+ ]
124
+
125
+ TYPES = [
126
+ np.int8,
127
+ np.int16,
128
+ np.int32,
129
+ np.int64,
130
+ np.float16,
131
+ np.float32,
132
+ np.float64,
133
+ np.uint8,
134
+ np.uint16,
135
+ np.uint32,
136
+ np.uint64,
137
+ ]
138
+
139
+ TO_SKIP = [
140
+ # --------------- NO INFO ---------------
141
+ r"KMeans .*transform",
142
+ r"KMeans .*score",
143
+ r"PCA .*score",
144
+ r"LogisticRegression .*decision_function",
145
+ r"LogisticRegressionCV .*decision_function",
146
+ r"LogisticRegressionCV .*predict",
147
+ r"LogisticRegressionCV .*predict_proba",
148
+ r"LogisticRegressionCV .*predict_log_proba",
149
+ r"LogisticRegressionCV .*score",
150
+ # --------------- Scikit ---------------
151
+ r"Ridge float16 predict",
152
+ r"Ridge float16 score",
153
+ r"RandomForestClassifier .*predict_proba",
154
+ r"RandomForestClassifier .*predict_log_proba",
155
+ r"pairwise_distances .*pairwise_distances", # except float64
156
+ (
157
+ r"roc_auc_score .*roc_auc_score"
158
+ if not daal_check_version((2021, "P", 200))
159
+ else None
160
+ ),
161
+ ]
@@ -0,0 +1,71 @@
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 daal4py.sklearn
18
+
19
+
20
+ def test_monkey_patching():
21
+ _tokens = daal4py.sklearn.sklearn_patch_names()
22
+ _values = daal4py.sklearn.sklearn_patch_map().values()
23
+ _classes = list()
24
+ for v in _values:
25
+ _classes.append(v[0][0])
26
+
27
+ assert len(_tokens) == len(_classes)
28
+ assert (
29
+ isinstance(_tokens, list) and len(_tokens) > 0
30
+ ), "Internal Error: list of patched names has unexcepable format."
31
+
32
+ daal4py.sklearn.patch_sklearn()
33
+
34
+ for i, _ in enumerate(_tokens):
35
+ t = _tokens[i]
36
+ p = _classes[i][0]
37
+ n = _classes[i][1]
38
+
39
+ class_module = getattr(p, n).__module__
40
+ assert class_module.startswith("daal4py"), "Patching has completed with error."
41
+
42
+ for i, _ in enumerate(_tokens):
43
+ t = _tokens[i]
44
+ p = _classes[i][0]
45
+ n = _classes[i][1]
46
+
47
+ daal4py.sklearn.unpatch_sklearn(t)
48
+ class_module = getattr(p, n).__module__
49
+ assert class_module.startswith("sklearn"), "Unpatching has completed with error."
50
+
51
+ daal4py.sklearn.unpatch_sklearn()
52
+
53
+ for i, _ in enumerate(_tokens):
54
+ t = _tokens[i]
55
+ p = _classes[i][0]
56
+ n = _classes[i][1]
57
+
58
+ class_module = getattr(p, n).__module__
59
+ assert class_module.startswith("sklearn"), "Unpatching has completed with error."
60
+
61
+ for i, _ in enumerate(_tokens):
62
+ t = _tokens[i]
63
+ p = _classes[i][0]
64
+ n = _classes[i][1]
65
+
66
+ daal4py.sklearn.patch_sklearn(t)
67
+
68
+ class_module = getattr(p, n).__module__
69
+ assert class_module.startswith("daal4py"), "Patching has completed with error."
70
+
71
+ daal4py.sklearn.unpatch_sklearn()
@@ -0,0 +1,87 @@
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 os
18
+ import pathlib
19
+ import re
20
+ import subprocess
21
+ import sys
22
+
23
+ import pytest
24
+ from _models_info import TO_SKIP
25
+
26
+
27
+ def get_branch(s):
28
+ if len(s) == 0:
29
+ return "NO INFO"
30
+ for i in s:
31
+ if "failed to run accelerated version, fallback to original Scikit-learn" in i:
32
+ return "was in OPT, but go in Scikit"
33
+ for i in s:
34
+ if "running accelerated version" in i:
35
+ return "OPT"
36
+ return "Scikit"
37
+
38
+
39
+ def run_parse(mas, result):
40
+ name, dtype = mas[0].split()
41
+ temp = []
42
+ INFO_POS = 6
43
+ for i in range(1, len(mas)):
44
+ mas[i] = mas[i][INFO_POS:] # remove 'INFO: '
45
+ if not mas[i].startswith("sklearn"):
46
+ ind = name + " " + dtype + " " + mas[i]
47
+ result[ind] = get_branch(temp)
48
+ temp.clear()
49
+ else:
50
+ temp.append(mas[i])
51
+
52
+
53
+ def get_result_log():
54
+ os.environ["IDP_SKLEARN_VERBOSE"] = "INFO"
55
+ absolute_path = str(pathlib.Path(__file__).parent.absolute())
56
+ try:
57
+ process = subprocess.check_output(
58
+ [sys.executable, absolute_path + "/utils/_launch_algorithms.py"]
59
+ )
60
+ except subprocess.CalledProcessError as e:
61
+ print(e)
62
+ exit(1)
63
+
64
+ mas = []
65
+ result = {}
66
+ for i in process.decode().split("\n"):
67
+ if not i.startswith("INFO") and len(mas) != 0:
68
+ run_parse(mas, result)
69
+ mas.clear()
70
+ mas.append(i.strip())
71
+ else:
72
+ mas.append(i.strip())
73
+ del os.environ["IDP_SKLEARN_VERBOSE"]
74
+ return result
75
+
76
+
77
+ result_log = get_result_log()
78
+
79
+
80
+ @pytest.mark.parametrize("configuration", result_log)
81
+ def test_patching(configuration):
82
+ if "OPT" in result_log[configuration]:
83
+ return
84
+ for skip in TO_SKIP:
85
+ if re.search(skip, configuration) is not None:
86
+ pytest.skip("SKIPPED", allow_module_level=False)
87
+ raise ValueError("Test patching failed: " + configuration)
@@ -0,0 +1,118 @@
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 logging
18
+ import random
19
+
20
+ import numpy as np
21
+
22
+ from daal4py.sklearn import patch_sklearn
23
+
24
+ patch_sklearn()
25
+
26
+ import pathlib
27
+ import sys
28
+
29
+ from sklearn.datasets import load_diabetes, load_iris, make_regression
30
+ from sklearn.metrics import pairwise_distances, roc_auc_score
31
+
32
+ absolute_path = str(pathlib.Path(__file__).parent.absolute())
33
+ sys.path.append(absolute_path + "/../")
34
+ from _models_info import MODELS_INFO, TYPES
35
+
36
+
37
+ def get_class_name(x):
38
+ return x.__class__.__name__
39
+
40
+
41
+ def generate_dataset(name, dtype, model_name):
42
+ if model_name == "LinearRegression":
43
+ X, y = make_regression(n_samples=1000, n_features=5)
44
+ elif name in ["blobs", "classifier"]:
45
+ X, y = load_iris(return_X_y=True)
46
+ elif name == "regression":
47
+ X, y = load_diabetes(return_X_y=True)
48
+ else:
49
+ raise ValueError("Unknown dataset type")
50
+ X = np.array(X, dtype=dtype)
51
+ y = np.array(y, dtype=dtype)
52
+ return (X, y)
53
+
54
+
55
+ def run_patch(model_info, dtype):
56
+ print(get_class_name(model_info["model"]), dtype.__name__)
57
+ X, y = generate_dataset(
58
+ model_info["dataset"], dtype, get_class_name(model_info["model"])
59
+ )
60
+ model = model_info["model"]
61
+ model.fit(X, y)
62
+ logging.info("fit")
63
+ for i in model_info["methods"]:
64
+ if i == "predict":
65
+ model.predict(X)
66
+ elif i == "predict_proba":
67
+ model.predict_proba(X)
68
+ elif i == "predict_log_proba":
69
+ model.predict_log_proba(X)
70
+ elif i == "decision_function":
71
+ model.decision_function(X)
72
+ elif i == "fit_predict":
73
+ model.fit_predict(X)
74
+ elif i == "transform":
75
+ model.transform(X)
76
+ elif i == "fit_transform":
77
+ model.fit_transform(X)
78
+ elif i == "kneighbors":
79
+ model.kneighbors(X)
80
+ elif i == "score":
81
+ model.score(X, y)
82
+ else:
83
+ raise ValueError(i + " is wrong method")
84
+ logging.info(i)
85
+
86
+
87
+ def run_algotithms():
88
+ for info in MODELS_INFO:
89
+ for t in TYPES:
90
+ model_name = get_class_name(info["model"])
91
+ if model_name in ["Ridge", "LinearRegression"] and t.__name__ == "uint32":
92
+ continue
93
+ run_patch(info, t)
94
+
95
+
96
+ def run_utils():
97
+ # pairwise_distances
98
+ for metric in ["cosine", "correlation"]:
99
+ for t in TYPES:
100
+ X = np.random.rand(1000)
101
+ X = np.array(X, dtype=t)
102
+ print("pairwise_distances", t.__name__)
103
+ _ = pairwise_distances(X.reshape(1, -1), metric=metric)
104
+ logging.info("pairwise_distances")
105
+ # roc_auc_score
106
+ for t in [np.float32, np.float64]:
107
+ a = [random.randint(0, 1) for i in range(1000)]
108
+ b = [random.randint(0, 1) for i in range(1000)]
109
+ a = np.array(a, dtype=t)
110
+ b = np.array(b, dtype=t)
111
+ print("roc_auc_score", t.__name__)
112
+ _ = roc_auc_score(a, b)
113
+ logging.info("roc_auc_score")
114
+
115
+
116
+ if __name__ == "__main__":
117
+ run_algotithms()
118
+ run_utils()
@@ -0,0 +1,21 @@
1
+ # ==============================================================================
2
+ # Copyright 2014 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ==============================================================================
16
+
17
+ from ._classification import KNeighborsClassifier
18
+ from ._regression import KNeighborsRegressor
19
+ from ._unsupervised import NearestNeighbors
20
+
21
+ __all__ = ["KNeighborsClassifier", "NearestNeighbors", "KNeighborsRegressor"]