scikit-learn-intelex 2025.1.0__py311-none-win_amd64.whl → 2025.4.0__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 (271) hide show
  1. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  2. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
  4. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/_device_offload.py +10 -28
  5. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  6. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  7. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
  8. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +34 -19
  9. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +16 -72
  10. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
  11. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
  12. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
  13. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +9 -16
  14. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
  15. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
  16. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
  17. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
  18. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
  19. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
  20. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
  21. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +10 -43
  22. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +83 -22
  23. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
  24. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
  25. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +87 -0
  26. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +20 -11
  27. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +86 -52
  28. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
  29. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
  30. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +70 -25
  31. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +64 -0
  32. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +13 -4
  33. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +21 -25
  34. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
  35. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/svm/svm.py +9 -9
  36. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
  37. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/utils/validation.py +38 -14
  38. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/_utils.py +58 -13
  39. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +39 -8
  40. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +7 -0
  41. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +171 -36
  42. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +79 -28
  43. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +2 -2
  44. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +4 -2
  45. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -2
  46. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +7 -0
  47. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +50 -0
  48. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +3 -1
  49. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
  50. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +2 -2
  51. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +23 -18
  52. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +25 -12
  53. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +15 -8
  54. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +8 -3
  55. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +15 -13
  56. {scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -424
  57. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +65 -5
  58. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
  59. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +11 -36
  60. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  61. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +5 -0
  62. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
  63. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +2 -2
  64. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
  65. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +6 -2
  66. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
  67. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +14 -3
  68. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
  69. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +3 -3
  70. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +6 -7
  71. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +3 -2
  72. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -14
  73. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +2 -2
  74. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +130 -29
  75. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
  76. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +7 -39
  77. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
  78. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -8
  79. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -2
  80. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +4 -0
  81. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +65 -0
  82. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
  83. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  84. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
  85. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.4.0.dist-info}/METADATA +38 -77
  86. scikit_learn_intelex-2025.4.0.dist-info/RECORD +259 -0
  87. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  88. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
  89. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  90. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  91. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
  92. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
  93. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
  94. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
  95. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
  96. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
  97. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
  98. scikit_learn_intelex-2025.1.0.dist-info/RECORD +0 -257
  99. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  100. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  101. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
  102. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
  103. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
  104. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  105. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
  106. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
  107. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  108. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
  109. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
  110. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  111. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  112. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
  113. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
  114. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
  115. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  116. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
  117. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  118. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  119. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
  120. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
  121. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
  122. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  123. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  124. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  125. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
  126. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  127. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  128. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  129. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  130. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
  131. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  132. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
  133. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  134. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  135. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  136. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  137. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  138. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
  139. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  140. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  141. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  142. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  143. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  144. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
  145. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
  146. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
  147. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  148. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  149. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  150. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
  151. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
  153. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  154. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  155. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
  156. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  157. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  158. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  159. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  160. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  161. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
  162. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  163. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  164. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
  165. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +0 -0
  166. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -0
  167. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  168. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  169. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  170. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  171. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  172. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  173. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  174. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  175. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  176. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  177. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  178. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
  180. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
  181. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  182. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
  183. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
  184. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
  185. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
  186. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
  187. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  188. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  189. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
  190. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
  191. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +0 -0
  192. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +0 -0
  193. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  195. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
  196. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +0 -0
  197. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  198. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  199. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  200. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  201. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  202. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  204. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  205. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  207. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  208. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  209. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
  210. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
  211. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  213. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  214. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  215. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  216. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  217. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
  218. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  219. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
  221. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
  222. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
  223. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
  224. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  225. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  227. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  229. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  230. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  231. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  233. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  234. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
  235. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  237. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  238. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +0 -0
  239. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
  240. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  241. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  242. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  243. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
  244. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
  245. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  247. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
  248. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  250. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  251. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  252. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
  253. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
  254. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  255. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
  256. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
  257. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  258. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
  259. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  260. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
  261. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
  262. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  263. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
  264. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  265. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  266. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  267. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  268. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.4.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  269. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.4.0.dist-info}/LICENSE.txt +0 -0
  270. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.4.0.dist-info}/WHEEL +0 -0
  271. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.4.0.dist-info}/top_level.txt +0 -0
@@ -41,7 +41,7 @@ def test_sklearnex_fit_on_gold_data(dataframe, queue, fit_intercept, macro_block
41
41
 
42
42
  inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
43
43
  if macro_block is not None:
44
- hparams = inclin.get_hyperparameters("fit")
44
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
45
45
  hparams.cpu_macro_block = macro_block
46
46
  hparams.gpu_macro_block = macro_block
47
47
  inclin.fit(X_df, y_df)
@@ -49,7 +49,7 @@ def test_sklearnex_fit_on_gold_data(dataframe, queue, fit_intercept, macro_block
49
49
  y_pred = inclin.predict(X_df)
50
50
  np_y_pred = _as_numpy(y_pred)
51
51
 
52
- tol = 2e-6 if dtype == np.float32 else 1e-7
52
+ tol = 5e-5 if dtype == np.float32 else 1e-7
53
53
  assert_allclose(inclin.coef_, [1], atol=tol)
54
54
  if fit_intercept:
55
55
  assert_allclose(inclin.intercept_, [0], atol=tol)
@@ -72,7 +72,7 @@ def test_sklearnex_partial_fit_on_gold_data(
72
72
 
73
73
  inclin = IncrementalLinearRegression()
74
74
  if macro_block is not None:
75
- hparams = inclin.get_hyperparameters("fit")
75
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
76
76
  hparams.cpu_macro_block = macro_block
77
77
  hparams.gpu_macro_block = macro_block
78
78
  for i in range(2):
@@ -113,7 +113,7 @@ def test_sklearnex_partial_fit_multitarget_on_gold_data(
113
113
 
114
114
  inclin = IncrementalLinearRegression()
115
115
  if macro_block is not None:
116
- hparams = inclin.get_hyperparameters("fit")
116
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
117
117
  hparams.cpu_macro_block = macro_block
118
118
  hparams.gpu_macro_block = macro_block
119
119
  for i in range(2):
@@ -176,7 +176,7 @@ def test_sklearnex_partial_fit_on_random_data(
176
176
 
177
177
  inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
178
178
  if macro_block is not None:
179
- hparams = inclin.get_hyperparameters("fit")
179
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
180
180
  hparams.cpu_macro_block = macro_block
181
181
  hparams.gpu_macro_block = macro_block
182
182
  for i in range(num_blocks):
@@ -205,3 +205,63 @@ def test_sklearnex_partial_fit_on_random_data(
205
205
  y_pred = inclin.predict(X_test_df)
206
206
 
207
207
  assert_allclose(expected_y_pred, _as_numpy(y_pred), atol=tol)
208
+
209
+
210
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
211
+ @pytest.mark.parametrize("fit_intercept", [True, False])
212
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
213
+ def test_sklearnex_incremental_estimatior_pickle(dataframe, queue, fit_intercept, dtype):
214
+ import pickle
215
+
216
+ from sklearnex.linear_model import IncrementalLinearRegression
217
+
218
+ inclin = IncrementalLinearRegression()
219
+
220
+ # Check that estimator can be serialized without any data.
221
+ dump = pickle.dumps(inclin)
222
+ inclin_loaded = pickle.loads(dump)
223
+
224
+ seed = 77
225
+ gen = np.random.default_rng(seed)
226
+ intercept = gen.random(size=1, dtype=dtype)
227
+ coef = gen.random(size=(1, 10), dtype=dtype).T
228
+ X = gen.uniform(low=-0.3, high=+0.7, size=(30, 10))
229
+ X = X.astype(dtype)
230
+ if fit_intercept:
231
+ y = X @ coef + intercept[np.newaxis, :]
232
+ else:
233
+ y = X @ coef
234
+ X_split = np.array_split(X, 2)
235
+ y_split = np.array_split(y, 2)
236
+ X_split_df = _convert_to_dataframe(X_split[0], sycl_queue=queue, target_df=dataframe)
237
+ y_split_df = _convert_to_dataframe(y_split[0], sycl_queue=queue, target_df=dataframe)
238
+ inclin.partial_fit(X_split_df, y_split_df)
239
+ inclin_loaded.partial_fit(X_split_df, y_split_df)
240
+
241
+ # Check that estimator can be serialized after partial_fit call.
242
+ dump = pickle.dumps(inclin_loaded)
243
+ inclin_loaded = pickle.loads(dump)
244
+
245
+ assert inclin.batch_size == inclin_loaded.batch_size
246
+ assert inclin.n_features_in_ == inclin_loaded.n_features_in_
247
+ assert inclin.n_samples_seen_ == inclin_loaded.n_samples_seen_
248
+ if hasattr(inclin, "_parameter_constraints"):
249
+ assert inclin._parameter_constraints == inclin_loaded._parameter_constraints
250
+ assert inclin.n_jobs == inclin_loaded.n_jobs
251
+
252
+ X_split_df = _convert_to_dataframe(X_split[1], sycl_queue=queue, target_df=dataframe)
253
+ y_split_df = _convert_to_dataframe(y_split[1], sycl_queue=queue, target_df=dataframe)
254
+ inclin.partial_fit(X_split_df, y_split_df)
255
+ inclin_loaded.partial_fit(X_split_df, y_split_df)
256
+ dump = pickle.dumps(inclin)
257
+ inclin_loaded = pickle.loads(dump)
258
+
259
+ assert_allclose(inclin.coef_, inclin_loaded.coef_, atol=1e-6)
260
+ assert_allclose(inclin.intercept_, inclin_loaded.intercept_, atol=1e-6)
261
+
262
+ # Check that finalized estimator can be serialized.
263
+ dump = pickle.dumps(inclin_loaded)
264
+ inclin_loaded = pickle.loads(dump)
265
+
266
+ assert_allclose(inclin.coef_, inclin_loaded.coef_, atol=1e-6)
267
+ assert_allclose(inclin.intercept_, inclin_loaded.intercept_, atol=1e-6)
@@ -151,3 +151,64 @@ if daal_check_version((2024, "P", 600)):
151
151
  y_pred_manual += intercept_manual
152
152
 
153
153
  assert_allclose(_as_numpy(y_pred), y_pred_manual, rtol=1e-6, atol=1e-6)
154
+
155
+
156
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
157
+ @pytest.mark.parametrize("fit_intercept", [True, False])
158
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
159
+ def test_sklearnex_incremental_estimatior_pickle(dataframe, queue, fit_intercept, dtype):
160
+ import pickle
161
+
162
+ from sklearnex.linear_model import IncrementalRidge
163
+
164
+ inc_ridge = IncrementalRidge()
165
+
166
+ # Check that estimator can be serialized without any data.
167
+ dump = pickle.dumps(inc_ridge)
168
+ inc_ridge_loaded = pickle.loads(dump)
169
+
170
+ seed = 77
171
+ gen = np.random.default_rng(seed)
172
+ intercept = gen.random(size=1, dtype=dtype)
173
+ coef = gen.random(size=(1, 10), dtype=dtype).T
174
+ X = gen.uniform(low=-0.3, high=+0.7, size=(30, 10))
175
+ X = X.astype(dtype)
176
+ if fit_intercept:
177
+ y = X @ coef + intercept[np.newaxis, :]
178
+ else:
179
+ y = X @ coef
180
+ X_split = np.array_split(X, 2)
181
+ y_split = np.array_split(y, 2)
182
+ X_split_df = _convert_to_dataframe(X_split[0], sycl_queue=queue, target_df=dataframe)
183
+ y_split_df = _convert_to_dataframe(y_split[0], sycl_queue=queue, target_df=dataframe)
184
+ inc_ridge.partial_fit(X_split_df, y_split_df)
185
+ inc_ridge_loaded.partial_fit(X_split_df, y_split_df)
186
+
187
+ # Check that estimator can be serialized after partial_fit call.
188
+ dump = pickle.dumps(inc_ridge_loaded)
189
+ inc_ridge_loaded = pickle.loads(dump)
190
+
191
+ assert inc_ridge.batch_size == inc_ridge_loaded.batch_size
192
+ assert inc_ridge.n_features_in_ == inc_ridge_loaded.n_features_in_
193
+ assert inc_ridge.n_samples_seen_ == inc_ridge_loaded.n_samples_seen_
194
+ assert inc_ridge.alpha == inc_ridge_loaded.alpha
195
+ if hasattr(inc_ridge, "_parameter_constraints"):
196
+ assert inc_ridge._parameter_constraints == inc_ridge_loaded._parameter_constraints
197
+ assert inc_ridge.n_jobs == inc_ridge_loaded.n_jobs
198
+
199
+ X_split_df = _convert_to_dataframe(X_split[1], sycl_queue=queue, target_df=dataframe)
200
+ y_split_df = _convert_to_dataframe(y_split[1], sycl_queue=queue, target_df=dataframe)
201
+ inc_ridge.partial_fit(X_split_df, y_split_df)
202
+ inc_ridge_loaded.partial_fit(X_split_df, y_split_df)
203
+ dump = pickle.dumps(inc_ridge)
204
+ inc_ridge_loaded = pickle.loads(dump)
205
+
206
+ assert_allclose(inc_ridge.coef_, inc_ridge_loaded.coef_, atol=1e-6)
207
+ assert_allclose(inc_ridge.intercept_, inc_ridge_loaded.intercept_, atol=1e-6)
208
+
209
+ # Check that finalized estimator can be serialized.
210
+ dump = pickle.dumps(inc_ridge_loaded)
211
+ inc_ridge_loaded = pickle.loads(dump)
212
+
213
+ assert_allclose(inc_ridge.coef_, inc_ridge_loaded.coef_, atol=1e-6)
214
+ assert_allclose(inc_ridge.intercept_, inc_ridge_loaded.intercept_, atol=1e-6)
@@ -21,10 +21,6 @@ from scipy.linalg import lstsq
21
21
  from sklearn.datasets import make_regression
22
22
 
23
23
  from daal4py.sklearn._utils import daal_check_version
24
- from daal4py.sklearn.linear_model.tests.test_ridge import (
25
- _test_multivariate_ridge_alpha_shape,
26
- _test_multivariate_ridge_coefficients,
27
- )
28
24
  from onedal.tests.utils._dataframes_support import (
29
25
  _as_numpy,
30
26
  _convert_to_dataframe,
@@ -41,15 +37,20 @@ from sklearnex.tests.utils import _IS_INTEL
41
37
  def test_sklearnex_import_linear(
42
38
  dataframe, queue, dtype, macro_block, overdetermined, multi_output
43
39
  ):
44
- if (overdetermined or multi_output) and not daal_check_version((2025, "P", 1)):
45
- pytest.skip()
46
- if overdetermined and queue and queue.sycl_device.is_gpu:
47
- pytest.skip()
40
+ if (not overdetermined or multi_output) and not daal_check_version((2025, "P", 1)):
41
+ pytest.skip("Functionality introduced in later versions")
42
+ if (
43
+ not overdetermined
44
+ and queue
45
+ and queue.sycl_device.is_gpu
46
+ and not daal_check_version((2025, "P", 200))
47
+ ):
48
+ pytest.skip("Functionality introduced in later versions")
48
49
 
49
50
  from sklearnex.linear_model import LinearRegression
50
51
 
51
52
  rng = np.random.default_rng(seed=123)
52
- X = rng.standard_normal(size=(10, 20) if overdetermined else (20, 5))
53
+ X = rng.standard_normal(size=(10, 20) if not overdetermined else (20, 5))
53
54
  y = rng.standard_normal(size=(X.shape[0], 3) if multi_output else X.shape[0])
54
55
 
55
56
  Xi = np.c_[X, np.ones((X.shape[0], 1))]
@@ -61,7 +62,7 @@ def test_sklearnex_import_linear(
61
62
 
62
63
  linreg = LinearRegression()
63
64
  if daal_check_version((2024, "P", 0)) and macro_block is not None:
64
- hparams = linreg.get_hyperparameters("fit")
65
+ hparams = LinearRegression.get_hyperparameters("fit")
65
66
  hparams.cpu_macro_block = macro_block
66
67
  hparams.gpu_macro_block = macro_block
67
68
 
@@ -86,20 +87,6 @@ def test_sklearnex_import_linear(
86
87
  assert_allclose(linreg_list.intercept_, linreg.intercept_)
87
88
 
88
89
 
89
- @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
90
- def test_sklearnex_import_ridge(dataframe, queue):
91
- from sklearnex.linear_model import Ridge
92
-
93
- X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
94
- y = np.dot(X, np.array([1, 2])) + 3
95
- X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
96
- y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
97
- ridgereg = Ridge().fit(X, y)
98
- assert "daal4py" in ridgereg.__module__
99
- assert_allclose(ridgereg.intercept_, 4.5)
100
- assert_allclose(ridgereg.coef_, [0.8, 1.4])
101
-
102
-
103
90
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
104
91
  def test_sklearnex_import_lasso(dataframe, queue):
105
92
  from sklearnex.linear_model import Lasso
@@ -153,15 +140,3 @@ def test_sklearnex_reconstruct_model(dataframe, queue, dtype):
153
140
 
154
141
  tol = 1e-5 if _as_numpy(y_pred).dtype == np.float32 else 1e-7
155
142
  assert_allclose(gtr, _as_numpy(y_pred), rtol=tol)
156
-
157
-
158
- def test_sklearnex_multivariate_ridge_coefs():
159
- from sklearnex.linear_model import Ridge
160
-
161
- _test_multivariate_ridge_coefficients(Ridge, random_state=0)
162
-
163
-
164
- def test_sklearnex_multivariate_ridge_alpha_shape():
165
- from sklearnex.linear_model import Ridge
166
-
167
- _test_multivariate_ridge_alpha_shape(Ridge, random_state=0)
@@ -0,0 +1,256 @@
1
+ # ===============================================================================
2
+ # Copyright 2024 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ===============================================================================
16
+
17
+ import numpy as np
18
+ import pytest
19
+ from numpy.testing import assert_allclose
20
+ from sklearn.exceptions import NotFittedError
21
+
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
+ )
27
+ from onedal.tests.utils._dataframes_support import (
28
+ _as_numpy,
29
+ _convert_to_dataframe,
30
+ get_dataframes_and_queues,
31
+ )
32
+
33
+
34
+ def _compute_ridge_coefficients(X, y, alpha, fit_intercept):
35
+ """
36
+ Computes Ridge regression coefficients for single or multiple target variables.
37
+
38
+ Parameters:
39
+ X : array-like of shape (n_samples, n_features)
40
+ Training data.
41
+ y : array-like of shape (n_samples,) or (n_samples, n_targets)
42
+ Target values.
43
+ alpha : float
44
+ Regularization strength.
45
+ fit_intercept : bool
46
+ Whether to calculate the intercept for this model.
47
+
48
+ Returns:
49
+ coeffs : ndarray of shape (n_features, n_targets)
50
+ Estimated coefficients for each target variable.
51
+ intercept : ndarray of shape (n_targets,)
52
+ Intercept terms for each target variable.
53
+ """
54
+ n_samples, n_features = X.shape
55
+ X_copy = X.copy()
56
+ y = np.asarray(y)
57
+
58
+ # making single-target y also multi-dim array for consistency
59
+ if y.ndim == 1:
60
+ y = y[:, np.newaxis]
61
+ n_targets = y.shape[1]
62
+
63
+ if fit_intercept:
64
+ # adding column of ones to X for the intercept term
65
+ X_copy = np.hstack([np.ones((n_samples, 1)), X])
66
+ identity_matrix = np.diag([0] + [1] * n_features)
67
+ else:
68
+ identity_matrix = np.eye(n_features)
69
+
70
+ # normal equation: (X^T * X + alpha * I) * w = X^T * y
71
+ A = X_copy.T @ X_copy + alpha * identity_matrix
72
+ b = X_copy.T @ y
73
+ coeffs = np.linalg.solve(A, b)
74
+
75
+ if fit_intercept:
76
+ intercept = coeffs[0, :] # Shape (n_targets,)
77
+ coeffs = coeffs[1:, :] # Shape (n_features, n_targets)
78
+ else:
79
+ intercept = np.zeros((n_targets,)) # Shape (n_targets,)
80
+
81
+ # in case of single target, flattening both coefficients and intercept
82
+ if n_targets == 1:
83
+ coeffs = coeffs.flatten()
84
+ intercept = intercept[0]
85
+ else:
86
+ coeffs = coeffs.T
87
+
88
+ return coeffs, intercept
89
+
90
+
91
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
92
+ def test_sklearnex_import_ridge(dataframe, queue):
93
+ from sklearnex.linear_model import Ridge
94
+
95
+ X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
96
+ y = np.dot(X, np.array([1, 2])) + 3
97
+ X_c = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
98
+ y_c = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
99
+ ridge_reg = Ridge(alpha=0.5).fit(X_c, y_c)
100
+
101
+ if daal_check_version((2024, "P", 600)):
102
+ assert (
103
+ "sklearnex" in ridge_reg.__module__ and "preview" not in ridge_reg.__module__
104
+ )
105
+ else:
106
+ assert "daal4py" in ridge_reg.__module__
107
+
108
+ assert_allclose(ridge_reg.intercept_, 3.86, rtol=1e-2)
109
+ assert_allclose(ridge_reg.coef_, [0.91, 1.64], rtol=1e-2)
110
+
111
+
112
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
113
+ @pytest.mark.parametrize("sample_size", [100, 1000])
114
+ @pytest.mark.parametrize("feature_size", [10, 50])
115
+ @pytest.mark.parametrize("alpha", [0.1, 0.5, 1.0])
116
+ @pytest.mark.parametrize("fit_intercept", [True, False])
117
+ def test_ridge_coefficients(
118
+ dataframe, queue, sample_size, feature_size, alpha, fit_intercept
119
+ ):
120
+ from sklearnex.linear_model import Ridge
121
+
122
+ X = np.random.rand(sample_size, feature_size)
123
+ y = np.random.rand(sample_size)
124
+ X_c = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
125
+ y_c = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
126
+ ridge_reg = Ridge(fit_intercept=fit_intercept, alpha=alpha).fit(X_c, y_c)
127
+
128
+ coefficients_manual, intercept_manual = _compute_ridge_coefficients(
129
+ X, y, alpha, fit_intercept=fit_intercept
130
+ )
131
+
132
+ assert_allclose(ridge_reg.coef_, coefficients_manual, rtol=1e-6, atol=1e-6)
133
+ assert_allclose(ridge_reg.intercept_, intercept_manual, rtol=1e-6, atol=1e-6)
134
+
135
+
136
+ @pytest.mark.skipif(
137
+ not daal_check_version((2024, "P", 600)), reason="requires onedal 2024.6.0 or higher"
138
+ )
139
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
140
+ def test_ridge_score_before_fit(dataframe, queue):
141
+ from sklearnex.linear_model import Ridge
142
+
143
+ sample_count, feature_count = 10, 5
144
+
145
+ model = Ridge(fit_intercept=True, alpha=0.5)
146
+
147
+ X, y = np.random.rand(sample_count, feature_count), np.random.rand(sample_count)
148
+ X_c = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
149
+ y_c = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
150
+
151
+ with pytest.raises(NotFittedError):
152
+ model.score(X_c, y_c)
153
+
154
+
155
+ @pytest.mark.skipif(
156
+ not daal_check_version((2024, "P", 600)), reason="requires onedal 2024.6.0 or higher"
157
+ )
158
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
159
+ def test_ridge_predict_before_fit(dataframe, queue):
160
+ from sklearnex.linear_model import Ridge
161
+
162
+ sample_count, feature_count = 10, 5
163
+
164
+ model = Ridge(fit_intercept=True, alpha=0.5)
165
+
166
+ X = np.random.rand(sample_count, feature_count)
167
+ X_c = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
168
+
169
+ with pytest.raises(NotFittedError):
170
+ model.predict(X_c)
171
+
172
+
173
+ @pytest.mark.skip(reason="Forced to use original sklearn for now.")
174
+ def test_sklearnex_multivariate_ridge_coefs():
175
+ from sklearnex.linear_model import Ridge
176
+
177
+ _test_multivariate_ridge_coefficients(Ridge, random_state=0)
178
+
179
+
180
+ @pytest.mark.skip(reason="Forced to use original sklearn for now.")
181
+ def test_sklearnex_multivariate_ridge_alpha_shape():
182
+ from sklearnex.linear_model import Ridge
183
+
184
+ _test_multivariate_ridge_alpha_shape(Ridge, random_state=0)
185
+
186
+
187
+ @pytest.mark.skipif(
188
+ not daal_check_version((2025, "P", 100)), reason="requires onedal 2025.1.0 or higher"
189
+ )
190
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
191
+ @pytest.mark.parametrize("overdetermined", [True, False])
192
+ @pytest.mark.parametrize("alpha", [0.00001, 0.1, 1.0])
193
+ @pytest.mark.parametrize("fit_intercept", [True, False])
194
+ def test_ridge_overdetermined_system(
195
+ dataframe, queue, overdetermined, alpha, fit_intercept
196
+ ):
197
+ from sklearnex.linear_model import Ridge
198
+
199
+ if overdetermined:
200
+ X = np.random.rand(100, 10)
201
+ y = np.random.rand(100)
202
+ else:
203
+ X = np.random.rand(10, 100)
204
+ y = np.random.rand(10)
205
+
206
+ X_c = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
207
+ y_c = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
208
+ ridge_reg = Ridge(alpha=alpha, fit_intercept=fit_intercept).fit(X_c, y_c)
209
+
210
+ coefficients_manual, intercept_manual = _compute_ridge_coefficients(
211
+ X, y, alpha, fit_intercept=fit_intercept
212
+ )
213
+
214
+ assert_allclose(ridge_reg.coef_, coefficients_manual, rtol=1e-6, atol=1e-6)
215
+ assert_allclose(ridge_reg.intercept_, intercept_manual, rtol=1e-6, atol=1e-6)
216
+
217
+
218
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
219
+ @pytest.mark.parametrize("fit_intercept", [True, False])
220
+ @pytest.mark.parametrize("alpha", [0.1, 0.5, 1.0])
221
+ def test_multivariate_ridge_scalar_alpha(dataframe, queue, fit_intercept, alpha):
222
+ from sklearn.datasets import make_regression
223
+
224
+ from sklearnex.linear_model import Ridge
225
+
226
+ X, y = make_regression(n_samples=10, n_features=3, n_targets=3, random_state=0)
227
+ X_c = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
228
+ y_c = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
229
+ ridge = Ridge(alpha=alpha, fit_intercept=fit_intercept)
230
+ ridge.fit(X_c, y_c)
231
+
232
+ coef_manual, intercept = _compute_ridge_coefficients(X, y, alpha, fit_intercept)
233
+ assert_allclose(ridge.coef_, coef_manual, rtol=1e-6, atol=1e-6)
234
+ assert_allclose(ridge.intercept_, intercept, rtol=1e-6, atol=1e-6)
235
+
236
+ predictions = _as_numpy(ridge.predict(X_c))
237
+ predictions_manual = X @ coef_manual.T + intercept
238
+ assert_allclose(predictions, predictions_manual, rtol=1e-6, atol=1e-6)
239
+
240
+
241
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
242
+ def test_underdetermined_positive_alpha_ridge(dataframe, queue):
243
+ from sklearn.datasets import make_regression
244
+
245
+ from sklearnex.linear_model import Ridge
246
+
247
+ X, y = make_regression(n_samples=5, n_features=6, n_targets=1, random_state=0)
248
+ alpha = 1.0
249
+ X_c = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
250
+ y_c = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
251
+ ridge = Ridge(alpha=alpha, fit_intercept=True).fit(X_c, y_c)
252
+
253
+ coef_manual, intercept = _compute_ridge_coefficients(X, y, alpha, fit_intercept=True)
254
+
255
+ assert_allclose(ridge.coef_, coef_manual, rtol=1e-6, atol=1e-6)
256
+ assert_allclose(ridge.intercept_, intercept, rtol=1e-6, atol=1e-6)
@@ -14,8 +14,13 @@
14
14
  # limitations under the License.
15
15
  # ===============================================================================
16
16
 
17
+ from daal4py.sklearn._n_jobs_support import control_n_jobs
17
18
  from daal4py.sklearn.manifold import TSNE
18
19
  from onedal._device_offload import support_input_format
19
20
 
21
+ from .._utils import PatchableEstimator
22
+
20
23
  TSNE.fit = support_input_format(queue_param=False)(TSNE.fit)
21
24
  TSNE.fit_transform = support_input_format(queue_param=False)(TSNE.fit_transform)
25
+ TSNE._doc_link_module = "daal4py"
26
+ TSNE._doc_link_template = PatchableEstimator._doc_link_template