scikit-learn-intelex 2025.1.0__py312-none-win_amd64.whl → 2025.2.0__py312-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 (270) hide show
  1. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
  2. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +10 -28
  5. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
  6. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
  7. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.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.2.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.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
  11. scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
  13. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +9 -16
  14. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
  16. scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
  18. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
  20. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
  21. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.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.2.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.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
  25. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +20 -11
  27. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.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.2.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.2.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.2.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.2.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.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +21 -25
  34. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +9 -9
  36. scikit_learn_intelex-2025.2.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.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +38 -14
  38. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +19 -8
  39. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.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.2.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.2.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.2.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.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +2 -0
  44. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -2
  45. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +7 -0
  46. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +50 -0
  47. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
  48. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +23 -18
  49. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +25 -12
  50. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +7 -0
  51. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +1 -1
  52. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +11 -11
  53. {scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -424
  54. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +65 -5
  55. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
  56. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +11 -36
  57. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  58. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
  59. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
  60. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
  61. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +12 -1
  62. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
  63. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +3 -3
  64. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +6 -7
  65. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +3 -2
  66. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -14
  67. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +130 -29
  68. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
  69. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +7 -39
  70. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
  71. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -8
  72. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -2
  73. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +4 -0
  74. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +65 -0
  75. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
  76. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  77. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
  78. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/METADATA +2 -2
  79. scikit_learn_intelex-2025.2.0.dist-info/RECORD +259 -0
  80. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
  81. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
  82. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
  83. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
  84. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
  85. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
  86. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
  87. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
  88. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
  89. scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
  90. scikit_learn_intelex-2025.1.0.dist-info/RECORD +0 -257
  91. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  92. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  93. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
  94. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
  95. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
  96. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  97. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
  98. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
  99. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  100. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
  101. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
  102. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  103. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  104. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
  105. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
  106. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
  107. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  108. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
  109. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  110. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  111. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
  112. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
  113. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
  114. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  115. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  116. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  117. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
  118. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  119. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  120. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  121. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  122. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
  123. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  124. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
  125. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  126. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  127. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  128. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  129. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  130. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
  131. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  132. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  133. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  134. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  135. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  136. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
  137. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
  138. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
  139. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  140. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  141. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  142. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
  143. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  144. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
  145. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  146. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  147. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
  148. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  150. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  151. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  152. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  153. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
  154. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  155. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  156. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
  157. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +0 -0
  158. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -0
  159. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  160. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  161. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  162. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  163. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  164. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  165. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  166. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  167. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  168. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  169. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  170. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  171. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
  172. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
  173. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  174. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
  175. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
  176. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
  177. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
  178. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
  179. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  180. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  181. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
  182. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
  183. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +0 -0
  184. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +0 -0
  185. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
  186. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  187. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
  188. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +0 -0
  189. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  190. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  191. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -0
  192. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  193. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  194. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  196. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -0
  197. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  198. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  199. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  200. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +0 -0
  201. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  202. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  203. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  204. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
  205. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
  206. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  207. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
  208. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  209. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  210. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  211. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  212. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  213. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
  214. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  215. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
  217. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +0 -0
  218. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
  219. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
  220. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
  221. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  222. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  223. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
  224. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  225. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  227. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  228. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  229. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  231. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  232. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
  233. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  235. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  236. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +0 -0
  237. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
  238. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  240. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  241. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
  242. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
  243. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  244. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  245. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
  246. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  247. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  248. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  249. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  250. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
  251. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
  252. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  253. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
  254. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
  255. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  256. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
  257. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
  258. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
  259. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
  260. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
  261. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  262. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
  263. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  264. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  265. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  266. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  267. {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  268. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
  269. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
  270. {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
@@ -17,19 +17,30 @@
17
17
  import numpy as np
18
18
  import pytest
19
19
  from numpy.testing import assert_allclose
20
+ from scipy import sparse as sp
20
21
 
21
22
  from daal4py.sklearn._utils import daal_check_version
22
- from onedal.basic_statistics.tests.test_basic_statistics import (
23
- expected_max,
24
- expected_mean,
25
- expected_sum,
26
- options_and_tests,
27
- )
23
+ from onedal.basic_statistics.tests.utils import options_and_tests
28
24
  from onedal.tests.utils._dataframes_support import (
29
25
  _convert_to_dataframe,
30
26
  get_dataframes_and_queues,
27
+ get_queues,
31
28
  )
29
+ from sklearnex import config_context
32
30
  from sklearnex.basic_statistics import BasicStatistics
31
+ from sklearnex.tests.utils import gen_sparse_dataset
32
+
33
+
34
+ # Compute the basic statistics on sparse data on CPU or GPU depending on the queue
35
+ def compute_sparse_result(X_sparse, options, queue):
36
+ if queue is not None and queue.sycl_device.is_gpu:
37
+ with config_context(target_offload="gpu"):
38
+ basicstat = BasicStatistics(result_options=options)
39
+ result = basicstat.fit(X_sparse)
40
+ else:
41
+ basicstat = BasicStatistics(result_options=options)
42
+ result = basicstat.fit(X_sparse)
43
+ return result
33
44
 
34
45
 
35
46
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
@@ -46,9 +57,9 @@ def test_sklearnex_import_basic_statistics(dataframe, queue):
46
57
  expected_min = np.array([0, 0])
47
58
  expected_max = np.array([1, 1])
48
59
 
49
- assert_allclose(expected_mean, result.mean)
50
- assert_allclose(expected_max, result.max)
51
- assert_allclose(expected_min, result.min)
60
+ assert_allclose(expected_mean, result.mean_)
61
+ assert_allclose(expected_max, result.max_)
62
+ assert_allclose(expected_min, result.min_)
52
63
 
53
64
  result = BasicStatistics().fit(X_df, sample_weight=weights_df)
54
65
 
@@ -56,9 +67,9 @@ def test_sklearnex_import_basic_statistics(dataframe, queue):
56
67
  expected_weighted_min = np.array([0, 0])
57
68
  expected_weighted_max = np.array([0.5, 0.5])
58
69
 
59
- assert_allclose(expected_weighted_mean, result.mean)
60
- assert_allclose(expected_weighted_min, result.min)
61
- assert_allclose(expected_weighted_max, result.max)
70
+ assert_allclose(expected_weighted_mean, result.mean_)
71
+ assert_allclose(expected_weighted_min, result.min_)
72
+ assert_allclose(expected_weighted_max, result.max_)
62
73
 
63
74
 
64
75
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
@@ -83,28 +94,28 @@ def test_multiple_options_on_gold_data(dataframe, queue, weighted, dtype):
83
94
  expected_weighted_mean = np.array([0.25, 0.25])
84
95
  expected_weighted_min = np.array([0, 0])
85
96
  expected_weighted_max = np.array([0.5, 0.5])
86
- assert_allclose(expected_weighted_mean, result.mean)
87
- assert_allclose(expected_weighted_max, result.max)
88
- assert_allclose(expected_weighted_min, result.min)
97
+ assert_allclose(expected_weighted_mean, result.mean_)
98
+ assert_allclose(expected_weighted_max, result.max_)
99
+ assert_allclose(expected_weighted_min, result.min_)
89
100
  else:
90
101
  expected_mean = np.array([0.5, 0.5])
91
102
  expected_min = np.array([0, 0])
92
103
  expected_max = np.array([1, 1])
93
- assert_allclose(expected_mean, result.mean)
94
- assert_allclose(expected_max, result.max)
95
- assert_allclose(expected_min, result.min)
104
+ assert_allclose(expected_mean, result.mean_)
105
+ assert_allclose(expected_max, result.max_)
106
+ assert_allclose(expected_min, result.min_)
96
107
 
97
108
 
98
109
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
99
- @pytest.mark.parametrize("option", options_and_tests)
110
+ @pytest.mark.parametrize("result_option", options_and_tests.keys())
100
111
  @pytest.mark.parametrize("row_count", [100, 1000])
101
112
  @pytest.mark.parametrize("column_count", [10, 100])
102
113
  @pytest.mark.parametrize("weighted", [True, False])
103
114
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
104
115
  def test_single_option_on_random_data(
105
- dataframe, queue, option, row_count, column_count, weighted, dtype
116
+ dataframe, queue, result_option, row_count, column_count, weighted, dtype
106
117
  ):
107
- result_option, function, tols = option
118
+ function, tols = options_and_tests[result_option]
108
119
  fp32tol, fp64tol = tols
109
120
  seed = 77
110
121
  gen = np.random.default_rng(seed)
@@ -122,7 +133,7 @@ def test_single_option_on_random_data(
122
133
  else:
123
134
  result = basicstat.fit(X_df)
124
135
 
125
- res = getattr(result, result_option)
136
+ res = getattr(result, result_option + "_")
126
137
  if weighted:
127
138
  weighted_data = np.diag(weights) @ X
128
139
  gtr = function(weighted_data)
@@ -133,6 +144,49 @@ def test_single_option_on_random_data(
133
144
  assert_allclose(gtr, res, atol=tol)
134
145
 
135
146
 
147
+ @pytest.mark.parametrize("queue", get_queues())
148
+ @pytest.mark.parametrize("result_option", options_and_tests.keys())
149
+ @pytest.mark.parametrize("row_count", [500, 2000])
150
+ @pytest.mark.parametrize("column_count", [10, 100])
151
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
152
+ def test_single_option_on_random_sparse_data(
153
+ queue, result_option, row_count, column_count, dtype
154
+ ):
155
+ if not daal_check_version((2025, "P", 200)) and result_option in [
156
+ "max",
157
+ "sum_squares",
158
+ ]:
159
+ pytest.skip(
160
+ "'max' and 'sum_squares' calculate using a subset of the data in oneDAL version < 2025.2"
161
+ )
162
+
163
+ function, tols = options_and_tests[result_option]
164
+ fp32tol, fp64tol = tols
165
+ seed = 77
166
+
167
+ gen = np.random.default_rng(seed)
168
+
169
+ X_sparse = gen_sparse_dataset(
170
+ row_count,
171
+ column_count,
172
+ density=0.01,
173
+ format="csr",
174
+ dtype=dtype,
175
+ random_state=gen,
176
+ )
177
+
178
+ X_dense = X_sparse.toarray()
179
+
180
+ result = compute_sparse_result(X_sparse, result_option, queue)
181
+
182
+ res = getattr(result, result_option + "_")
183
+
184
+ gtr = function(X_dense)
185
+
186
+ tol = fp32tol if res.dtype == np.float32 else fp64tol
187
+ assert_allclose(gtr, res, atol=tol)
188
+
189
+
136
190
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
137
191
  @pytest.mark.parametrize("row_count", [100, 1000])
138
192
  @pytest.mark.parametrize("column_count", [10, 100])
@@ -157,19 +211,19 @@ def test_multiple_options_on_random_data(
157
211
  else:
158
212
  result = basicstat.fit(X_df)
159
213
 
160
- res_mean, res_max, res_sum = result.mean, result.max, result.sum
214
+ res_mean, res_max, res_sum = result.mean_, result.max_, result.sum_
161
215
  if weighted:
162
216
  weighted_data = np.diag(weights) @ X
163
217
  gtr_mean, gtr_max, gtr_sum = (
164
- expected_mean(weighted_data),
165
- expected_max(weighted_data),
166
- expected_sum(weighted_data),
218
+ options_and_tests["mean"][0](weighted_data),
219
+ options_and_tests["max"][0](weighted_data),
220
+ options_and_tests["sum"][0](weighted_data),
167
221
  )
168
222
  else:
169
223
  gtr_mean, gtr_max, gtr_sum = (
170
- expected_mean(X),
171
- expected_max(X),
172
- expected_sum(X),
224
+ options_and_tests["mean"][0](X),
225
+ options_and_tests["max"][0](X),
226
+ options_and_tests["sum"][0](X),
173
227
  )
174
228
 
175
229
  tol = 5e-4 if res_mean.dtype == np.float32 else 1e-7
@@ -178,6 +232,48 @@ def test_multiple_options_on_random_data(
178
232
  assert_allclose(gtr_sum, res_sum, atol=tol)
179
233
 
180
234
 
235
+ @pytest.mark.parametrize("queue", get_queues())
236
+ @pytest.mark.parametrize("row_count", [100, 1000])
237
+ @pytest.mark.parametrize("column_count", [10, 100])
238
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
239
+ def test_multiple_options_on_random_sparse_data(queue, row_count, column_count, dtype):
240
+ seed = 77
241
+
242
+ gen = np.random.default_rng(seed)
243
+
244
+ X_sparse = gen_sparse_dataset(
245
+ row_count,
246
+ column_count,
247
+ density=0.05,
248
+ format="csr",
249
+ dtype=dtype,
250
+ random_state=gen,
251
+ )
252
+
253
+ X_dense = X_sparse.toarray()
254
+
255
+ options = [
256
+ "sum",
257
+ "min",
258
+ "mean",
259
+ "standard_deviation",
260
+ "variance",
261
+ "second_order_raw_moment",
262
+ ]
263
+
264
+ result = compute_sparse_result(X_sparse, options, queue)
265
+
266
+ for result_option in options_and_tests:
267
+ function, tols = options_and_tests[result_option]
268
+ if not result_option in options:
269
+ continue
270
+ fp32tol, fp64tol = tols
271
+ res = getattr(result, result_option + "_")
272
+ gtr = function(X_dense)
273
+ tol = fp32tol if res.dtype == np.float32 else fp64tol
274
+ assert_allclose(gtr, res, atol=tol)
275
+
276
+
181
277
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
182
278
  @pytest.mark.parametrize("row_count", [100, 1000])
183
279
  @pytest.mark.parametrize("column_count", [10, 100])
@@ -205,10 +301,10 @@ def test_all_option_on_random_data(
205
301
  if weighted:
206
302
  weighted_data = np.diag(weights) @ X
207
303
 
208
- for option in options_and_tests:
209
- result_option, function, tols = option
304
+ for result_option in options_and_tests:
305
+ function, tols = options_and_tests[result_option]
210
306
  fp32tol, fp64tol = tols
211
- res = getattr(result, result_option)
307
+ res = getattr(result, result_option + "_")
212
308
  if weighted:
213
309
  gtr = function(weighted_data)
214
310
  else:
@@ -217,13 +313,52 @@ def test_all_option_on_random_data(
217
313
  assert_allclose(gtr, res, atol=tol)
218
314
 
219
315
 
316
+ @pytest.mark.parametrize("queue", get_queues())
317
+ @pytest.mark.parametrize("row_count", [100, 1000])
318
+ @pytest.mark.parametrize("column_count", [10, 100])
319
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
320
+ def test_all_option_on_random_sparse_data(queue, row_count, column_count, dtype):
321
+ seed = 77
322
+
323
+ gen = np.random.default_rng(seed)
324
+
325
+ X_sparse = gen_sparse_dataset(
326
+ row_count,
327
+ column_count,
328
+ density=0.05,
329
+ format="csr",
330
+ dtype=dtype,
331
+ random_state=gen,
332
+ )
333
+ X_dense = X_sparse.toarray()
334
+
335
+ result = compute_sparse_result(X_sparse, "all", queue)
336
+
337
+ for result_option in options_and_tests:
338
+ if not daal_check_version((2025, "P", 200)) and result_option in [
339
+ "max",
340
+ "sum_squares",
341
+ ]:
342
+ continue
343
+ function, tols = options_and_tests[result_option]
344
+ fp32tol, fp64tol = tols
345
+ res = getattr(result, result_option + "_")
346
+
347
+ gtr = function(X_dense)
348
+
349
+ tol = fp32tol if res.dtype == np.float32 else fp64tol
350
+ assert_allclose(gtr, res, atol=tol)
351
+
352
+
220
353
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
221
- @pytest.mark.parametrize("option", options_and_tests)
354
+ @pytest.mark.parametrize("result_option", options_and_tests.keys())
222
355
  @pytest.mark.parametrize("data_size", [100, 1000])
223
356
  @pytest.mark.parametrize("weighted", [True, False])
224
357
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
225
- def test_1d_input_on_random_data(dataframe, queue, option, data_size, weighted, dtype):
226
- result_option, function, tols = option
358
+ def test_1d_input_on_random_data(
359
+ dataframe, queue, result_option, data_size, weighted, dtype
360
+ ):
361
+ function, tols = options_and_tests[result_option]
227
362
  fp32tol, fp64tol = tols
228
363
  seed = 77
229
364
  gen = np.random.default_rng(seed)
@@ -241,7 +376,7 @@ def test_1d_input_on_random_data(dataframe, queue, option, data_size, weighted,
241
376
  else:
242
377
  result = basicstat.fit(X_df)
243
378
 
244
- res = getattr(result, result_option)
379
+ res = getattr(result, result_option + "_")
245
380
  if weighted:
246
381
  weighted_data = weights * X
247
382
  gtr = function(weighted_data)
@@ -19,12 +19,7 @@ import pytest
19
19
  from numpy.testing import assert_allclose
20
20
 
21
21
  from daal4py.sklearn._utils import daal_check_version
22
- from onedal.basic_statistics.tests.test_basic_statistics import (
23
- expected_max,
24
- expected_mean,
25
- expected_sum,
26
- options_and_tests,
27
- )
22
+ from onedal.basic_statistics.tests.utils import options_and_tests
28
23
  from onedal.tests.utils._dataframes_support import (
29
24
  _convert_to_dataframe,
30
25
  get_dataframes_and_queues,
@@ -75,15 +70,15 @@ def test_partial_fit_multiple_options_on_gold_data(dataframe, queue, weighted, d
75
70
 
76
71
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
77
72
  @pytest.mark.parametrize("num_batches", [2, 10])
78
- @pytest.mark.parametrize("option", options_and_tests)
73
+ @pytest.mark.parametrize("result_option", options_and_tests.keys())
79
74
  @pytest.mark.parametrize("row_count", [100, 1000])
80
75
  @pytest.mark.parametrize("column_count", [10, 100])
81
76
  @pytest.mark.parametrize("weighted", [True, False])
82
77
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
83
78
  def test_partial_fit_single_option_on_random_data(
84
- dataframe, queue, num_batches, option, row_count, column_count, weighted, dtype
79
+ dataframe, queue, num_batches, result_option, row_count, column_count, weighted, dtype
85
80
  ):
86
- result_option, function, tols = option
81
+ function, tols = options_and_tests[result_option]
87
82
  fp32tol, fp64tol = tols
88
83
  seed = 77
89
84
  gen = np.random.default_rng(seed)
@@ -155,15 +150,15 @@ def test_partial_fit_multiple_options_on_random_data(
155
150
  if weighted:
156
151
  weighted_data = np.diag(weights) @ X
157
152
  gtr_mean, gtr_max, gtr_sum = (
158
- expected_mean(weighted_data),
159
- expected_max(weighted_data),
160
- expected_sum(weighted_data),
153
+ options_and_tests["mean"][0](weighted_data),
154
+ options_and_tests["max"][0](weighted_data),
155
+ options_and_tests["sum"][0](weighted_data),
161
156
  )
162
157
  else:
163
158
  gtr_mean, gtr_max, gtr_sum = (
164
- expected_mean(X),
165
- expected_max(X),
166
- expected_sum(X),
159
+ options_and_tests["mean"][0](X),
160
+ options_and_tests["max"][0](X),
161
+ options_and_tests["sum"][0](X),
167
162
  )
168
163
 
169
164
  tol = 3e-4 if res_mean.dtype == np.float32 else 1e-7
@@ -207,8 +202,8 @@ def test_partial_fit_all_option_on_random_data(
207
202
  if weighted:
208
203
  weighted_data = np.diag(weights) @ X
209
204
 
210
- for option in options_and_tests:
211
- result_option, function, tols = option
205
+ for result_option in options_and_tests:
206
+ function, tols = options_and_tests[result_option]
212
207
  fp32tol, fp64tol = tols
213
208
  res = getattr(result, result_option)
214
209
  if weighted:
@@ -255,15 +250,15 @@ def test_fit_multiple_options_on_gold_data(dataframe, queue, weighted, dtype):
255
250
 
256
251
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
257
252
  @pytest.mark.parametrize("num_batches", [2, 10])
258
- @pytest.mark.parametrize("option", options_and_tests)
253
+ @pytest.mark.parametrize("result_option", options_and_tests.keys())
259
254
  @pytest.mark.parametrize("row_count", [100, 1000])
260
255
  @pytest.mark.parametrize("column_count", [10, 100])
261
256
  @pytest.mark.parametrize("weighted", [True, False])
262
257
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
263
258
  def test_fit_single_option_on_random_data(
264
- dataframe, queue, num_batches, option, row_count, column_count, weighted, dtype
259
+ dataframe, queue, num_batches, result_option, row_count, column_count, weighted, dtype
265
260
  ):
266
- result_option, function, tols = option
261
+ function, tols = options_and_tests[result_option]
267
262
  fp32tol, fp64tol = tols
268
263
  seed = 77
269
264
  gen = np.random.default_rng(seed)
@@ -327,15 +322,15 @@ def test_fit_multiple_options_on_random_data(
327
322
  if weighted:
328
323
  weighted_data = np.diag(weights) @ X
329
324
  gtr_mean, gtr_max, gtr_sum = (
330
- expected_mean(weighted_data),
331
- expected_max(weighted_data),
332
- expected_sum(weighted_data),
325
+ options_and_tests["mean"][0](weighted_data),
326
+ options_and_tests["max"][0](weighted_data),
327
+ options_and_tests["sum"][0](weighted_data),
333
328
  )
334
329
  else:
335
330
  gtr_mean, gtr_max, gtr_sum = (
336
- expected_mean(X),
337
- expected_max(X),
338
- expected_sum(X),
331
+ options_and_tests["mean"][0](X),
332
+ options_and_tests["max"][0](X),
333
+ options_and_tests["sum"][0](X),
339
334
  )
340
335
 
341
336
  tol = 3e-4 if res_mean.dtype == np.float32 else 1e-7
@@ -373,8 +368,8 @@ def test_fit_all_option_on_random_data(
373
368
  if weighted:
374
369
  weighted_data = np.diag(weights) @ X
375
370
 
376
- for option in options_and_tests:
377
- result_option, function, tols = option
371
+ for result_option in options_and_tests:
372
+ function, tols = options_and_tests[result_option]
378
373
  fp32tol, fp64tol = tols
379
374
  res = getattr(result, result_option)
380
375
  if weighted:
@@ -402,3 +397,59 @@ def test_warning():
402
397
  assert len(warn_record) == 0, i
403
398
  else:
404
399
  assert len(warn_record) == 1, i
400
+
401
+
402
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
403
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
404
+ def test_sklearnex_incremental_estimatior_pickle(dataframe, queue, dtype):
405
+ import pickle
406
+
407
+ from sklearnex.basic_statistics import IncrementalBasicStatistics
408
+
409
+ incbs = IncrementalBasicStatistics()
410
+
411
+ # Check that estimator can be serialized without any data.
412
+ dump = pickle.dumps(incbs)
413
+ incbs_loaded = pickle.loads(dump)
414
+ seed = 77
415
+ gen = np.random.default_rng(seed)
416
+ X = gen.uniform(low=-0.3, high=+0.7, size=(10, 10))
417
+ X = X.astype(dtype)
418
+ X_split = np.array_split(X, 2)
419
+ X_split_df = _convert_to_dataframe(X_split[0], sycl_queue=queue, target_df=dataframe)
420
+ incbs.partial_fit(X_split_df)
421
+ incbs_loaded.partial_fit(X_split_df)
422
+
423
+ # Check that estimator can be serialized after partial_fit call.
424
+ dump = pickle.dumps(incbs_loaded)
425
+ incbs_loaded = pickle.loads(dump)
426
+
427
+ X_split_df = _convert_to_dataframe(X_split[1], sycl_queue=queue, target_df=dataframe)
428
+ incbs.partial_fit(X_split_df)
429
+ incbs_loaded.partial_fit(X_split_df)
430
+ dump = pickle.dumps(incbs)
431
+ incbs_loaded = pickle.loads(dump)
432
+ assert incbs.batch_size == incbs_loaded.batch_size
433
+ assert incbs.n_features_in_ == incbs_loaded.n_features_in_
434
+ assert incbs.n_samples_seen_ == incbs_loaded.n_samples_seen_
435
+ if hasattr(incbs, "_parameter_constraints"):
436
+ assert incbs._parameter_constraints == incbs_loaded._parameter_constraints
437
+ assert incbs.n_jobs == incbs_loaded.n_jobs
438
+ for result_option in options_and_tests:
439
+ _, tols = options_and_tests[result_option]
440
+ fp32tol, fp64tol = tols
441
+ res = getattr(incbs, result_option)
442
+ res_loaded = getattr(incbs_loaded, result_option)
443
+ tol = fp32tol if res.dtype == np.float32 else fp64tol
444
+ assert_allclose(res, res_loaded, atol=tol)
445
+
446
+ # Check that finalized estimator can be serialized.
447
+ dump = pickle.dumps(incbs_loaded)
448
+ incbs_loaded = pickle.loads(dump)
449
+ for result_option in options_and_tests:
450
+ _, tols = options_and_tests[result_option]
451
+ fp32tol, fp64tol = tols
452
+ res = getattr(incbs, result_option)
453
+ res_loaded = getattr(incbs_loaded, result_option)
454
+ tol = fp32tol if res.dtype == np.float32 else fp64tol
455
+ assert_allclose(res, res_loaded, atol=tol)
@@ -122,6 +122,7 @@ if daal_check_version((2023, "P", 200)):
122
122
  self.algorithm in supported_algs,
123
123
  "Only 'lloyd' algorithm is supported, 'elkan' is computed using lloyd",
124
124
  ),
125
+ (self.n_clusters != 1, "n_clusters=1 is not supported"),
125
126
  (correct_count, "n_clusters is smaller than number of samples"),
126
127
  (
127
128
  _acceptable_sample_weights,
@@ -230,6 +231,7 @@ if daal_check_version((2023, "P", 200)):
230
231
  self.algorithm in supported_algs,
231
232
  "Only 'lloyd' algorithm is supported, 'elkan' is computed using lloyd.",
232
233
  ),
234
+ (self.n_clusters != 1, "n_clusters=1 is not supported"),
233
235
  (
234
236
  is_data_supported,
235
237
  "Supported data formats: Dense, CSR (oneDAL version >= 2024.7.0).",
@@ -133,8 +133,6 @@ def test_dense_vs_sparse(queue, init, algorithm, dims):
133
133
  from sklearnex.cluster import KMeans
134
134
 
135
135
  if init == "random" or (not _IS_INTEL and init == "k-means++"):
136
- if daal_check_version((2025, "P", 200)):
137
- pytest.fail("Re-verify failure of k-means++ in 2025.2 oneDAL")
138
136
  pytest.skip(f"{init} initialization for sparse K-means is non-conformant.")
139
137
 
140
138
  # For higher level of sparsity (smaller density) the test may fail
@@ -92,6 +92,13 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
92
92
  n_features_in_ : int
93
93
  Number of features seen during ``fit`` or ``partial_fit``.
94
94
 
95
+ Note
96
+ ----
97
+ Serializing instances of this class will trigger a forced finalization of calculations.
98
+ Since finalize_fit can't be dispatched without directly provided queue
99
+ and the dispatching policy can't be serialized, the computation is finalized
100
+ during serialization and the policy is not saved in serialized data.
101
+
95
102
  Examples
96
103
  --------
97
104
  >>> import numpy as np
@@ -220,6 +220,56 @@ def test_whitened_toy_score(dataframe, queue):
220
220
  assert_allclose(expected_result, result, atol=1e-6)
221
221
 
222
222
 
223
+ @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
224
+ @pytest.mark.parametrize("dtype", [np.float32, np.float64])
225
+ def test_sklearnex_incremental_estimatior_pickle(dataframe, queue, dtype):
226
+ import pickle
227
+
228
+ from sklearnex.covariance import IncrementalEmpiricalCovariance
229
+
230
+ inccov = IncrementalEmpiricalCovariance()
231
+
232
+ # Check that estimator can be serialized without any data.
233
+ dump = pickle.dumps(inccov)
234
+ inccov_loaded = pickle.loads(dump)
235
+
236
+ seed = 77
237
+ gen = np.random.default_rng(seed)
238
+ X = gen.uniform(low=-0.3, high=+0.7, size=(10, 10))
239
+ X = X.astype(dtype)
240
+ X_split = np.array_split(X, 2)
241
+ X_split_df = _convert_to_dataframe(X_split[0], sycl_queue=queue, target_df=dataframe)
242
+ inccov.partial_fit(X_split_df)
243
+ inccov_loaded.partial_fit(X_split_df)
244
+
245
+ # Check that estimator can be serialized after partial_fit call.
246
+ dump = pickle.dumps(inccov_loaded)
247
+ inccov_loaded = pickle.loads(dump)
248
+
249
+ assert inccov.batch_size == inccov_loaded.batch_size
250
+ assert inccov.n_features_in_ == inccov_loaded.n_features_in_
251
+ assert inccov.n_samples_seen_ == inccov_loaded.n_samples_seen_
252
+ if hasattr(inccov, "_parameter_constraints"):
253
+ assert inccov._parameter_constraints == inccov_loaded._parameter_constraints
254
+ assert inccov.n_jobs == inccov_loaded.n_jobs
255
+
256
+ X_split_df = _convert_to_dataframe(X_split[1], sycl_queue=queue, target_df=dataframe)
257
+ inccov.partial_fit(X_split_df)
258
+ inccov_loaded.partial_fit(X_split_df)
259
+ dump = pickle.dumps(inccov)
260
+ inccov_loaded = pickle.loads(dump)
261
+
262
+ assert_allclose(inccov.location_, inccov_loaded.location_, atol=1e-6)
263
+ assert_allclose(inccov.covariance_, inccov_loaded.covariance_, atol=1e-6)
264
+
265
+ # Check that finalized estimator can be serialized.
266
+ dump = pickle.dumps(inccov_loaded)
267
+ inccov_loaded = pickle.loads(dump)
268
+
269
+ assert_allclose(inccov.location_, inccov_loaded.location_, atol=1e-6)
270
+ assert_allclose(inccov.covariance_, inccov_loaded.covariance_, atol=1e-6)
271
+
272
+
223
273
  # Monkeypatch IncrementalEmpiricalCovariance into relevant sklearn.covariance tests
224
274
  @pytest.mark.allow_sklearn_fallback
225
275
  @pytest.mark.parametrize(
@@ -52,7 +52,6 @@ def get_patch_map_core(preview=False):
52
52
  EmpiricalCovariance as EmpiricalCovariance_sklearnex,
53
53
  )
54
54
  from .preview.decomposition import IncrementalPCA as IncrementalPCA_sklearnex
55
- from .preview.linear_model import Ridge as Ridge_sklearnex
56
55
 
57
56
  # Since the state of the lru_cache without preview cannot be
58
57
  # guaranteed to not have already enabled sklearnex algorithms
@@ -83,14 +82,6 @@ def get_patch_map_core(preview=False):
83
82
  ]
84
83
  ]
85
84
 
86
- # Ridge
87
- linear_model_module, _, _ = mapping["ridge"][0][0]
88
- sklearn_obj = mapping["ridge"][0][1]
89
- mapping.pop("ridge")
90
- mapping["ridge"] = [
91
- [(linear_model_module, "Ridge", Ridge_sklearnex), sklearn_obj]
92
- ]
93
-
94
85
  return mapping
95
86
 
96
87
  from daal4py.sklearn.monkeypatch.dispatcher import _get_map_of_algorithms
@@ -492,7 +483,7 @@ def patch_sklearn(name=None, verbose=True, global_patch=False, preview=False):
492
483
  if verbose and sys.stderr is not None:
493
484
  sys.stderr.write(
494
485
  "Intel(R) Extension for Scikit-learn* enabled "
495
- "(https://github.com/intel/scikit-learn-intelex)\n"
486
+ "(https://github.com/uxlfoundation/scikit-learn-intelex)\n"
496
487
  )
497
488
 
498
489