scikit-learn-intelex 2025.8.0__py39-none-win_amd64.whl → 2025.9.0__py39-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +19 -8
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +17 -23
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +57 -128
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +5 -2
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +2 -2
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +1 -8
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +13 -18
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +3 -3
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +3 -1
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/_dlpack.py +8 -5
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +69 -1
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -40
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +11 -5
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +20 -1
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +5 -4
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -5
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +139 -100
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +30 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +56 -2
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +115 -39
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +110 -122
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +260 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +55 -1
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +7 -4
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +7 -2
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +6 -4
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +2 -2
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +19 -6
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +23 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +136 -13
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +71 -8
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -1
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +1 -1
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +7 -3
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +65 -1
- {scikit_learn_intelex-2025.8.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/METADATA +83 -92
- scikit_learn_intelex-2025.9.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +0 -200
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -428
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -128
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -227
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
- scikit_learn_intelex-2025.8.0.dist-info/RECORD +0 -259
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/_device_offload.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_backend.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_third_party.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/validation.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_utils.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/base.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.8.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
- {scikit_learn_intelex-2025.8.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.8.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.8.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/top_level.txt +0 -0
|
@@ -62,42 +62,81 @@ if daal_check_version((2024, "P", 1)):
|
|
|
62
62
|
**_sklearn_LogisticRegression._parameter_constraints
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
65
|
+
if sklearn_check_version("1.8"):
|
|
66
|
+
|
|
67
|
+
def __init__(
|
|
68
|
+
self,
|
|
69
|
+
penalty="l2",
|
|
70
|
+
*,
|
|
71
|
+
dual=False,
|
|
72
|
+
tol=1e-4,
|
|
73
|
+
C=1.0,
|
|
74
|
+
fit_intercept=True,
|
|
75
|
+
intercept_scaling=1,
|
|
76
|
+
class_weight=None,
|
|
77
|
+
random_state=None,
|
|
78
|
+
solver="lbfgs",
|
|
79
|
+
max_iter=100,
|
|
80
|
+
verbose=0,
|
|
81
|
+
warm_start=False,
|
|
82
|
+
n_jobs=None,
|
|
83
|
+
l1_ratio=None,
|
|
84
|
+
):
|
|
85
|
+
super().__init__(
|
|
86
|
+
penalty=penalty,
|
|
87
|
+
dual=dual,
|
|
88
|
+
tol=tol,
|
|
89
|
+
C=C,
|
|
90
|
+
fit_intercept=fit_intercept,
|
|
91
|
+
intercept_scaling=intercept_scaling,
|
|
92
|
+
class_weight=class_weight,
|
|
93
|
+
random_state=random_state,
|
|
94
|
+
solver=solver,
|
|
95
|
+
max_iter=max_iter,
|
|
96
|
+
verbose=verbose,
|
|
97
|
+
warm_start=warm_start,
|
|
98
|
+
n_jobs=n_jobs,
|
|
99
|
+
l1_ratio=l1_ratio,
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
else:
|
|
103
|
+
|
|
104
|
+
def __init__(
|
|
105
|
+
self,
|
|
106
|
+
penalty="l2",
|
|
107
|
+
*,
|
|
108
|
+
dual=False,
|
|
109
|
+
tol=1e-4,
|
|
110
|
+
C=1.0,
|
|
111
|
+
fit_intercept=True,
|
|
112
|
+
intercept_scaling=1,
|
|
113
|
+
class_weight=None,
|
|
114
|
+
random_state=None,
|
|
115
|
+
solver="lbfgs",
|
|
116
|
+
max_iter=100,
|
|
117
|
+
multi_class="deprecated" if sklearn_check_version("1.5") else "auto",
|
|
118
|
+
verbose=0,
|
|
119
|
+
warm_start=False,
|
|
120
|
+
n_jobs=None,
|
|
121
|
+
l1_ratio=None,
|
|
122
|
+
):
|
|
123
|
+
super().__init__(
|
|
124
|
+
penalty=penalty,
|
|
125
|
+
dual=dual,
|
|
126
|
+
tol=tol,
|
|
127
|
+
C=C,
|
|
128
|
+
fit_intercept=fit_intercept,
|
|
129
|
+
intercept_scaling=intercept_scaling,
|
|
130
|
+
class_weight=class_weight,
|
|
131
|
+
random_state=random_state,
|
|
132
|
+
solver=solver,
|
|
133
|
+
max_iter=max_iter,
|
|
134
|
+
multi_class=multi_class,
|
|
135
|
+
verbose=verbose,
|
|
136
|
+
warm_start=warm_start,
|
|
137
|
+
n_jobs=n_jobs,
|
|
138
|
+
l1_ratio=l1_ratio,
|
|
139
|
+
)
|
|
101
140
|
|
|
102
141
|
_onedal_cpu_fit = daal4py_fit
|
|
103
142
|
decision_function = support_input_format(
|
|
@@ -167,6 +206,19 @@ if daal_check_version((2024, "P", 1)):
|
|
|
167
206
|
X,
|
|
168
207
|
)
|
|
169
208
|
|
|
209
|
+
@wrap_output_data
|
|
210
|
+
def decision_function(self, X):
|
|
211
|
+
check_is_fitted(self)
|
|
212
|
+
return dispatch(
|
|
213
|
+
self,
|
|
214
|
+
"decision_function",
|
|
215
|
+
{
|
|
216
|
+
"onedal": self.__class__._onedal_decision_function,
|
|
217
|
+
"sklearn": _sklearn_LogisticRegression.decision_function,
|
|
218
|
+
},
|
|
219
|
+
X,
|
|
220
|
+
)
|
|
221
|
+
|
|
170
222
|
@wrap_output_data
|
|
171
223
|
def score(self, X, y, sample_weight=None):
|
|
172
224
|
check_is_fitted(self)
|
|
@@ -214,7 +266,7 @@ if daal_check_version((2024, "P", 1)):
|
|
|
214
266
|
(self.solver == "newton-cg", "Only newton-cg solver is supported."),
|
|
215
267
|
(self.warm_start == False, "Warm start is not supported."),
|
|
216
268
|
(
|
|
217
|
-
|
|
269
|
+
sklearn_check_version("1.8") or self.multi_class != "multinomial",
|
|
218
270
|
"multi_class='multinomial is not supported.",
|
|
219
271
|
),
|
|
220
272
|
(
|
|
@@ -236,6 +288,7 @@ if daal_check_version((2024, "P", 1)):
|
|
|
236
288
|
"predict",
|
|
237
289
|
"predict_proba",
|
|
238
290
|
"predict_log_proba",
|
|
291
|
+
"decision_function",
|
|
239
292
|
"score",
|
|
240
293
|
]
|
|
241
294
|
|
|
@@ -249,7 +302,8 @@ if daal_check_version((2024, "P", 1)):
|
|
|
249
302
|
[
|
|
250
303
|
(n_samples > 0, "Number of samples is less than 1."),
|
|
251
304
|
(
|
|
252
|
-
(
|
|
305
|
+
(_sparsity_enabled and method_name != "decision_function")
|
|
306
|
+
or (not any([issparse(i) for i in data])),
|
|
253
307
|
"Sparse input is not supported.",
|
|
254
308
|
),
|
|
255
309
|
(
|
|
@@ -264,7 +318,13 @@ if daal_check_version((2024, "P", 1)):
|
|
|
264
318
|
def _onedal_gpu_supported(self, method_name, *data):
|
|
265
319
|
if method_name == "fit":
|
|
266
320
|
return self._onedal_gpu_fit_supported(method_name, *data)
|
|
267
|
-
if method_name in [
|
|
321
|
+
if method_name in [
|
|
322
|
+
"predict",
|
|
323
|
+
"predict_proba",
|
|
324
|
+
"predict_log_proba",
|
|
325
|
+
"decision_function",
|
|
326
|
+
"score",
|
|
327
|
+
]:
|
|
268
328
|
return self._onedal_gpu_predict_supported(method_name, *data)
|
|
269
329
|
raise RuntimeError(
|
|
270
330
|
f"Unknown method {method_name} in {self.__class__.__name__}"
|
|
@@ -368,10 +428,26 @@ if daal_check_version((2024, "P", 1)):
|
|
|
368
428
|
assert hasattr(self, "_onedal_estimator")
|
|
369
429
|
return self._onedal_estimator.predict_log_proba(X, queue=queue)
|
|
370
430
|
|
|
431
|
+
def _onedal_decision_function(self, X, queue=None):
|
|
432
|
+
if queue is None or queue.sycl_device.is_cpu:
|
|
433
|
+
return super().decision_function(X)
|
|
434
|
+
X = validate_data(
|
|
435
|
+
self,
|
|
436
|
+
X,
|
|
437
|
+
reset=False,
|
|
438
|
+
accept_sparse=_sparsity_enabled,
|
|
439
|
+
accept_large_sparse=_sparsity_enabled,
|
|
440
|
+
dtype=[np.float64, np.float32],
|
|
441
|
+
)
|
|
442
|
+
|
|
443
|
+
assert hasattr(self, "_onedal_estimator")
|
|
444
|
+
return self._onedal_estimator.decision_function(X, queue=queue)
|
|
445
|
+
|
|
371
446
|
fit.__doc__ = _sklearn_LogisticRegression.fit.__doc__
|
|
372
447
|
predict.__doc__ = _sklearn_LogisticRegression.predict.__doc__
|
|
373
448
|
predict_proba.__doc__ = _sklearn_LogisticRegression.predict_proba.__doc__
|
|
374
449
|
predict_log_proba.__doc__ = _sklearn_LogisticRegression.predict_log_proba.__doc__
|
|
450
|
+
decision_function.__doc__ = _sklearn_LogisticRegression.decision_function.__doc__
|
|
375
451
|
score.__doc__ = _sklearn_LogisticRegression.score.__doc__
|
|
376
452
|
|
|
377
453
|
else:
|
|
@@ -26,7 +26,7 @@ from sklearn.linear_model import LogisticRegression as _sklearn_LogisticRegressi
|
|
|
26
26
|
from sklearn.metrics import accuracy_score, log_loss
|
|
27
27
|
from sklearn.model_selection import train_test_split
|
|
28
28
|
|
|
29
|
-
from daal4py.sklearn._utils import daal_check_version
|
|
29
|
+
from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
|
|
30
30
|
from onedal.tests.utils._dataframes_support import (
|
|
31
31
|
_as_numpy,
|
|
32
32
|
_convert_to_dataframe,
|
|
@@ -108,6 +108,7 @@ if daal_check_version((2024, "P", 700)):
|
|
|
108
108
|
@pytest.mark.parametrize(
|
|
109
109
|
"dims", [(3007, 17, 0.05), (50000, 100, 0.01), (512, 10, 0.5)]
|
|
110
110
|
)
|
|
111
|
+
@pytest.mark.allow_sklearn_fallback
|
|
111
112
|
def test_csr(queue, dtype, dims):
|
|
112
113
|
from sklearnex.linear_model import LogisticRegression
|
|
113
114
|
|
|
@@ -129,13 +130,16 @@ if daal_check_version((2024, "P", 700)):
|
|
|
129
130
|
model.fit(X, y)
|
|
130
131
|
pred = model.predict(X)
|
|
131
132
|
prob = model.predict_proba(X)
|
|
133
|
+
raw = model.decision_function(X)
|
|
132
134
|
model_sp.fit(X_sp, y)
|
|
133
135
|
pred_sp = model_sp.predict(X_sp)
|
|
134
136
|
prob_sp = model_sp.predict_proba(X_sp)
|
|
137
|
+
raw_sp = model.decision_function(X_sp)
|
|
135
138
|
|
|
136
139
|
rtol = 2e-4
|
|
137
140
|
assert_allclose(pred, pred_sp, rtol=rtol)
|
|
138
141
|
assert_allclose(prob, prob_sp, rtol=rtol)
|
|
142
|
+
assert_allclose(raw, raw_sp, rtol=rtol)
|
|
139
143
|
assert_allclose(model.coef_, model_sp.coef_, rtol=rtol)
|
|
140
144
|
assert_allclose(model.intercept_, model_sp.intercept_, rtol=rtol)
|
|
141
145
|
|
|
@@ -180,13 +184,15 @@ def test_multinomial_logistic_regression_is_correct():
|
|
|
180
184
|
|
|
181
185
|
X = np.array([[-1, 0], [0, 1], [1, 1]])
|
|
182
186
|
y = np.array([2, 1, 0])
|
|
183
|
-
|
|
187
|
+
params = {"C": 3.0}
|
|
188
|
+
# for sklearn 1.8 and onwards, non-binary class datasets will multinomial
|
|
189
|
+
if not sklearn_check_version("1.8"):
|
|
190
|
+
params["multi_class"] = "multinomial"
|
|
191
|
+
|
|
184
192
|
with warnings.catch_warnings():
|
|
185
193
|
warnings.simplefilter("ignore", category=FutureWarning)
|
|
186
|
-
model_sklearn = _sklearn_LogisticRegression(
|
|
187
|
-
|
|
188
|
-
)
|
|
189
|
-
model_sklearnex = LogisticRegression(C=C, multi_class="multinomial").fit(X, y)
|
|
194
|
+
model_sklearn = _sklearn_LogisticRegression(**params).fit(X, y)
|
|
195
|
+
model_sklearnex = LogisticRegression(**params).fit(X, y)
|
|
190
196
|
|
|
191
197
|
try:
|
|
192
198
|
np.testing.assert_allclose(model_sklearnex.coef_, model_sklearn.coef_)
|
|
@@ -196,7 +202,7 @@ def test_multinomial_logistic_regression_is_correct():
|
|
|
196
202
|
def logistic_model_function(predicted_probabilities, coefs):
|
|
197
203
|
neg_log_likelihood = X.shape[0] * log_loss(y, predicted_probabilities)
|
|
198
204
|
sum_squares_coefs = np.dot(coefs.reshape(-1), coefs.reshape(-1))
|
|
199
|
-
return C * neg_log_likelihood + 0.5 * sum_squares_coefs
|
|
205
|
+
return params["C"] * neg_log_likelihood + 0.5 * sum_squares_coefs
|
|
200
206
|
|
|
201
207
|
fn_sklearn = logistic_model_function(
|
|
202
208
|
model_sklearn.predict_proba(X), model_sklearn.coef_
|
|
@@ -243,14 +249,14 @@ def test_binary_multinomial_probabilities(fit_intercept, C):
|
|
|
243
249
|
)
|
|
244
250
|
y_binary = np.array([1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2], dtype=int)
|
|
245
251
|
|
|
252
|
+
params = {"C": C, "fit_intercept": fit_intercept}
|
|
253
|
+
if not sklearn_check_version("1.8"):
|
|
254
|
+
params["multi_class"] = "multinomial"
|
|
255
|
+
|
|
246
256
|
with warnings.catch_warnings():
|
|
247
257
|
warnings.simplefilter("ignore")
|
|
248
|
-
model_sklearnex = LogisticRegression(
|
|
249
|
-
|
|
250
|
-
).fit(X, y_binary)
|
|
251
|
-
model_sklearn = _sklearn_LogisticRegression(
|
|
252
|
-
C=C, fit_intercept=fit_intercept, multi_class="multinomial"
|
|
253
|
-
).fit(X, y_binary)
|
|
258
|
+
model_sklearnex = LogisticRegression(**params).fit(X, y_binary)
|
|
259
|
+
model_sklearn = _sklearn_LogisticRegression(**params).fit(X, y_binary)
|
|
254
260
|
np.testing.assert_allclose(
|
|
255
261
|
model_sklearnex.predict_proba(X),
|
|
256
262
|
model_sklearn.predict_proba(X),
|
|
@@ -269,7 +275,9 @@ def test_binary_multinomial_probabilities(fit_intercept, C):
|
|
|
269
275
|
# correctly when falling back.
|
|
270
276
|
@pytest.mark.parametrize("fit_intercept", [False, True])
|
|
271
277
|
@pytest.mark.parametrize("n_classes", [2, 3])
|
|
272
|
-
@pytest.mark.parametrize(
|
|
278
|
+
@pytest.mark.parametrize(
|
|
279
|
+
"multi_class", ["auto", "multinomial"] if not sklearn_check_version("1.8") else [None]
|
|
280
|
+
)
|
|
273
281
|
@pytest.mark.parametrize("weighted", [False, True])
|
|
274
282
|
@pytest.mark.allow_sklearn_fallback
|
|
275
283
|
def test_warm_start_stateful(fit_intercept, n_classes, multi_class, weighted):
|
|
@@ -293,48 +301,40 @@ def test_warm_start_stateful(fit_intercept, n_classes, multi_class, weighted):
|
|
|
293
301
|
# Note2: this will first compare the results after one iteration, and
|
|
294
302
|
# if those already differ too much (which can be the case given numerical
|
|
295
303
|
# differences), will then skip the rest of test that checks the warm starts.
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
X,
|
|
317
|
-
y,
|
|
318
|
-
np.ones(X.shape[0]) if weighted else None,
|
|
319
|
-
)
|
|
304
|
+
params = {
|
|
305
|
+
"solver": "lbfgs",
|
|
306
|
+
"fit_intercept": fit_intercept,
|
|
307
|
+
"max_iter": 1,
|
|
308
|
+
"warm_start": True,
|
|
309
|
+
}
|
|
310
|
+
if not sklearn_check_version("1.8"):
|
|
311
|
+
params["multi_class"] = multi_class
|
|
312
|
+
|
|
313
|
+
model1 = _sklearn_LogisticRegression(**params)
|
|
314
|
+
model2 = LogisticRegression(**params)
|
|
315
|
+
|
|
316
|
+
for est in (model1, model2):
|
|
317
|
+
with warnings.catch_warnings():
|
|
318
|
+
warnings.simplefilter("ignore")
|
|
319
|
+
est.fit(
|
|
320
|
+
X,
|
|
321
|
+
y,
|
|
322
|
+
np.ones(X.shape[0]) if weighted else None,
|
|
323
|
+
)
|
|
320
324
|
|
|
321
325
|
try:
|
|
322
326
|
np.testing.assert_allclose(model1.coef_, model2.coef_)
|
|
323
327
|
except AssertionError:
|
|
324
328
|
pytest.skip("Too large numerical differences for further comparisons")
|
|
325
329
|
|
|
326
|
-
|
|
327
|
-
warnings.
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
X,
|
|
335
|
-
y,
|
|
336
|
-
np.ones(X.shape[0]) if weighted else None,
|
|
337
|
-
)
|
|
330
|
+
for est in (model1, model2):
|
|
331
|
+
with warnings.catch_warnings():
|
|
332
|
+
warnings.simplefilter("ignore")
|
|
333
|
+
est.fit(
|
|
334
|
+
X,
|
|
335
|
+
y,
|
|
336
|
+
np.ones(X.shape[0]) if weighted else None,
|
|
337
|
+
)
|
|
338
338
|
|
|
339
339
|
np.testing.assert_allclose(model1.coef_, model2.coef_)
|
|
340
340
|
if fit_intercept:
|
|
@@ -350,7 +350,9 @@ def test_warm_start_stateful(fit_intercept, n_classes, multi_class, weighted):
|
|
|
350
350
|
# Note: other solvers do not have any internal state and are supposed to yield the
|
|
351
351
|
# same result after one iteration given the current coefficients.
|
|
352
352
|
@pytest.mark.parametrize("fit_intercept", [False, True])
|
|
353
|
-
@pytest.mark.parametrize(
|
|
353
|
+
@pytest.mark.parametrize(
|
|
354
|
+
"multi_class", ["ovr", "multinomial"] if not sklearn_check_version("1.8") else [None]
|
|
355
|
+
)
|
|
354
356
|
@pytest.mark.parametrize("weighted", [False, True])
|
|
355
357
|
@pytest.mark.allow_sklearn_fallback
|
|
356
358
|
def test_warm_start_binary(fit_intercept, multi_class, weighted):
|
|
@@ -365,39 +367,22 @@ def test_warm_start_binary(fit_intercept, multi_class, weighted):
|
|
|
365
367
|
class_sep=0.5,
|
|
366
368
|
)
|
|
367
369
|
|
|
370
|
+
params = {"random_state": 123, "solver": "newton-cg", "fit_intercept": fit_intercept}
|
|
371
|
+
if not sklearn_check_version("1.8"):
|
|
372
|
+
params["multi_class"] = multi_class
|
|
373
|
+
|
|
368
374
|
with warnings.catch_warnings():
|
|
369
375
|
warnings.simplefilter("ignore")
|
|
370
|
-
model1 = LogisticRegression(
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
).fit(
|
|
377
|
-
X,
|
|
378
|
-
y,
|
|
379
|
-
np.ones(X.shape[0]) if weighted else None,
|
|
380
|
-
)
|
|
381
|
-
model2 = (
|
|
382
|
-
LogisticRegression(
|
|
383
|
-
random_state=123,
|
|
384
|
-
solver="newton-cg",
|
|
385
|
-
fit_intercept=fit_intercept,
|
|
386
|
-
multi_class=multi_class,
|
|
387
|
-
max_iter=1,
|
|
388
|
-
warm_start=True,
|
|
389
|
-
)
|
|
390
|
-
.fit(
|
|
391
|
-
X,
|
|
392
|
-
y,
|
|
393
|
-
np.ones(X.shape[0]) if weighted else None,
|
|
394
|
-
)
|
|
395
|
-
.fit(
|
|
376
|
+
model1 = LogisticRegression(**params, max_iter=2)
|
|
377
|
+
model2 = LogisticRegression(**params, max_iter=1, warm_start=True)
|
|
378
|
+
|
|
379
|
+
# fit model2 twice using the same data to get 2 iterations (with warm_start)
|
|
380
|
+
for est in (model1, model2, model2):
|
|
381
|
+
est.fit(
|
|
396
382
|
X,
|
|
397
383
|
y,
|
|
398
384
|
np.ones(X.shape[0]) if weighted else None,
|
|
399
385
|
)
|
|
400
|
-
)
|
|
401
386
|
|
|
402
387
|
np.testing.assert_allclose(model1.coef_, model2.coef_)
|
|
403
388
|
if fit_intercept:
|
|
@@ -405,7 +390,9 @@ def test_warm_start_binary(fit_intercept, multi_class, weighted):
|
|
|
405
390
|
|
|
406
391
|
|
|
407
392
|
@pytest.mark.parametrize("fit_intercept", [False, True])
|
|
408
|
-
@pytest.mark.parametrize(
|
|
393
|
+
@pytest.mark.parametrize(
|
|
394
|
+
"multi_class", ["ovr", "multinomial"] if not sklearn_check_version("1.8") else [None]
|
|
395
|
+
)
|
|
409
396
|
@pytest.mark.parametrize("weighted", [False, True])
|
|
410
397
|
@pytest.mark.allow_sklearn_fallback
|
|
411
398
|
def test_warm_start_multinomial(fit_intercept, multi_class, weighted):
|
|
@@ -420,39 +407,22 @@ def test_warm_start_multinomial(fit_intercept, multi_class, weighted):
|
|
|
420
407
|
class_sep=0.5,
|
|
421
408
|
)
|
|
422
409
|
|
|
410
|
+
params = {"random_state": 123, "solver": "newton-cg", "fit_intercept": fit_intercept}
|
|
411
|
+
if not sklearn_check_version("1.8"):
|
|
412
|
+
params["multi_class"] = multi_class
|
|
413
|
+
|
|
423
414
|
with warnings.catch_warnings():
|
|
424
415
|
warnings.simplefilter("ignore")
|
|
425
|
-
model1 = LogisticRegression(
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
).fit(
|
|
432
|
-
X,
|
|
433
|
-
y,
|
|
434
|
-
np.ones(X.shape[0]) if weighted else None,
|
|
435
|
-
)
|
|
436
|
-
model2 = (
|
|
437
|
-
LogisticRegression(
|
|
438
|
-
random_state=123,
|
|
439
|
-
solver="newton-cg",
|
|
440
|
-
fit_intercept=fit_intercept,
|
|
441
|
-
multi_class=multi_class,
|
|
442
|
-
max_iter=1,
|
|
443
|
-
warm_start=True,
|
|
444
|
-
)
|
|
445
|
-
.fit(
|
|
446
|
-
X,
|
|
447
|
-
y,
|
|
448
|
-
np.ones(X.shape[0]) if weighted else None,
|
|
449
|
-
)
|
|
450
|
-
.fit(
|
|
416
|
+
model1 = LogisticRegression(**params, max_iter=2)
|
|
417
|
+
model2 = LogisticRegression(**params, max_iter=1, warm_start=True)
|
|
418
|
+
|
|
419
|
+
# fit model2 twice using the same data to get 2 iterations (with warm_start)
|
|
420
|
+
for est in (model1, model2, model2):
|
|
421
|
+
est.fit(
|
|
451
422
|
X,
|
|
452
423
|
y,
|
|
453
424
|
np.ones(X.shape[0]) if weighted else None,
|
|
454
425
|
)
|
|
455
|
-
)
|
|
456
426
|
|
|
457
427
|
np.testing.assert_allclose(model1.coef_, model2.coef_)
|
|
458
428
|
if fit_intercept:
|
|
@@ -473,7 +443,9 @@ def test_warm_start_multinomial(fit_intercept, multi_class, weighted):
|
|
|
473
443
|
@pytest.mark.skipif(
|
|
474
444
|
not daal_check_version((2025, "P", 800)), reason="Bugs fixed in later oneDAL releases"
|
|
475
445
|
)
|
|
476
|
-
@pytest.mark.parametrize(
|
|
446
|
+
@pytest.mark.parametrize(
|
|
447
|
+
"multi_class", ["auto", "multinomial"] if not sklearn_check_version("1.8") else [None]
|
|
448
|
+
)
|
|
477
449
|
@pytest.mark.parametrize("C", [1, 0.2, 20.0])
|
|
478
450
|
@pytest.mark.parametrize("solver", ["lbfgs", "newton-cg"])
|
|
479
451
|
@pytest.mark.parametrize("n_classes", [2, 3])
|
|
@@ -491,24 +463,17 @@ def test_custom_solvers_are_correct(multi_class, C, solver, n_classes):
|
|
|
491
463
|
class_sep=0.25,
|
|
492
464
|
)
|
|
493
465
|
|
|
466
|
+
params = {"C": C}
|
|
467
|
+
if not sklearn_check_version:
|
|
468
|
+
params["multi_class"] = multi_class
|
|
469
|
+
|
|
494
470
|
with warnings.catch_warnings():
|
|
495
471
|
warnings.simplefilter("ignore")
|
|
496
|
-
model_sklearn = _sklearn_LogisticRegression(
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
).fit(X, y)
|
|
500
|
-
model_sklearnex = LogisticRegression(
|
|
501
|
-
C=C, solver=solver, multi_class=multi_class, max_iter=1_000, tol=1e-8
|
|
502
|
-
).fit(X, y)
|
|
472
|
+
model_sklearn = _sklearn_LogisticRegression(**params).fit(X, y)
|
|
473
|
+
params["solver"] = solver
|
|
474
|
+
model_sklearnex = LogisticRegression(**params, max_iter=1_000, tol=1e-8).fit(X, y)
|
|
503
475
|
model_sklearnex_refitted = (
|
|
504
|
-
LogisticRegression(
|
|
505
|
-
C=C,
|
|
506
|
-
solver=solver,
|
|
507
|
-
multi_class=multi_class,
|
|
508
|
-
max_iter=1_000,
|
|
509
|
-
tol=1e-8,
|
|
510
|
-
warm_start=True,
|
|
511
|
-
)
|
|
476
|
+
LogisticRegression(**params, max_iter=1_000, tol=1e-8, warm_start=True)
|
|
512
477
|
.fit(X, y)
|
|
513
478
|
.fit(X, y)
|
|
514
479
|
)
|
|
@@ -571,7 +536,30 @@ def test_gpu_logreg_prediction_shapes(dataframe, queue):
|
|
|
571
536
|
pred = model.predict(X)
|
|
572
537
|
pred_proba = model.predict_proba(X)
|
|
573
538
|
pred_log_proba = model.predict_log_proba(X)
|
|
539
|
+
pred_decision_function = model.decision_function(X)
|
|
574
540
|
|
|
575
541
|
np.testing.assert_array_equal(pred.shape, (X.shape[0],))
|
|
576
542
|
np.testing.assert_array_equal(pred_proba.shape, (X.shape[0], 2))
|
|
577
543
|
np.testing.assert_array_equal(pred_log_proba.shape, (X.shape[0], 2))
|
|
544
|
+
np.testing.assert_array_equal(pred_decision_function.shape, (X.shape[0],))
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
@pytest.mark.skipif(
|
|
548
|
+
not daal_check_version((2025, "P", 900)), reason="Bugs fixed in later oneDAL releases"
|
|
549
|
+
)
|
|
550
|
+
@pytest.mark.parametrize("dataframe,queue", get_dataframes_and_queues())
|
|
551
|
+
def test_log_proba_doesnt_return_inf(dataframe, queue):
|
|
552
|
+
from sklearnex.linear_model import LogisticRegression
|
|
553
|
+
|
|
554
|
+
X, y = make_classification(random_state=123)
|
|
555
|
+
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
556
|
+
y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
|
|
557
|
+
|
|
558
|
+
model = LogisticRegression(solver="newton-cg").fit(X, y)
|
|
559
|
+
X_problem = 1e10 * _as_numpy(model.coef_).reshape((1, -1))
|
|
560
|
+
X_problem = np.vstack([X_problem, -X_problem])
|
|
561
|
+
|
|
562
|
+
pred_log_proba = model.predict_log_proba(X_problem)
|
|
563
|
+
pred_log_proba = _as_numpy(pred_log_proba)
|
|
564
|
+
|
|
565
|
+
assert not np.any(np.isinf(pred_log_proba))
|