scikit-learn-intelex 2025.0.1__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 (276) 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.0.1.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.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +21 -15
  4. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +11 -7
  5. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +9 -5
  6. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +35 -16
  7. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +12 -0
  8. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +91 -10
  9. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +4 -1
  10. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +3 -4
  11. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
  12. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +1 -0
  13. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +15 -40
  14. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
  15. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
  16. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
  17. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +34 -19
  18. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +16 -72
  19. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
  20. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
  21. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
  22. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +16 -19
  23. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
  24. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
  25. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +22 -13
  26. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +4 -3
  27. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
  28. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
  29. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
  30. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
  31. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
  32. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +121 -0
  33. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
  34. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +475 -0
  35. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
  36. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
  37. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +87 -0
  38. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +30 -14
  39. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +86 -52
  40. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
  41. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
  42. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +72 -27
  43. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +64 -0
  44. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +110 -0
  45. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +55 -70
  46. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
  47. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +10 -10
  48. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +8 -0
  49. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +25 -9
  50. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +4 -10
  51. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +19 -24
  52. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +12 -22
  53. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
  54. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
  55. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +52 -20
  56. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +1 -0
  57. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +19 -1
  58. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +17 -12
  59. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +45 -11
  60. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +123 -27
  61. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +65 -34
  62. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +190 -36
  63. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +99 -28
  64. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +12 -7
  65. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +56 -42
  66. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +15 -11
  67. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +9 -0
  68. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +32 -13
  69. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +61 -0
  70. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +30 -19
  71. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
  72. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +72 -59
  73. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +40 -20
  74. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +52 -40
  75. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +18 -4
  76. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +114 -75
  77. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +49 -39
  78. {scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -419
  79. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +70 -6
  80. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
  81. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +41 -41
  82. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  83. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
  84. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +16 -11
  85. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +4 -4
  86. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +20 -15
  87. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +18 -14
  88. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +22 -14
  89. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +4 -2
  90. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
  91. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +18 -13
  92. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
  93. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +30 -14
  94. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
  95. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +4 -4
  96. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +7 -8
  97. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +1 -1
  98. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +4 -3
  99. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +1 -1
  100. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +1 -1
  101. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +1 -1
  102. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +1 -1
  103. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +1 -1
  104. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +17 -15
  105. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +1 -1
  106. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +1 -5
  107. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +1 -1
  108. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +58 -47
  109. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +68 -29
  110. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +40 -18
  111. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +66 -27
  112. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +36 -18
  113. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +491 -0
  114. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
  115. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
  116. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +69 -13
  117. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
  118. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
  119. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +1 -9
  120. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +43 -13
  121. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
  122. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +117 -9
  123. scikit_learn_intelex-2025.0.1.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
  124. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  125. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
  126. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/METADATA +2 -2
  127. scikit_learn_intelex-2025.2.0.dist-info/RECORD +259 -0
  128. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
  129. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
  130. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
  131. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
  132. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -95
  133. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +0 -235
  134. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
  135. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
  136. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
  137. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
  138. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
  139. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -54
  140. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -43
  141. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -103
  142. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
  143. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
  144. scikit_learn_intelex-2025.0.1.dist-info/RECORD +0 -255
  145. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  146. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  147. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
  148. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
  150. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  151. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
  153. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
  154. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  155. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  156. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
  157. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  158. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
  159. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  160. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  161. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
  162. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
  163. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
  164. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  165. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  166. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  167. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
  168. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  169. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  170. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  171. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
  172. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  174. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  175. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  176. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  177. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  178. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
  179. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  180. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  181. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  182. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
  183. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
  184. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
  185. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  186. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  187. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  188. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
  189. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  190. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
  191. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  192. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  193. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  196. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  197. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  198. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
  199. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  200. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  201. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
  202. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  204. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  207. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  208. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  209. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  210. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  211. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  212. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  213. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
  214. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
  215. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
  217. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
  218. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
  219. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
  220. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
  221. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  222. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  223. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  224. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  225. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  227. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  228. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  229. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  231. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  232. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  233. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
  234. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
  235. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
  237. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  238. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  239. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  240. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  241. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  242. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
  243. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  244. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  245. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  247. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  250. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  251. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  253. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  254. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  255. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  256. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  257. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  258. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  259. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  260. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  261. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  262. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  263. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  264. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  265. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  266. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  267. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
  268. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  269. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  270. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  271. /scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py → /scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  272. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  273. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  274. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
  275. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
  276. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
@@ -24,6 +24,7 @@ from onedal.tests.utils._dataframes_support import (
24
24
  get_dataframes_and_queues,
25
25
  )
26
26
  from sklearnex.linear_model import IncrementalLinearRegression
27
+ from sklearnex.tests.utils import _IS_INTEL
27
28
 
28
29
 
29
30
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
@@ -40,7 +41,7 @@ def test_sklearnex_fit_on_gold_data(dataframe, queue, fit_intercept, macro_block
40
41
 
41
42
  inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
42
43
  if macro_block is not None:
43
- hparams = inclin.get_hyperparameters("fit")
44
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
44
45
  hparams.cpu_macro_block = macro_block
45
46
  hparams.gpu_macro_block = macro_block
46
47
  inclin.fit(X_df, y_df)
@@ -48,7 +49,7 @@ def test_sklearnex_fit_on_gold_data(dataframe, queue, fit_intercept, macro_block
48
49
  y_pred = inclin.predict(X_df)
49
50
  np_y_pred = _as_numpy(y_pred)
50
51
 
51
- tol = 2e-6 if dtype == np.float32 else 1e-7
52
+ tol = 5e-5 if dtype == np.float32 else 1e-7
52
53
  assert_allclose(inclin.coef_, [1], atol=tol)
53
54
  if fit_intercept:
54
55
  assert_allclose(inclin.intercept_, [0], atol=tol)
@@ -71,7 +72,7 @@ def test_sklearnex_partial_fit_on_gold_data(
71
72
 
72
73
  inclin = IncrementalLinearRegression()
73
74
  if macro_block is not None:
74
- hparams = inclin.get_hyperparameters("fit")
75
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
75
76
  hparams.cpu_macro_block = macro_block
76
77
  hparams.gpu_macro_block = macro_block
77
78
  for i in range(2):
@@ -112,7 +113,7 @@ def test_sklearnex_partial_fit_multitarget_on_gold_data(
112
113
 
113
114
  inclin = IncrementalLinearRegression()
114
115
  if macro_block is not None:
115
- hparams = inclin.get_hyperparameters("fit")
116
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
116
117
  hparams.cpu_macro_block = macro_block
117
118
  hparams.gpu_macro_block = macro_block
118
119
  for i in range(2):
@@ -129,7 +130,10 @@ def test_sklearnex_partial_fit_multitarget_on_gold_data(
129
130
  np_y_pred = _as_numpy(y_pred)
130
131
 
131
132
  assert inclin.n_features_in_ == 2
132
- tol = 7e-6 if dtype == np.float32 else 1e-7
133
+ tol = 1e-7
134
+ if dtype == np.float32:
135
+ tol = 7e-6 if _IS_INTEL else 2e-5
136
+
133
137
  assert_allclose(inclin.coef_, [1.0, 2.0], atol=tol)
134
138
  if fit_intercept:
135
139
  assert_allclose(inclin.intercept_, 3.0, atol=tol)
@@ -172,7 +176,7 @@ def test_sklearnex_partial_fit_on_random_data(
172
176
 
173
177
  inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
174
178
  if macro_block is not None:
175
- hparams = inclin.get_hyperparameters("fit")
179
+ hparams = IncrementalLinearRegression.get_hyperparameters("fit")
176
180
  hparams.cpu_macro_block = macro_block
177
181
  hparams.gpu_macro_block = macro_block
178
182
  for i in range(num_blocks):
@@ -201,3 +205,63 @@ def test_sklearnex_partial_fit_on_random_data(
201
205
  y_pred = inclin.predict(X_test_df)
202
206
 
203
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)
@@ -17,62 +17,74 @@
17
17
  import numpy as np
18
18
  import pytest
19
19
  from numpy.testing import assert_allclose
20
+ from scipy.linalg import lstsq
20
21
  from sklearn.datasets import make_regression
21
22
 
22
23
  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
24
  from onedal.tests.utils._dataframes_support import (
28
25
  _as_numpy,
29
26
  _convert_to_dataframe,
30
27
  get_dataframes_and_queues,
31
28
  )
29
+ from sklearnex.tests.utils import _IS_INTEL
32
30
 
33
31
 
34
32
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
35
33
  @pytest.mark.parametrize("dtype", [np.float32, np.float64])
36
34
  @pytest.mark.parametrize("macro_block", [None, 1024])
37
- def test_sklearnex_import_linear(dataframe, queue, dtype, macro_block):
35
+ @pytest.mark.parametrize("overdetermined", [False, True])
36
+ @pytest.mark.parametrize("multi_output", [False, True])
37
+ def test_sklearnex_import_linear(
38
+ dataframe, queue, dtype, macro_block, overdetermined, multi_output
39
+ ):
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")
49
+
38
50
  from sklearnex.linear_model import LinearRegression
39
51
 
40
- X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
41
- y = np.dot(X, np.array([1, 2])) + 3
42
- X = X.astype(dtype=dtype)
43
- y = y.astype(dtype=dtype)
44
- X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
45
- y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
52
+ rng = np.random.default_rng(seed=123)
53
+ X = rng.standard_normal(size=(10, 20) if not overdetermined else (20, 5))
54
+ y = rng.standard_normal(size=(X.shape[0], 3) if multi_output else X.shape[0])
55
+
56
+ Xi = np.c_[X, np.ones((X.shape[0], 1))]
57
+ expected_coefs = lstsq(Xi, y)[0]
58
+ expected_intercept = expected_coefs[-1]
59
+ expected_coefs = expected_coefs[: X.shape[1]]
60
+ if multi_output:
61
+ expected_coefs = expected_coefs.T
46
62
 
47
63
  linreg = LinearRegression()
48
64
  if daal_check_version((2024, "P", 0)) and macro_block is not None:
49
- hparams = linreg.get_hyperparameters("fit")
65
+ hparams = LinearRegression.get_hyperparameters("fit")
50
66
  hparams.cpu_macro_block = macro_block
51
67
  hparams.gpu_macro_block = macro_block
52
68
 
69
+ X = X.astype(dtype=dtype)
70
+ y = y.astype(dtype=dtype)
71
+ y_list = y.tolist()
72
+ X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
73
+ y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
53
74
  linreg.fit(X, y)
54
75
 
55
76
  assert hasattr(linreg, "_onedal_estimator")
56
77
  assert "sklearnex" in linreg.__module__
57
- assert linreg.n_features_in_ == 2
58
78
 
59
- tol = 1e-5 if _as_numpy(linreg.coef_).dtype == np.float32 else 1e-7
60
- assert_allclose(_as_numpy(linreg.intercept_), 3.0, rtol=tol)
61
- assert_allclose(_as_numpy(linreg.coef_), [1.0, 2.0], rtol=tol)
79
+ rtol = 1e-3 if dtype == np.float32 else 1e-5
80
+ assert_allclose(_as_numpy(linreg.coef_), expected_coefs, rtol=rtol)
81
+ assert_allclose(_as_numpy(linreg.intercept_), expected_intercept, rtol=rtol)
62
82
 
63
-
64
- @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
65
- def test_sklearnex_import_ridge(dataframe, queue):
66
- from sklearnex.linear_model import Ridge
67
-
68
- X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
69
- y = np.dot(X, np.array([1, 2])) + 3
70
- X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
71
- y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
72
- ridgereg = Ridge().fit(X, y)
73
- assert "daal4py" in ridgereg.__module__
74
- assert_allclose(ridgereg.intercept_, 4.5)
75
- assert_allclose(ridgereg.coef_, [0.8, 1.4])
83
+ # check that it also works with lists
84
+ if isinstance(X, np.ndarray):
85
+ linreg_list = LinearRegression().fit(X, y_list)
86
+ assert_allclose(linreg_list.coef_, linreg.coef_)
87
+ assert_allclose(linreg_list.intercept_, linreg.intercept_)
76
88
 
77
89
 
78
90
  @pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
@@ -128,15 +140,3 @@ def test_sklearnex_reconstruct_model(dataframe, queue, dtype):
128
140
 
129
141
  tol = 1e-5 if _as_numpy(y_pred).dtype == np.float32 else 1e-7
130
142
  assert_allclose(gtr, _as_numpy(y_pred), rtol=tol)
131
-
132
-
133
- def test_sklearnex_multivariate_ridge_coefs():
134
- from sklearnex.linear_model import Ridge
135
-
136
- _test_multivariate_ridge_coefficients(Ridge, random_state=0)
137
-
138
-
139
- def test_sklearnex_multivariate_ridge_alpha_shape():
140
- from sklearnex.linear_model import Ridge
141
-
142
- _test_multivariate_ridge_alpha_shape(Ridge, random_state=0)
@@ -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)