scikit-learn-intelex 2025.10.0__py313-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.
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/_daal4py.cp313-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +94 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +1199 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +211 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +425 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp313-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +252 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +245 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +565 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +528 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +333 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1285 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +826 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +269 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +290 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +561 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_enet.py +157 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +198 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +432 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +259 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +164 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +90 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +117 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +493 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +136 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +72 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +736 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +21 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +80 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +772 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/__init__.py +151 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_config.py +80 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_device_offload.py +199 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp313-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp313-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +151 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +165 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +241 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +279 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +80 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +582 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +145 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_backend.py +258 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +148 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +148 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +121 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +151 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +190 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +158 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +64 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +63 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +131 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +686 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +218 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +291 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/dummy/dummy.py +137 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +781 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +201 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +230 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +293 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +213 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +171 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +252 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +690 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +202 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/svm.py +592 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +352 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/test_common.py +71 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +179 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +94 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +98 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +213 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/_third_party.py +220 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/utils/validation.py +503 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/__init__.py +69 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/__main__.py +58 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_config.py +163 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +205 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/_utils.py +219 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +241 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +338 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +405 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +455 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/dbscan.py +199 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +399 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +38 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +157 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/conftest.py +82 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +440 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +307 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +164 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dispatcher.py +572 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +629 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/_dummy.py +615 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/tests/test_dummy.py +62 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/_forest.py +1799 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +196 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/glob/__main__.py +72 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/glob/dispatcher.py +101 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +44 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +427 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +407 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +363 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +466 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +407 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +267 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +214 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +167 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +565 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py +28 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +256 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/__init__.py +23 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/pairwise.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/ranking.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +39 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/model_selection/__init__.py +21 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/model_selection/split.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +34 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/__init__.py +27 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/_lof.py +189 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/common.py +313 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +189 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +167 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +170 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +82 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/__init__.py +17 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +261 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +112 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +390 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/__init__.py +25 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +24 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +117 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +314 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +30 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +21 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +108 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +180 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +24 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +120 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +200 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +20 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +23 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +23 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +276 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +146 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +299 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +21 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +28 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +24 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +21 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +345 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +162 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +169 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +23 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +433 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/__init__.py +29 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +403 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/nusvc.py +278 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/nusvr.py +158 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/svc.py +306 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/svr.py +155 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +124 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +607 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +256 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +335 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +269 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +111 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_parallel.py +48 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_patching.py +418 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +335 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +420 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +19 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +217 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/class_weight.py +100 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_class_weight.py +69 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +212 -0
- scikit_learn_intelex-2025.10.0.dist-info/LICENSE.txt +202 -0
- scikit_learn_intelex-2025.10.0.dist-info/METADATA +182 -0
- scikit_learn_intelex-2025.10.0.dist-info/RECORD +267 -0
- scikit_learn_intelex-2025.10.0.dist-info/WHEEL +5 -0
- scikit_learn_intelex-2025.10.0.dist-info/top_level.txt +1 -0
scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2014 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
|
+
from scipy import sparse as sp
|
|
19
|
+
from sklearn.linear_model import LinearRegression as LinearRegression_original
|
|
20
|
+
from sklearn.utils import check_array
|
|
21
|
+
|
|
22
|
+
from .._utils import sklearn_check_version
|
|
23
|
+
from ..utils.validation import _daal_check_array, check_feature_names, validate_data
|
|
24
|
+
|
|
25
|
+
if not sklearn_check_version("1.2"):
|
|
26
|
+
from sklearn.linear_model._base import _deprecate_normalize
|
|
27
|
+
|
|
28
|
+
import logging
|
|
29
|
+
|
|
30
|
+
import daal4py
|
|
31
|
+
|
|
32
|
+
from .._n_jobs_support import control_n_jobs
|
|
33
|
+
from .._utils import (
|
|
34
|
+
PatchingConditionsChain,
|
|
35
|
+
get_patch_message,
|
|
36
|
+
getFPType,
|
|
37
|
+
is_DataFrame,
|
|
38
|
+
make2d,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def _daal4py_fit(self, X, y_):
|
|
43
|
+
y = make2d(y_)
|
|
44
|
+
X_fptype = getFPType(X)
|
|
45
|
+
|
|
46
|
+
try:
|
|
47
|
+
lr_algorithm = daal4py.linear_regression_training(
|
|
48
|
+
fptype=X_fptype, interceptFlag=bool(self.fit_intercept), method="defaultDense"
|
|
49
|
+
)
|
|
50
|
+
lr_res = lr_algorithm.compute(X, y)
|
|
51
|
+
except RuntimeError:
|
|
52
|
+
# Normal system is not invertible, try QR
|
|
53
|
+
try:
|
|
54
|
+
lr_algorithm = daal4py.linear_regression_training(
|
|
55
|
+
fptype=X_fptype, interceptFlag=bool(self.fit_intercept), method="qrDense"
|
|
56
|
+
)
|
|
57
|
+
lr_res = lr_algorithm.compute(X, y)
|
|
58
|
+
except RuntimeError:
|
|
59
|
+
# fall back on sklearn
|
|
60
|
+
return None
|
|
61
|
+
|
|
62
|
+
lr_model = lr_res.model
|
|
63
|
+
self.daal_model_ = lr_model
|
|
64
|
+
coefs = lr_model.Beta
|
|
65
|
+
|
|
66
|
+
self.intercept_ = coefs[:, 0].copy(order="C")
|
|
67
|
+
self.coef_ = coefs[:, 1:].copy(order="C")
|
|
68
|
+
self.n_features_in_ = X.shape[1]
|
|
69
|
+
self.rank_ = X.shape[1]
|
|
70
|
+
self.singular_ = np.full((X.shape[1],), np.nan)
|
|
71
|
+
|
|
72
|
+
if self.coef_.shape[0] == 1 and y_.ndim == 1:
|
|
73
|
+
self.coef_ = np.ravel(self.coef_)
|
|
74
|
+
self.intercept_ = self.intercept_[0]
|
|
75
|
+
|
|
76
|
+
return self
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def _daal4py_predict(self, X):
|
|
80
|
+
X = make2d(X)
|
|
81
|
+
_fptype = getFPType(self.coef_)
|
|
82
|
+
lr_pred = daal4py.linear_regression_prediction(fptype=_fptype, method="defaultDense")
|
|
83
|
+
if X.shape[1] != self.n_features_in_:
|
|
84
|
+
raise ValueError(
|
|
85
|
+
f"X has {X.shape[1]} features, "
|
|
86
|
+
f"but LinearRegression is expecting "
|
|
87
|
+
f"{self.n_features_in_} features as input"
|
|
88
|
+
)
|
|
89
|
+
try:
|
|
90
|
+
lr_res = lr_pred.compute(X, self.daal_model_)
|
|
91
|
+
except RuntimeError:
|
|
92
|
+
raise ValueError(
|
|
93
|
+
f"Input data shape {X.shape} is inconsistent with the trained model"
|
|
94
|
+
)
|
|
95
|
+
res = lr_res.prediction
|
|
96
|
+
if res.shape[1] == 1 and self.coef_.ndim == 1:
|
|
97
|
+
res = np.ravel(res)
|
|
98
|
+
|
|
99
|
+
return res
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def _fit_linear(self, X, y, sample_weight=None):
|
|
103
|
+
params = {
|
|
104
|
+
"X": X,
|
|
105
|
+
"y": y,
|
|
106
|
+
"accept_sparse": ["csr", "csc", "coo"],
|
|
107
|
+
"y_numeric": True,
|
|
108
|
+
"multi_output": True,
|
|
109
|
+
}
|
|
110
|
+
X, y = validate_data(
|
|
111
|
+
self,
|
|
112
|
+
dtype=[np.float64, np.float32],
|
|
113
|
+
**params,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
self.fit_shape_good_for_daal_ = bool(
|
|
117
|
+
X.shape[0] > X.shape[1] + int(self.fit_intercept)
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
_patching_status = PatchingConditionsChain(
|
|
121
|
+
"sklearn.linear_model.LinearRegression.fit"
|
|
122
|
+
)
|
|
123
|
+
_patching_status.and_conditions(
|
|
124
|
+
[
|
|
125
|
+
(not sp.issparse(X), "X is sparse. Sparse input is not supported."),
|
|
126
|
+
(
|
|
127
|
+
self.fit_shape_good_for_daal_,
|
|
128
|
+
"The shape of X does not satisfy oneDAL requirements: "
|
|
129
|
+
"number of features + 1 >= number of samples.",
|
|
130
|
+
),
|
|
131
|
+
(sample_weight is None, "Sample weights are not supported."),
|
|
132
|
+
]
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
_dal_ready = _patching_status.get_status()
|
|
136
|
+
_patching_status.write_log()
|
|
137
|
+
if _dal_ready:
|
|
138
|
+
res = _daal4py_fit(self, X, y)
|
|
139
|
+
if res is not None:
|
|
140
|
+
return res
|
|
141
|
+
logging.info(
|
|
142
|
+
"sklearn.linar_model.LinearRegression."
|
|
143
|
+
"fit: " + get_patch_message("sklearn_after_daal")
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
return super(LinearRegression, self).fit(
|
|
147
|
+
X,
|
|
148
|
+
y,
|
|
149
|
+
sample_weight=sample_weight,
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def _predict_linear(self, X):
|
|
154
|
+
check_feature_names(self, X, reset=False)
|
|
155
|
+
is_df = is_DataFrame(X)
|
|
156
|
+
X = check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
|
|
157
|
+
X = np.asarray(X) if not sp.issparse(X) and not is_df else X
|
|
158
|
+
good_shape_for_daal = (
|
|
159
|
+
True if X.ndim <= 1 else True if X.shape[0] > X.shape[1] else False
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
_patching_status = PatchingConditionsChain(
|
|
163
|
+
"sklearn.linear_model.LinearRegression.predict"
|
|
164
|
+
)
|
|
165
|
+
_dal_ready = _patching_status.and_conditions(
|
|
166
|
+
[
|
|
167
|
+
(hasattr(self, "daal_model_"), "oneDAL model was not trained."),
|
|
168
|
+
(not sp.issparse(X), "X is sparse. Sparse input is not supported."),
|
|
169
|
+
(
|
|
170
|
+
good_shape_for_daal,
|
|
171
|
+
"The shape of X does not satisfy oneDAL requirements: "
|
|
172
|
+
"Number of features >= number of samples.",
|
|
173
|
+
),
|
|
174
|
+
(
|
|
175
|
+
not hasattr(self, "sample_weight_") or self.sample_weight_ is None,
|
|
176
|
+
"Sample weights are not supported.",
|
|
177
|
+
),
|
|
178
|
+
]
|
|
179
|
+
)
|
|
180
|
+
if hasattr(self, "fit_shape_good_for_daal_"):
|
|
181
|
+
_dal_ready = _patching_status.and_conditions(
|
|
182
|
+
[
|
|
183
|
+
(
|
|
184
|
+
self.fit_shape_good_for_daal_,
|
|
185
|
+
"The shape of X (fitting) does not satisfy oneDAL requirements: "
|
|
186
|
+
"Number of features + 1 >= number of samples.",
|
|
187
|
+
)
|
|
188
|
+
]
|
|
189
|
+
)
|
|
190
|
+
_patching_status.write_log()
|
|
191
|
+
if not _dal_ready:
|
|
192
|
+
return self._decision_function(X)
|
|
193
|
+
X = _daal_check_array(X)
|
|
194
|
+
return _daal4py_predict(self, X)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
@control_n_jobs(decorated_methods=["fit", "predict"])
|
|
198
|
+
class LinearRegression(LinearRegression_original):
|
|
199
|
+
__doc__ = LinearRegression_original.__doc__
|
|
200
|
+
|
|
201
|
+
if sklearn_check_version("1.2"):
|
|
202
|
+
_parameter_constraints: dict = {
|
|
203
|
+
**LinearRegression_original._parameter_constraints
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
def __init__(
|
|
207
|
+
self,
|
|
208
|
+
fit_intercept=True,
|
|
209
|
+
copy_X=True,
|
|
210
|
+
n_jobs=None,
|
|
211
|
+
positive=False,
|
|
212
|
+
):
|
|
213
|
+
super(LinearRegression, self).__init__(
|
|
214
|
+
fit_intercept=fit_intercept,
|
|
215
|
+
copy_X=copy_X,
|
|
216
|
+
n_jobs=n_jobs,
|
|
217
|
+
positive=positive,
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
else:
|
|
221
|
+
|
|
222
|
+
def __init__(
|
|
223
|
+
self,
|
|
224
|
+
fit_intercept=True,
|
|
225
|
+
normalize="deprecated",
|
|
226
|
+
copy_X=True,
|
|
227
|
+
n_jobs=None,
|
|
228
|
+
positive=False,
|
|
229
|
+
):
|
|
230
|
+
super(LinearRegression, self).__init__(
|
|
231
|
+
fit_intercept=fit_intercept,
|
|
232
|
+
normalize=normalize,
|
|
233
|
+
copy_X=copy_X,
|
|
234
|
+
n_jobs=n_jobs,
|
|
235
|
+
positive=positive,
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
def fit(self, X, y, sample_weight=None):
|
|
239
|
+
if not sklearn_check_version("1.2"):
|
|
240
|
+
self._normalize = _deprecate_normalize(
|
|
241
|
+
self.normalize,
|
|
242
|
+
default=False,
|
|
243
|
+
estimator_name=self.__class__.__name__,
|
|
244
|
+
)
|
|
245
|
+
check_feature_names(self, X, reset=True)
|
|
246
|
+
if sklearn_check_version("1.2"):
|
|
247
|
+
self._validate_params()
|
|
248
|
+
|
|
249
|
+
_patching_status = PatchingConditionsChain(
|
|
250
|
+
"sklearn.linear_model.LinearRegression.fit"
|
|
251
|
+
)
|
|
252
|
+
_dal_ready = _patching_status.and_conditions(
|
|
253
|
+
[
|
|
254
|
+
(
|
|
255
|
+
self.positive is False,
|
|
256
|
+
"Forced positive coefficients are not supported.",
|
|
257
|
+
)
|
|
258
|
+
]
|
|
259
|
+
)
|
|
260
|
+
if not _dal_ready:
|
|
261
|
+
_patching_status.write_log()
|
|
262
|
+
return super(LinearRegression, self).fit(X, y=y, sample_weight=sample_weight)
|
|
263
|
+
return _fit_linear(self, X, y, sample_weight=sample_weight)
|
|
264
|
+
|
|
265
|
+
def predict(self, X):
|
|
266
|
+
return _predict_linear(self, X)
|
|
267
|
+
|
|
268
|
+
fit.__doc__ = LinearRegression_original.fit.__doc__
|
|
269
|
+
predict.__doc__ = LinearRegression_original.predict.__doc__
|
scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py
ADDED
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2014 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 logging
|
|
18
|
+
import numbers
|
|
19
|
+
|
|
20
|
+
import numpy as np
|
|
21
|
+
from scipy import sparse as sp
|
|
22
|
+
from sklearn.linear_model._ridge import Ridge as Ridge_original
|
|
23
|
+
from sklearn.linear_model._ridge import _BaseRidge
|
|
24
|
+
from sklearn.utils import check_array, check_X_y
|
|
25
|
+
|
|
26
|
+
import daal4py
|
|
27
|
+
|
|
28
|
+
from .._n_jobs_support import control_n_jobs
|
|
29
|
+
from .._utils import (
|
|
30
|
+
PatchingConditionsChain,
|
|
31
|
+
get_patch_message,
|
|
32
|
+
getFPType,
|
|
33
|
+
make2d,
|
|
34
|
+
sklearn_check_version,
|
|
35
|
+
)
|
|
36
|
+
from ..utils.validation import validate_data
|
|
37
|
+
|
|
38
|
+
if not sklearn_check_version("1.2"):
|
|
39
|
+
from sklearn.linear_model._base import _deprecate_normalize
|
|
40
|
+
if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
|
|
41
|
+
from sklearn.utils import check_scalar
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def _daal4py_fit(self, X, y_):
|
|
45
|
+
X = make2d(X)
|
|
46
|
+
y = make2d(y_)
|
|
47
|
+
|
|
48
|
+
_fptype = getFPType(X)
|
|
49
|
+
|
|
50
|
+
ridge_params = np.asarray(self.alpha, dtype=X.dtype)
|
|
51
|
+
if ridge_params.size != 1 and ridge_params.size != y.shape[1]:
|
|
52
|
+
# incorrect order of parameters in the error message is intentional to match sklearn
|
|
53
|
+
raise ValueError(
|
|
54
|
+
"Number of targets and number of penalties do not correspond: "
|
|
55
|
+
f"{ridge_params.size} != {y.shape[1]}"
|
|
56
|
+
)
|
|
57
|
+
ridge_params = ridge_params.reshape((-1, 1))
|
|
58
|
+
|
|
59
|
+
ridge_alg = daal4py.ridge_regression_training(
|
|
60
|
+
fptype=_fptype,
|
|
61
|
+
method="defaultDense",
|
|
62
|
+
interceptFlag=(self.fit_intercept is True),
|
|
63
|
+
ridgeParameters=ridge_params,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
try:
|
|
67
|
+
ridge_res = ridge_alg.compute(X, y)
|
|
68
|
+
except RuntimeError:
|
|
69
|
+
return None
|
|
70
|
+
|
|
71
|
+
ridge_model = ridge_res.model
|
|
72
|
+
self.daal_model_ = ridge_model
|
|
73
|
+
coefs = ridge_model.Beta
|
|
74
|
+
|
|
75
|
+
self.intercept_ = coefs[:, 0].copy(order="C")
|
|
76
|
+
self.coef_ = coefs[:, 1:].copy(order="C")
|
|
77
|
+
|
|
78
|
+
if self.coef_.shape[0] == 1 and y_.ndim == 1:
|
|
79
|
+
self.coef_ = np.ravel(self.coef_)
|
|
80
|
+
self.intercept_ = self.intercept_[0]
|
|
81
|
+
|
|
82
|
+
return self
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def _daal4py_predict(self, X):
|
|
86
|
+
X = make2d(X)
|
|
87
|
+
_fptype = getFPType(self.coef_)
|
|
88
|
+
|
|
89
|
+
ridge_palg = daal4py.ridge_regression_prediction(
|
|
90
|
+
fptype=_fptype, method="defaultDense"
|
|
91
|
+
)
|
|
92
|
+
if self.n_features_in_ != X.shape[1]:
|
|
93
|
+
raise ValueError(
|
|
94
|
+
f"X has {X.shape[1]} features, "
|
|
95
|
+
f"but Ridge is expecting {self.n_features_in_} features as input"
|
|
96
|
+
)
|
|
97
|
+
ridge_res = ridge_palg.compute(X, self.daal_model_)
|
|
98
|
+
|
|
99
|
+
res = ridge_res.prediction
|
|
100
|
+
|
|
101
|
+
if res.shape[1] == 1 and self.coef_.ndim == 1:
|
|
102
|
+
res = np.ravel(res)
|
|
103
|
+
return res
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def _fit_ridge(self, _X, _y, sample_weight=None):
|
|
107
|
+
if not sklearn_check_version("1.2"):
|
|
108
|
+
self._normalize = _deprecate_normalize(
|
|
109
|
+
self.normalize, default=False, estimator_name=self.__class__.__name__
|
|
110
|
+
)
|
|
111
|
+
if sklearn_check_version("1.2"):
|
|
112
|
+
self._validate_params()
|
|
113
|
+
elif sklearn_check_version("1.1"):
|
|
114
|
+
if self.max_iter is not None:
|
|
115
|
+
self.max_iter = check_scalar(
|
|
116
|
+
self.max_iter, "max_iter", target_type=numbers.Integral, min_val=1
|
|
117
|
+
)
|
|
118
|
+
self.tol = check_scalar(self.tol, "tol", target_type=numbers.Real, min_val=0.0)
|
|
119
|
+
if self.alpha is not None and not isinstance(self.alpha, (np.ndarray, tuple)):
|
|
120
|
+
self.alpha = check_scalar(
|
|
121
|
+
self.alpha,
|
|
122
|
+
"alpha",
|
|
123
|
+
target_type=numbers.Real,
|
|
124
|
+
min_val=0.0,
|
|
125
|
+
include_boundaries="left",
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
X, y = validate_data(
|
|
129
|
+
self,
|
|
130
|
+
_X,
|
|
131
|
+
_y,
|
|
132
|
+
accept_sparse=["csr", "csc", "coo"],
|
|
133
|
+
dtype=[np.float64, np.float32],
|
|
134
|
+
multi_output=True,
|
|
135
|
+
y_numeric=True,
|
|
136
|
+
ensure_2d=True,
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
self.sample_weight_ = sample_weight
|
|
140
|
+
self.fit_shape_good_for_daal_ = True if X.shape[0] >= X.shape[1] else False
|
|
141
|
+
|
|
142
|
+
_patching_status = PatchingConditionsChain("sklearn.linear_model.Ridge.fit")
|
|
143
|
+
_dal_ready = _patching_status.and_conditions(
|
|
144
|
+
[
|
|
145
|
+
(
|
|
146
|
+
self.solver == "auto",
|
|
147
|
+
f"'{self.solver}' solver is not supported. "
|
|
148
|
+
"Only 'auto' solver is supported.",
|
|
149
|
+
),
|
|
150
|
+
(not sp.issparse(X), "X is sparse. Sparse input is not supported."),
|
|
151
|
+
(
|
|
152
|
+
self.fit_shape_good_for_daal_,
|
|
153
|
+
"The shape of X does not satisfy oneDAL requirements: "
|
|
154
|
+
"number of features > number of samples.",
|
|
155
|
+
),
|
|
156
|
+
(
|
|
157
|
+
X.dtype == np.float64 or X.dtype == np.float32,
|
|
158
|
+
f"'{X.dtype}' X data type is not supported. "
|
|
159
|
+
"Only np.float32 and np.float64 are supported.",
|
|
160
|
+
),
|
|
161
|
+
(sample_weight is None, "Sample weights are not supported."),
|
|
162
|
+
(
|
|
163
|
+
not (hasattr(self, "positive") and self.positive),
|
|
164
|
+
"Forced positive coefficients are not supported.",
|
|
165
|
+
),
|
|
166
|
+
]
|
|
167
|
+
)
|
|
168
|
+
_patching_status.write_log()
|
|
169
|
+
|
|
170
|
+
if not _dal_ready:
|
|
171
|
+
if hasattr(self, "daal_model_"):
|
|
172
|
+
del self.daal_model_
|
|
173
|
+
return Ridge_original.fit(self, _X, _y, sample_weight=sample_weight)
|
|
174
|
+
self.n_iter_ = None
|
|
175
|
+
res = _daal4py_fit(self, X, y)
|
|
176
|
+
if res is None:
|
|
177
|
+
logging.info(
|
|
178
|
+
"sklearn.linear_model.Ridge.fit: " + get_patch_message("sklearn_after_daal")
|
|
179
|
+
)
|
|
180
|
+
if hasattr(self, "daal_model_"):
|
|
181
|
+
del self.daal_model_
|
|
182
|
+
return Ridge_original.fit(self, _X, _y, sample_weight=sample_weight)
|
|
183
|
+
return res
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def _predict_ridge(self, _X):
|
|
187
|
+
X = validate_data(
|
|
188
|
+
self,
|
|
189
|
+
_X,
|
|
190
|
+
accept_sparse=["csr", "csc", "coo"],
|
|
191
|
+
dtype=[np.float64, np.float32],
|
|
192
|
+
reset=False,
|
|
193
|
+
ensure_2d=True,
|
|
194
|
+
)
|
|
195
|
+
good_shape_for_daal = (
|
|
196
|
+
True if X.ndim <= 1 else True if X.shape[0] >= X.shape[1] else False
|
|
197
|
+
)
|
|
198
|
+
|
|
199
|
+
_patching_status = PatchingConditionsChain("sklearn.linear_model.Ridge.predict")
|
|
200
|
+
_dal_ready = _patching_status.and_conditions(
|
|
201
|
+
[
|
|
202
|
+
(
|
|
203
|
+
self.solver == "auto",
|
|
204
|
+
f"'{self.solver}' solver is not supported. "
|
|
205
|
+
"Only 'auto' solver is supported.",
|
|
206
|
+
),
|
|
207
|
+
(hasattr(self, "daal_model_"), "oneDAL model was not trained."),
|
|
208
|
+
(not sp.issparse(X), "X is sparse. Sparse input is not supported."),
|
|
209
|
+
(
|
|
210
|
+
good_shape_for_daal,
|
|
211
|
+
"The shape of X does not satisfy oneDAL requirements: "
|
|
212
|
+
"number of features > number of samples.",
|
|
213
|
+
),
|
|
214
|
+
(
|
|
215
|
+
X.dtype == np.float64 or X.dtype == np.float32,
|
|
216
|
+
f"'{X.dtype}' X data type is not supported. "
|
|
217
|
+
"Only np.float32 and np.float64 are supported.",
|
|
218
|
+
),
|
|
219
|
+
(
|
|
220
|
+
not hasattr(self, "sample_weight_") or self.sample_weight_ is None,
|
|
221
|
+
"Sample weights are not supported.",
|
|
222
|
+
),
|
|
223
|
+
]
|
|
224
|
+
)
|
|
225
|
+
_patching_status.write_log()
|
|
226
|
+
|
|
227
|
+
if not _dal_ready:
|
|
228
|
+
return self._decision_function(_X)
|
|
229
|
+
return _daal4py_predict(self, X)
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
@control_n_jobs(decorated_methods=["fit", "predict"])
|
|
233
|
+
class Ridge(Ridge_original, _BaseRidge):
|
|
234
|
+
__doc__ = Ridge_original.__doc__
|
|
235
|
+
|
|
236
|
+
if sklearn_check_version("1.2"):
|
|
237
|
+
_parameter_constraints: dict = {**Ridge_original._parameter_constraints}
|
|
238
|
+
|
|
239
|
+
def __init__(
|
|
240
|
+
self,
|
|
241
|
+
alpha=1.0,
|
|
242
|
+
fit_intercept=True,
|
|
243
|
+
copy_X=True,
|
|
244
|
+
max_iter=None,
|
|
245
|
+
tol=1e-4,
|
|
246
|
+
solver="auto",
|
|
247
|
+
positive=False,
|
|
248
|
+
random_state=None,
|
|
249
|
+
):
|
|
250
|
+
self.alpha = alpha
|
|
251
|
+
self.fit_intercept = fit_intercept
|
|
252
|
+
self.copy_X = copy_X
|
|
253
|
+
self.max_iter = max_iter
|
|
254
|
+
self.tol = tol
|
|
255
|
+
self.solver = solver
|
|
256
|
+
self.positive = positive
|
|
257
|
+
self.random_state = random_state
|
|
258
|
+
|
|
259
|
+
else:
|
|
260
|
+
|
|
261
|
+
def __init__(
|
|
262
|
+
self,
|
|
263
|
+
alpha=1.0,
|
|
264
|
+
fit_intercept=True,
|
|
265
|
+
normalize="deprecated",
|
|
266
|
+
copy_X=True,
|
|
267
|
+
max_iter=None,
|
|
268
|
+
tol=1e-3,
|
|
269
|
+
solver="auto",
|
|
270
|
+
positive=False,
|
|
271
|
+
random_state=None,
|
|
272
|
+
):
|
|
273
|
+
self.alpha = alpha
|
|
274
|
+
self.fit_intercept = fit_intercept
|
|
275
|
+
self.normalize = normalize
|
|
276
|
+
self.copy_X = copy_X
|
|
277
|
+
self.max_iter = max_iter
|
|
278
|
+
self.tol = tol
|
|
279
|
+
self.solver = solver
|
|
280
|
+
self.positive = positive
|
|
281
|
+
self.random_state = random_state
|
|
282
|
+
|
|
283
|
+
def fit(self, X, y, sample_weight=None):
|
|
284
|
+
return _fit_ridge(self, X, y, sample_weight=sample_weight)
|
|
285
|
+
|
|
286
|
+
def predict(self, X):
|
|
287
|
+
return _predict_ridge(self, X)
|
|
288
|
+
|
|
289
|
+
fit.__doc__ = Ridge_original.fit.__doc__
|
|
290
|
+
predict.__doc__ = Ridge_original.predict.__doc__
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2020 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
from ._coordinate_descent import *
|
scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2014 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
from ._linear import *
|