scikit-learn-intelex 2024.6.0__py39-none-win_amd64.whl → 2024.7.0__py39-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 (125) hide show
  1. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/_config.py +3 -15
  2. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +98 -0
  3. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +143 -0
  4. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +251 -0
  5. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +1 -1
  6. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -1
  7. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +8 -0
  8. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +15 -3
  9. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +64 -13
  10. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +35 -0
  11. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +25 -1
  12. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +94 -0
  13. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +8 -35
  14. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +9 -12
  15. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +13 -0
  16. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +2 -34
  17. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +79 -59
  18. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +7 -0
  19. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +28 -3
  20. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +45 -3
  21. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py +21 -0
  22. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +5 -0
  23. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
  24. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +3 -0
  25. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +9 -0
  26. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +45 -1
  27. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +1 -20
  28. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +1 -20
  29. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +31 -7
  30. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
  31. scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py → scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +19 -17
  32. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/ridge.py +419 -0
  33. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +102 -0
  34. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +107 -0
  35. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +97 -0
  36. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +172 -0
  37. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +107 -0
  38. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +128 -0
  39. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +265 -0
  40. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +145 -0
  41. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +163 -0
  42. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +288 -0
  43. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +19 -21
  44. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +12 -20
  45. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/_utils.py +143 -20
  46. scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py +185 -0
  47. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +4 -0
  48. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +12 -4
  49. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +16 -13
  50. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +21 -9
  51. {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2024.7.0.dist-info}/METADATA +2 -2
  52. scikit_learn_intelex-2024.7.0.dist-info/RECORD +122 -0
  53. scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -257
  54. scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +0 -17
  55. scikit_learn_intelex-2024.6.0.dist-info/RECORD +0 -108
  56. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
  57. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  58. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/_utils.py +0 -0
  59. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  60. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +0 -0
  61. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  62. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  63. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  64. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  65. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  66. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  67. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  68. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  69. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  70. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  71. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  72. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +0 -0
  73. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -0
  74. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  75. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  76. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  77. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  78. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  79. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  80. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  81. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  82. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  83. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/cluster/__init__.py +0 -0
  84. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -0
  85. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -0
  86. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  87. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
  88. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  89. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  90. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -0
  91. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  92. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  93. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  94. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  95. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  96. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  97. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  98. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  99. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  100. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  101. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  102. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  103. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  104. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  105. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  106. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  107. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  108. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
  109. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  110. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
  111. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  112. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
  113. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
  114. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
  115. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -0
  116. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  117. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  118. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  119. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/utils/_namespace.py +0 -0
  120. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  121. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -0
  122. {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2024.7.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
  123. {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2024.7.0.dist-info}/LICENSE.txt +0 -0
  124. {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2024.7.0.dist-info}/WHEEL +0 -0
  125. {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2024.7.0.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ if daal_check_version((2024, "P", 1)):
28
28
  from sklearn.linear_model import LogisticRegression as sklearn_LogisticRegression
29
29
  from sklearn.metrics import accuracy_score
30
30
  from sklearn.utils.multiclass import type_of_target
31
- from sklearn.utils.validation import check_X_y
31
+ from sklearn.utils.validation import check_array, check_is_fitted, check_X_y
32
32
 
33
33
  from daal4py.sklearn._n_jobs_support import control_n_jobs
34
34
  from daal4py.sklearn._utils import sklearn_check_version
@@ -38,7 +38,8 @@ if daal_check_version((2024, "P", 1)):
38
38
 
39
39
  from .._device_offload import dispatch, wrap_output_data
40
40
  from .._utils import PatchingConditionsChain, get_patch_message
41
- from ..utils.validation import _assert_all_finite
41
+
42
+ _sparsity_enabled = daal_check_version((2024, "P", 700))
42
43
 
43
44
  class BaseLogisticRegression(ABC):
44
45
  def _save_attributes(self):
@@ -107,8 +108,6 @@ if daal_check_version((2024, "P", 1)):
107
108
  _onedal_cpu_fit = daal4py_fit
108
109
 
109
110
  def fit(self, X, y, sample_weight=None):
110
- if sklearn_check_version("1.0"):
111
- self._check_feature_names(X, reset=True)
112
111
  if sklearn_check_version("1.2"):
113
112
  self._validate_params()
114
113
  dispatch(
@@ -126,8 +125,6 @@ if daal_check_version((2024, "P", 1)):
126
125
 
127
126
  @wrap_output_data
128
127
  def predict(self, X):
129
- if sklearn_check_version("1.0"):
130
- self._check_feature_names(X, reset=False)
131
128
  return dispatch(
132
129
  self,
133
130
  "predict",
@@ -140,8 +137,6 @@ if daal_check_version((2024, "P", 1)):
140
137
 
141
138
  @wrap_output_data
142
139
  def predict_proba(self, X):
143
- if sklearn_check_version("1.0"):
144
- self._check_feature_names(X, reset=False)
145
140
  return dispatch(
146
141
  self,
147
142
  "predict_proba",
@@ -154,8 +149,6 @@ if daal_check_version((2024, "P", 1)):
154
149
 
155
150
  @wrap_output_data
156
151
  def predict_log_proba(self, X):
157
- if sklearn_check_version("1.0"):
158
- self._check_feature_names(X, reset=False)
159
152
  return dispatch(
160
153
  self,
161
154
  "predict_log_proba",
@@ -168,8 +161,6 @@ if daal_check_version((2024, "P", 1)):
168
161
 
169
162
  @wrap_output_data
170
163
  def score(self, X, y, sample_weight=None):
171
- if sklearn_check_version("1.0"):
172
- self._check_feature_names(X, reset=False)
173
164
  return dispatch(
174
165
  self,
175
166
  "score",
@@ -187,17 +178,6 @@ if daal_check_version((2024, "P", 1)):
187
178
  y, self._onedal_predict(X, queue=queue), sample_weight=sample_weight
188
179
  )
189
180
 
190
- def _test_type_and_finiteness(self, X_in):
191
- X = np.asarray(X_in)
192
-
193
- if np.iscomplexobj(X):
194
- return False
195
- try:
196
- _assert_all_finite(X)
197
- except BaseException:
198
- return False
199
- return True
200
-
201
181
  def _onedal_gpu_fit_supported(self, method_name, *data):
202
182
  assert method_name == "fit"
203
183
  assert len(data) == 3
@@ -208,7 +188,12 @@ if daal_check_version((2024, "P", 1)):
208
188
  f"sklearn.linear_model.{class_name}.fit"
209
189
  )
210
190
 
211
- dal_ready = patching_status.and_conditions(
191
+ target_type = (
192
+ type_of_target(y, input_name="y")
193
+ if sklearn_check_version("1.1")
194
+ else type_of_target(y)
195
+ )
196
+ patching_status.and_conditions(
212
197
  [
213
198
  (self.penalty == "l2", "Only l2 penalty is supported."),
214
199
  (self.dual == False, "dual=True is not supported."),
@@ -226,24 +211,12 @@ if daal_check_version((2024, "P", 1)):
226
211
  (self.l1_ratio is None, "l1 ratio is not supported."),
227
212
  (sample_weight is None, "Sample weight is not supported."),
228
213
  (
229
- type_of_target(y) == "binary",
214
+ target_type == "binary",
230
215
  "Only binary classification is supported",
231
216
  ),
232
217
  ]
233
218
  )
234
219
 
235
- if not dal_ready:
236
- return patching_status
237
-
238
- if not patching_status.and_condition(
239
- self._test_type_and_finiteness(X), "Input X is not supported."
240
- ):
241
- return patching_status
242
-
243
- patching_status.and_condition(
244
- self._test_type_and_finiteness(y), "Input y is not supported."
245
- )
246
-
247
220
  return patching_status
248
221
 
249
222
  def _onedal_gpu_predict_supported(self, method_name, *data):
@@ -267,7 +240,7 @@ if daal_check_version((2024, "P", 1)):
267
240
  [
268
241
  (n_samples > 0, "Number of samples is less than 1."),
269
242
  (
270
- not any([issparse(i) for i in data]),
243
+ (not any([issparse(i) for i in data])) or _sparsity_enabled,
271
244
  "Sparse input is not supported.",
272
245
  ),
273
246
  (not model_is_sparse, "Sparse coefficients are not supported."),
@@ -277,12 +250,6 @@ if daal_check_version((2024, "P", 1)):
277
250
  ),
278
251
  ]
279
252
  )
280
- if not dal_ready:
281
- return patching_status
282
-
283
- patching_status.and_condition(
284
- self._test_type_and_finiteness(*data), "Input X is not supported."
285
- )
286
253
 
287
254
  return patching_status
288
255
 
@@ -313,24 +280,29 @@ if daal_check_version((2024, "P", 1)):
313
280
  }
314
281
  self._onedal_estimator = onedal_LogisticRegression(**onedal_params)
315
282
 
316
- def _onedal_fit(self, X, y, sample_weight, queue=None):
283
+ def _onedal_fit(self, X, y, sample_weight=None, queue=None):
317
284
  if queue is None or queue.sycl_device.is_cpu:
318
285
  return self._onedal_cpu_fit(X, y, sample_weight)
319
286
 
320
287
  assert sample_weight is None
321
288
 
322
- check_params = {
323
- "X": X,
324
- "y": y,
325
- "dtype": [np.float64, np.float32],
326
- "accept_sparse": False,
327
- "multi_output": False,
328
- "force_all_finite": True,
329
- }
330
- if sklearn_check_version("1.2"):
331
- X, y = self._validate_data(**check_params)
289
+ if sklearn_check_version("1.0"):
290
+ X, y = self._validate_data(
291
+ X,
292
+ y,
293
+ accept_sparse=_sparsity_enabled,
294
+ accept_large_sparse=_sparsity_enabled,
295
+ dtype=[np.float64, np.float32],
296
+ )
332
297
  else:
333
- X, y = check_X_y(**check_params)
298
+ X, y = check_X_y(
299
+ X,
300
+ y,
301
+ accept_sparse=_sparsity_enabled,
302
+ accept_large_sparse=_sparsity_enabled,
303
+ dtype=[np.float64, np.float32],
304
+ )
305
+
334
306
  self._initialize_onedal_estimator()
335
307
  try:
336
308
  self._onedal_estimator.fit(X, y, queue=queue)
@@ -348,7 +320,23 @@ if daal_check_version((2024, "P", 1)):
348
320
  if queue is None or queue.sycl_device.is_cpu:
349
321
  return daal4py_predict(self, X, "computeClassLabels")
350
322
 
351
- X = self._validate_data(X, accept_sparse=False, reset=False)
323
+ check_is_fitted(self)
324
+ if sklearn_check_version("1.0"):
325
+ X = self._validate_data(
326
+ X,
327
+ reset=False,
328
+ accept_sparse=_sparsity_enabled,
329
+ accept_large_sparse=_sparsity_enabled,
330
+ dtype=[np.float64, np.float32],
331
+ )
332
+ else:
333
+ X = check_array(
334
+ X,
335
+ accept_sparse=_sparsity_enabled,
336
+ accept_large_sparse=_sparsity_enabled,
337
+ dtype=[np.float64, np.float32],
338
+ )
339
+
352
340
  assert hasattr(self, "_onedal_estimator")
353
341
  return self._onedal_estimator.predict(X, queue=queue)
354
342
 
@@ -356,7 +344,23 @@ if daal_check_version((2024, "P", 1)):
356
344
  if queue is None or queue.sycl_device.is_cpu:
357
345
  return daal4py_predict(self, X, "computeClassProbabilities")
358
346
 
359
- X = self._validate_data(X, accept_sparse=False, reset=False)
347
+ check_is_fitted(self)
348
+ if sklearn_check_version("1.0"):
349
+ X = self._validate_data(
350
+ X,
351
+ reset=False,
352
+ accept_sparse=_sparsity_enabled,
353
+ accept_large_sparse=_sparsity_enabled,
354
+ dtype=[np.float64, np.float32],
355
+ )
356
+ else:
357
+ X = check_array(
358
+ X,
359
+ accept_sparse=_sparsity_enabled,
360
+ accept_large_sparse=_sparsity_enabled,
361
+ dtype=[np.float64, np.float32],
362
+ )
363
+
360
364
  assert hasattr(self, "_onedal_estimator")
361
365
  return self._onedal_estimator.predict_proba(X, queue=queue)
362
366
 
@@ -364,7 +368,23 @@ if daal_check_version((2024, "P", 1)):
364
368
  if queue is None or queue.sycl_device.is_cpu:
365
369
  return daal4py_predict(self, X, "computeClassLogProbabilities")
366
370
 
367
- X = self._validate_data(X, accept_sparse=False, reset=False)
371
+ check_is_fitted(self)
372
+ if sklearn_check_version("1.0"):
373
+ X = self._validate_data(
374
+ X,
375
+ reset=False,
376
+ accept_sparse=_sparsity_enabled,
377
+ accept_large_sparse=_sparsity_enabled,
378
+ dtype=[np.float64, np.float32],
379
+ )
380
+ else:
381
+ X = check_array(
382
+ X,
383
+ accept_sparse=_sparsity_enabled,
384
+ accept_large_sparse=_sparsity_enabled,
385
+ dtype=[np.float64, np.float32],
386
+ )
387
+
368
388
  assert hasattr(self, "_onedal_estimator")
369
389
  return self._onedal_estimator.predict_log_proba(X, queue=queue)
370
390
 
@@ -15,3 +15,10 @@
15
15
  # ===============================================================================
16
16
 
17
17
  from daal4py.sklearn.linear_model import Ridge
18
+ from onedal._device_offload import support_usm_ndarray
19
+
20
+ # Note: `sklearnex.linear_model.Ridge` only has functional
21
+ # sycl GPU support. No GPU device will be offloaded.
22
+ Ridge.fit = support_usm_ndarray(queue_param=False)(Ridge.fit)
23
+ Ridge.predict = support_usm_ndarray(queue_param=False)(Ridge.predict)
24
+ Ridge.score = support_usm_ndarray(queue_param=False)(Ridge.score)
@@ -20,6 +20,10 @@ from numpy.testing import assert_allclose
20
20
  from sklearn.datasets import make_regression
21
21
 
22
22
  from daal4py.sklearn._utils import daal_check_version
23
+ from daal4py.sklearn.linear_model.tests.test_ridge import (
24
+ _test_multivariate_ridge_alpha_shape,
25
+ _test_multivariate_ridge_coefficients,
26
+ )
23
27
  from onedal.tests.utils._dataframes_support import (
24
28
  _as_numpy,
25
29
  _convert_to_dataframe,
@@ -57,32 +61,41 @@ def test_sklearnex_import_linear(dataframe, queue, dtype, macro_block):
57
61
  assert_allclose(_as_numpy(linreg.coef_), [1.0, 2.0], rtol=tol)
58
62
 
59
63
 
60
- def test_sklearnex_import_ridge():
64
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
65
+ def test_sklearnex_import_ridge(dataframe, queue):
61
66
  from sklearnex.linear_model import Ridge
62
67
 
63
68
  X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
64
69
  y = np.dot(X, np.array([1, 2])) + 3
70
+ X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
71
+ y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
65
72
  ridgereg = Ridge().fit(X, y)
66
73
  assert "daal4py" in ridgereg.__module__
67
74
  assert_allclose(ridgereg.intercept_, 4.5)
68
75
  assert_allclose(ridgereg.coef_, [0.8, 1.4])
69
76
 
70
77
 
71
- def test_sklearnex_import_lasso():
78
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
79
+ def test_sklearnex_import_lasso(dataframe, queue):
72
80
  from sklearnex.linear_model import Lasso
73
81
 
74
82
  X = [[0, 0], [1, 1], [2, 2]]
75
83
  y = [0, 1, 2]
84
+ X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
85
+ y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
76
86
  lasso = Lasso(alpha=0.1).fit(X, y)
77
87
  assert "daal4py" in lasso.__module__
78
88
  assert_allclose(lasso.intercept_, 0.15)
79
89
  assert_allclose(lasso.coef_, [0.85, 0.0])
80
90
 
81
91
 
82
- def test_sklearnex_import_elastic():
92
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
93
+ def test_sklearnex_import_elastic(dataframe, queue):
83
94
  from sklearnex.linear_model import ElasticNet
84
95
 
85
96
  X, y = make_regression(n_features=2, random_state=0)
97
+ X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
98
+ y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
86
99
  elasticnet = ElasticNet(random_state=0).fit(X, y)
87
100
  assert "daal4py" in elasticnet.__module__
88
101
  assert_allclose(elasticnet.intercept_, 1.451, atol=1e-3)
@@ -115,3 +128,15 @@ def test_sklearnex_reconstruct_model(dataframe, queue, dtype):
115
128
 
116
129
  tol = 1e-5 if _as_numpy(y_pred).dtype == np.float32 else 1e-7
117
130
  assert_allclose(gtr, _as_numpy(y_pred), rtol=tol)
131
+
132
+
133
+ def test_sklearnex_multivariate_ridge_coefs():
134
+ from sklearnex.linear_model import Ridge
135
+
136
+ _test_multivariate_ridge_coefficients(Ridge, random_state=0)
137
+
138
+
139
+ def test_sklearnex_multivariate_ridge_alpha_shape():
140
+ from sklearnex.linear_model import Ridge
141
+
142
+ _test_multivariate_ridge_alpha_shape(Ridge, random_state=0)
@@ -14,8 +14,11 @@
14
14
  # limitations under the License.
15
15
  # ===============================================================================
16
16
 
17
+ import numpy as np
17
18
  import pytest
18
- from sklearn.datasets import load_breast_cancer, load_iris
19
+ from numpy.testing import assert_allclose, assert_array_equal
20
+ from scipy.sparse import csr_matrix
21
+ from sklearn.datasets import load_breast_cancer, load_iris, make_classification
19
22
  from sklearn.metrics import accuracy_score
20
23
  from sklearn.model_selection import train_test_split
21
24
 
@@ -24,7 +27,9 @@ from onedal.tests.utils._dataframes_support import (
24
27
  _as_numpy,
25
28
  _convert_to_dataframe,
26
29
  get_dataframes_and_queues,
30
+ get_queues,
27
31
  )
32
+ from sklearnex import config_context
28
33
 
29
34
 
30
35
  def prepare_input(X, y, dataframe, queue):
@@ -38,8 +43,7 @@ def prepare_input(X, y, dataframe, queue):
38
43
 
39
44
 
40
45
  @pytest.mark.parametrize(
41
- "dataframe,queue",
42
- get_dataframes_and_queues(device_filter_="cpu"),
46
+ "dataframe,queue", get_dataframes_and_queues(device_filter_="cpu")
43
47
  )
44
48
  def test_sklearnex_multiclass_classification(dataframe, queue):
45
49
  from sklearnex.linear_model import LogisticRegression
@@ -89,3 +93,41 @@ def test_sklearnex_binary_classification(dataframe, queue):
89
93
 
90
94
  y_pred = _as_numpy(logreg.predict(X_test))
91
95
  assert accuracy_score(y_test, y_pred) > 0.95
96
+
97
+
98
+ if daal_check_version((2024, "P", 700)):
99
+
100
+ @pytest.mark.parametrize("queue", get_queues("gpu"))
101
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
102
+ @pytest.mark.parametrize(
103
+ "dims", [(3007, 17, 0.05), (50000, 100, 0.01), (512, 10, 0.5)]
104
+ )
105
+ def test_csr(queue, dtype, dims):
106
+ from sklearnex.linear_model import LogisticRegression
107
+
108
+ n, p, density = dims
109
+
110
+ # Create sparse dataset for classification
111
+ X, y = make_classification(n, p, random_state=42)
112
+ X = X.astype(dtype)
113
+ y = y.astype(dtype)
114
+ np.random.seed(2007 + n + p)
115
+ mask = np.random.binomial(1, density, (n, p))
116
+ X = X * mask
117
+ X_sp = csr_matrix(X)
118
+
119
+ model = LogisticRegression(fit_intercept=True, solver="newton-cg")
120
+ model_sp = LogisticRegression(fit_intercept=True, solver="newton-cg")
121
+
122
+ with config_context(target_offload="gpu:0"):
123
+ model.fit(X, y)
124
+ pred = model.predict(X)
125
+ prob = model.predict_proba(X)
126
+ model_sp.fit(X_sp, y)
127
+ pred_sp = model_sp.predict(X_sp)
128
+ prob_sp = model_sp.predict_proba(X_sp)
129
+
130
+ assert_allclose(pred, pred_sp)
131
+ assert_allclose(prob, prob_sp)
132
+ assert_allclose(model.coef_, model_sp.coef_, rtol=1e-4)
133
+ assert_allclose(model.intercept_, model_sp.intercept_, rtol=1e-4)
@@ -0,0 +1,21 @@
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 daal4py.sklearn.manifold import TSNE
18
+ from onedal._device_offload import support_usm_ndarray
19
+
20
+ TSNE.fit = support_usm_ndarray(queue_param=False)(TSNE.fit)
21
+ TSNE.fit_transform = support_usm_ndarray(queue_param=False)(TSNE.fit_transform)
@@ -15,3 +15,8 @@
15
15
  # ===============================================================================
16
16
 
17
17
  from daal4py.sklearn.metrics import pairwise_distances
18
+ from onedal._device_offload import support_usm_ndarray
19
+
20
+ pairwise_distances = support_usm_ndarray(freefunc=True, queue_param=False)(
21
+ pairwise_distances
22
+ )
@@ -15,3 +15,6 @@
15
15
  # ===============================================================================
16
16
 
17
17
  from daal4py.sklearn.metrics import roc_auc_score
18
+ from onedal._device_offload import support_usm_ndarray
19
+
20
+ roc_auc_score = support_usm_ndarray(freefunc=True, queue_param=False)(roc_auc_score)
@@ -15,3 +15,6 @@
15
15
  # ===============================================================================
16
16
 
17
17
  from daal4py.sklearn.model_selection import train_test_split
18
+ from onedal._device_offload import support_usm_ndarray
19
+
20
+ train_test_split = support_usm_ndarray(freefunc=True, queue_param=False)(train_test_split)
@@ -97,6 +97,15 @@ class LocalOutlierFactor(KNeighborsDispatchingBase, sklearn_LocalOutlierFactor):
97
97
  self.negative_outlier_factor_, 100.0 * self.contamination
98
98
  )
99
99
 
100
+ # adoption of warning for data with duplicated samples from
101
+ # https://github.com/scikit-learn/scikit-learn/pull/28773
102
+ if sklearn_check_version("1.6"):
103
+ if np.min(self.negative_outlier_factor_) < -1e7 and not self.novelty:
104
+ warnings.warn(
105
+ "Duplicate values are leading to incorrect results. "
106
+ "Increase the number of neighbors for more accurate results."
107
+ )
108
+
100
109
  return self
101
110
 
102
111
  def fit(self, X, y=None):
@@ -19,14 +19,16 @@ import warnings
19
19
  import numpy as np
20
20
  from scipy import sparse as sp
21
21
  from sklearn.neighbors._ball_tree import BallTree
22
- from sklearn.neighbors._base import VALID_METRICS
22
+ from sklearn.neighbors._base import VALID_METRICS, KNeighborsMixin
23
23
  from sklearn.neighbors._base import NeighborsBase as sklearn_NeighborsBase
24
24
  from sklearn.neighbors._kd_tree import KDTree
25
+ from sklearn.utils.validation import check_is_fitted
25
26
 
26
27
  from daal4py.sklearn._utils import sklearn_check_version
27
28
  from onedal.utils import _check_array, _num_features, _num_samples
28
29
 
29
30
  from .._utils import PatchingConditionsChain
31
+ from ..utils import get_namespace
30
32
 
31
33
 
32
34
  class KNeighborsDispatchingBase:
@@ -147,6 +149,10 @@ class KNeighborsDispatchingBase:
147
149
  patching_status = PatchingConditionsChain(
148
150
  f"sklearn.neighbors.{class_name}.{method_name}"
149
151
  )
152
+ if not patching_status.and_condition(
153
+ "radius" not in method_name, "RadiusNeighbors not implemented in sklearnex"
154
+ ):
155
+ return patching_status
150
156
 
151
157
  if not patching_status.and_condition(
152
158
  not isinstance(data[0], (KDTree, BallTree, sklearn_NeighborsBase)),
@@ -264,3 +270,41 @@ class KNeighborsDispatchingBase:
264
270
 
265
271
  def _onedal_cpu_supported(self, method_name, *data):
266
272
  return self._onedal_supported("cpu", method_name, *data)
273
+
274
+ def kneighbors_graph(self, X=None, n_neighbors=None, mode="connectivity"):
275
+ check_is_fitted(self)
276
+ if n_neighbors is None:
277
+ n_neighbors = self.n_neighbors
278
+
279
+ # check the input only in self.kneighbors
280
+
281
+ # construct CSR matrix representation of the k-NN graph
282
+ if mode == "connectivity":
283
+ A_ind = self.kneighbors(X, n_neighbors, return_distance=False)
284
+ xp, _ = get_namespace(A_ind)
285
+ n_queries = A_ind.shape[0]
286
+ A_data = xp.ones(n_queries * n_neighbors)
287
+
288
+ elif mode == "distance":
289
+ A_data, A_ind = self.kneighbors(X, n_neighbors, return_distance=True)
290
+ xp, _ = get_namespace(A_ind)
291
+ A_data = xp.reshape(A_data, (-1,))
292
+
293
+ else:
294
+ raise ValueError(
295
+ 'Unsupported mode, must be one of "connectivity", '
296
+ f'or "distance" but got "{mode}" instead'
297
+ )
298
+
299
+ n_queries = A_ind.shape[0]
300
+ n_samples_fit = self.n_samples_fit_
301
+ n_nonzero = n_queries * n_neighbors
302
+ A_indptr = xp.arange(0, n_nonzero + 1, n_neighbors)
303
+
304
+ kneighbors_graph = sp.csr_matrix(
305
+ (A_data, xp.reshape(A_ind, (-1,)), A_indptr), shape=(n_queries, n_samples_fit)
306
+ )
307
+
308
+ return kneighbors_graph
309
+
310
+ kneighbors_graph.__doc__ = KNeighborsMixin.kneighbors_graph.__doc__
@@ -32,7 +32,7 @@ from .common import KNeighborsDispatchingBase
32
32
  @control_n_jobs(
33
33
  decorated_methods=["fit", "predict", "predict_proba", "kneighbors", "score"]
34
34
  )
35
- class KNeighborsClassifier(sklearn_KNeighborsClassifier, KNeighborsDispatchingBase):
35
+ class KNeighborsClassifier(KNeighborsDispatchingBase, sklearn_KNeighborsClassifier):
36
36
  __doc__ = sklearn_KNeighborsClassifier.__doc__
37
37
  if sklearn_check_version("1.2"):
38
38
  _parameter_constraints: dict = {
@@ -169,24 +169,6 @@ class KNeighborsClassifier(sklearn_KNeighborsClassifier, KNeighborsDispatchingBa
169
169
  return_distance=return_distance,
170
170
  )
171
171
 
172
- @wrap_output_data
173
- def radius_neighbors(
174
- self, X=None, radius=None, return_distance=True, sort_results=False
175
- ):
176
- _onedal_estimator = getattr(self, "_onedal_estimator", None)
177
-
178
- if (
179
- _onedal_estimator is not None
180
- or getattr(self, "_tree", 0) is None
181
- and self._fit_method == "kd_tree"
182
- ):
183
- sklearn_NearestNeighbors.fit(self, self._fit_X, getattr(self, "_y", None))
184
- result = sklearn_NearestNeighbors.radius_neighbors(
185
- self, X, radius, return_distance, sort_results
186
- )
187
-
188
- return result
189
-
190
172
  def _onedal_fit(self, X, y, queue=None):
191
173
  onedal_params = {
192
174
  "n_neighbors": self.n_neighbors,
@@ -242,4 +224,3 @@ class KNeighborsClassifier(sklearn_KNeighborsClassifier, KNeighborsDispatchingBa
242
224
  predict_proba.__doc__ = sklearn_KNeighborsClassifier.predict_proba.__doc__
243
225
  score.__doc__ = sklearn_KNeighborsClassifier.score.__doc__
244
226
  kneighbors.__doc__ = sklearn_KNeighborsClassifier.kneighbors.__doc__
245
- radius_neighbors.__doc__ = sklearn_NearestNeighbors.radius_neighbors.__doc__
@@ -30,7 +30,7 @@ from .common import KNeighborsDispatchingBase
30
30
 
31
31
 
32
32
  @control_n_jobs(decorated_methods=["fit", "predict", "kneighbors"])
33
- class KNeighborsRegressor(sklearn_KNeighborsRegressor, KNeighborsDispatchingBase):
33
+ class KNeighborsRegressor(KNeighborsDispatchingBase, sklearn_KNeighborsRegressor):
34
34
  __doc__ = sklearn_KNeighborsRegressor.__doc__
35
35
  if sklearn_check_version("1.2"):
36
36
  _parameter_constraints: dict = {
@@ -152,24 +152,6 @@ class KNeighborsRegressor(sklearn_KNeighborsRegressor, KNeighborsDispatchingBase
152
152
  return_distance=return_distance,
153
153
  )
154
154
 
155
- @wrap_output_data
156
- def radius_neighbors(
157
- self, X=None, radius=None, return_distance=True, sort_results=False
158
- ):
159
- _onedal_estimator = getattr(self, "_onedal_estimator", None)
160
-
161
- if (
162
- _onedal_estimator is not None
163
- or getattr(self, "_tree", 0) is None
164
- and self._fit_method == "kd_tree"
165
- ):
166
- sklearn_NearestNeighbors.fit(self, self._fit_X, getattr(self, "_y", None))
167
- result = sklearn_NearestNeighbors.radius_neighbors(
168
- self, X, radius, return_distance, sort_results
169
- )
170
-
171
- return result
172
-
173
155
  def _onedal_fit(self, X, y, queue=None):
174
156
  onedal_params = {
175
157
  "n_neighbors": self.n_neighbors,
@@ -218,5 +200,4 @@ class KNeighborsRegressor(sklearn_KNeighborsRegressor, KNeighborsDispatchingBase
218
200
  fit.__doc__ = sklearn_KNeighborsRegressor.__doc__
219
201
  predict.__doc__ = sklearn_KNeighborsRegressor.predict.__doc__
220
202
  kneighbors.__doc__ = sklearn_KNeighborsRegressor.kneighbors.__doc__
221
- radius_neighbors.__doc__ = sklearn_NearestNeighbors.radius_neighbors.__doc__
222
203
  score.__doc__ = sklearn_KNeighborsRegressor.score.__doc__