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/model_selection/_split.py
ADDED
|
@@ -0,0 +1,309 @@
|
|
|
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 platform
|
|
18
|
+
|
|
19
|
+
import numpy as np
|
|
20
|
+
from sklearn.model_selection import ShuffleSplit, StratifiedShuffleSplit
|
|
21
|
+
from sklearn.model_selection._split import _validate_shuffle_split
|
|
22
|
+
from sklearn.utils import indexable
|
|
23
|
+
from sklearn.utils.validation import _num_samples
|
|
24
|
+
|
|
25
|
+
import daal4py as d4p
|
|
26
|
+
from daal4py.sklearn._utils import PatchingConditionsChain
|
|
27
|
+
|
|
28
|
+
from .._utils import sklearn_check_version
|
|
29
|
+
|
|
30
|
+
try:
|
|
31
|
+
from sklearn.utils import _safe_indexing as safe_indexing
|
|
32
|
+
except ImportError:
|
|
33
|
+
from sklearn.utils import safe_indexing
|
|
34
|
+
|
|
35
|
+
try:
|
|
36
|
+
import mkl_random
|
|
37
|
+
|
|
38
|
+
mkl_random_is_imported = True
|
|
39
|
+
except (ImportError, ModuleNotFoundError):
|
|
40
|
+
mkl_random_is_imported = False
|
|
41
|
+
|
|
42
|
+
try:
|
|
43
|
+
import pandas as pd
|
|
44
|
+
|
|
45
|
+
pandas_is_imported = True
|
|
46
|
+
except (ImportError, ModuleNotFoundError):
|
|
47
|
+
pandas_is_imported = False
|
|
48
|
+
|
|
49
|
+
if sklearn_check_version("1.3"):
|
|
50
|
+
import numbers
|
|
51
|
+
|
|
52
|
+
from sklearn.utils._param_validation import Interval, RealNotInt, validate_params
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def get_dtypes(data):
|
|
56
|
+
if hasattr(data, "dtype"):
|
|
57
|
+
return [data.dtype]
|
|
58
|
+
if hasattr(data, "dtypes"):
|
|
59
|
+
return list(data.dtypes)
|
|
60
|
+
if hasattr(data, "values"):
|
|
61
|
+
return [data.values.dtype]
|
|
62
|
+
return None
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def train_test_split(*arrays, **options):
|
|
66
|
+
n_arrays = len(arrays)
|
|
67
|
+
if n_arrays == 0:
|
|
68
|
+
raise ValueError("At least one array required as input")
|
|
69
|
+
test_size = options.pop("test_size", None)
|
|
70
|
+
train_size = options.pop("train_size", None)
|
|
71
|
+
random_state = options.pop("random_state", None)
|
|
72
|
+
stratify = options.pop("stratify", None)
|
|
73
|
+
shuffle = options.pop("shuffle", True)
|
|
74
|
+
rng = options.pop("rng", "OPTIMIZED_MT19937")
|
|
75
|
+
|
|
76
|
+
available_rngs = [
|
|
77
|
+
"default",
|
|
78
|
+
"MT19937",
|
|
79
|
+
"SFMT19937",
|
|
80
|
+
"MT2203",
|
|
81
|
+
"R250",
|
|
82
|
+
"WH",
|
|
83
|
+
"MCG31",
|
|
84
|
+
"MCG59",
|
|
85
|
+
"MRG32K3A",
|
|
86
|
+
"PHILOX4X32X10",
|
|
87
|
+
"NONDETERM",
|
|
88
|
+
"OPTIMIZED_MT19937",
|
|
89
|
+
]
|
|
90
|
+
if rng not in available_rngs:
|
|
91
|
+
raise ValueError(
|
|
92
|
+
"Wrong random numbers generator is chosen. "
|
|
93
|
+
"Available generators: %s" % str(available_rngs)[1:-1]
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
if options:
|
|
97
|
+
raise TypeError("Invalid parameters passed: %s" % str(options))
|
|
98
|
+
|
|
99
|
+
arrays = indexable(*arrays)
|
|
100
|
+
|
|
101
|
+
n_samples = _num_samples(arrays[0])
|
|
102
|
+
n_train, n_test = _validate_shuffle_split(
|
|
103
|
+
n_samples, test_size, train_size, default_test_size=0.25
|
|
104
|
+
)
|
|
105
|
+
if shuffle is False:
|
|
106
|
+
if stratify is not None:
|
|
107
|
+
raise ValueError(
|
|
108
|
+
"Stratified train/test split is not implemented for shuffle=False"
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
train = np.arange(n_train)
|
|
112
|
+
test = np.arange(n_train, n_train + n_test)
|
|
113
|
+
else:
|
|
114
|
+
if stratify is not None:
|
|
115
|
+
cv = StratifiedShuffleSplit(
|
|
116
|
+
test_size=n_test, train_size=n_train, random_state=random_state
|
|
117
|
+
)
|
|
118
|
+
train, test = next(cv.split(X=arrays[0], y=stratify))
|
|
119
|
+
else:
|
|
120
|
+
if (
|
|
121
|
+
mkl_random_is_imported
|
|
122
|
+
and rng not in ["default", "OPTIMIZED_MT19937"]
|
|
123
|
+
and (isinstance(random_state, int) or random_state is None)
|
|
124
|
+
):
|
|
125
|
+
random_state = mkl_random.RandomState(random_state, rng)
|
|
126
|
+
indexes = random_state.permutation(n_samples)
|
|
127
|
+
test, train = indexes[:n_test], indexes[n_test : (n_test + n_train)]
|
|
128
|
+
elif (
|
|
129
|
+
rng == "OPTIMIZED_MT19937"
|
|
130
|
+
and (isinstance(random_state, int) or random_state is None)
|
|
131
|
+
and platform.system() != "Windows"
|
|
132
|
+
):
|
|
133
|
+
indexes = np.empty(
|
|
134
|
+
shape=(n_samples,),
|
|
135
|
+
dtype=np.int64 if n_train + n_test > 2**31 - 1 else np.int32,
|
|
136
|
+
)
|
|
137
|
+
random_state = np.random.RandomState(random_state)
|
|
138
|
+
random_state = random_state.get_state()[1]
|
|
139
|
+
d4p.daal_generate_shuffled_indices([indexes], [random_state])
|
|
140
|
+
test, train = indexes[:n_test], indexes[n_test : (n_test + n_train)]
|
|
141
|
+
else:
|
|
142
|
+
cv = ShuffleSplit(
|
|
143
|
+
test_size=n_test, train_size=n_train, random_state=random_state
|
|
144
|
+
)
|
|
145
|
+
train, test = next(cv.split(X=arrays[0], y=stratify))
|
|
146
|
+
|
|
147
|
+
res = []
|
|
148
|
+
for arr in arrays:
|
|
149
|
+
_patching_status = PatchingConditionsChain(
|
|
150
|
+
"sklearn.model_selection.train_test_split"
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
# input format check
|
|
154
|
+
_patching_status.and_conditions(
|
|
155
|
+
[(isinstance(arr, np.ndarray), "The input is not a np.ndarray object.")]
|
|
156
|
+
)
|
|
157
|
+
if pandas_is_imported:
|
|
158
|
+
_patching_status.or_conditions(
|
|
159
|
+
[
|
|
160
|
+
(
|
|
161
|
+
isinstance(arr, pd.core.frame.DataFrame),
|
|
162
|
+
"The input is not a pd.DataFrame object.",
|
|
163
|
+
),
|
|
164
|
+
(
|
|
165
|
+
isinstance(arr, pd.core.series.Series),
|
|
166
|
+
"The input is not a pd.Series object.",
|
|
167
|
+
),
|
|
168
|
+
],
|
|
169
|
+
conditions_merging=any,
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
# dimensions check
|
|
173
|
+
_dal_ready = _patching_status.and_conditions(
|
|
174
|
+
[(hasattr(arr, "ndim"), "The input does not have 'ndim' attribute.")]
|
|
175
|
+
)
|
|
176
|
+
if hasattr(arr, "ndim"):
|
|
177
|
+
_patching_status.and_conditions(
|
|
178
|
+
[(arr.ndim <= 2, "The input has more than 2 dimensions.")]
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
# data types check
|
|
182
|
+
dtypes = get_dtypes(arr)
|
|
183
|
+
_dal_ready = _patching_status.and_conditions(
|
|
184
|
+
[(dtypes is not None, "Unable to parse input data types.")]
|
|
185
|
+
)
|
|
186
|
+
if dtypes is not None:
|
|
187
|
+
incorrect_dtype = None
|
|
188
|
+
for i, dtype in enumerate(dtypes):
|
|
189
|
+
if str(dtype) not in ["float32", "float64"] and "int" not in str(dtype):
|
|
190
|
+
incorrect_dtype = str(dtype)
|
|
191
|
+
break
|
|
192
|
+
_dal_ready = _patching_status.and_conditions(
|
|
193
|
+
[
|
|
194
|
+
(
|
|
195
|
+
incorrect_dtype is None,
|
|
196
|
+
f"Input has incorrect data type '{incorrect_dtype}'. "
|
|
197
|
+
"Only integer and 32/64-bits floating point types are supported.",
|
|
198
|
+
)
|
|
199
|
+
]
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
_patching_status.write_log()
|
|
203
|
+
if not _dal_ready:
|
|
204
|
+
res.append(safe_indexing(arr, train))
|
|
205
|
+
res.append(safe_indexing(arr, test))
|
|
206
|
+
else:
|
|
207
|
+
if len(arr.shape) == 2:
|
|
208
|
+
n_cols = arr.shape[1]
|
|
209
|
+
reshape_later = False
|
|
210
|
+
else:
|
|
211
|
+
n_cols = 1
|
|
212
|
+
reshape_later = True
|
|
213
|
+
|
|
214
|
+
arr_copy = d4p.get_data(arr)
|
|
215
|
+
if not isinstance(arr_copy, list):
|
|
216
|
+
arr_copy = arr_copy.reshape(
|
|
217
|
+
(arr_copy.shape[0], n_cols),
|
|
218
|
+
order="A",
|
|
219
|
+
)
|
|
220
|
+
if isinstance(arr_copy, np.ndarray):
|
|
221
|
+
order = "C" if arr_copy.flags["C_CONTIGUOUS"] else "F"
|
|
222
|
+
train_arr = np.empty(
|
|
223
|
+
shape=(n_train, n_cols),
|
|
224
|
+
dtype=arr_copy.dtype,
|
|
225
|
+
order=order,
|
|
226
|
+
)
|
|
227
|
+
test_arr = np.empty(
|
|
228
|
+
shape=(n_test, n_cols),
|
|
229
|
+
dtype=arr_copy.dtype,
|
|
230
|
+
order=order,
|
|
231
|
+
)
|
|
232
|
+
d4p.daal_train_test_split(arr_copy, train_arr, test_arr, [train], [test])
|
|
233
|
+
if reshape_later:
|
|
234
|
+
train_arr, test_arr = train_arr.reshape((n_train,)), test_arr.reshape(
|
|
235
|
+
(n_test,)
|
|
236
|
+
)
|
|
237
|
+
elif isinstance(arr_copy, list):
|
|
238
|
+
train_arr = [
|
|
239
|
+
np.empty(
|
|
240
|
+
shape=(n_train,),
|
|
241
|
+
dtype=el.dtype,
|
|
242
|
+
order="C" if el.flags["C_CONTIGUOUS"] else "F",
|
|
243
|
+
)
|
|
244
|
+
for el in arr_copy
|
|
245
|
+
]
|
|
246
|
+
test_arr = [
|
|
247
|
+
np.empty(
|
|
248
|
+
shape=(n_test,),
|
|
249
|
+
dtype=el.dtype,
|
|
250
|
+
order="C" if el.flags["C_CONTIGUOUS"] else "F",
|
|
251
|
+
)
|
|
252
|
+
for el in arr_copy
|
|
253
|
+
]
|
|
254
|
+
d4p.daal_train_test_split(arr_copy, train_arr, test_arr, [train], [test])
|
|
255
|
+
train_arr = {col: train_arr[i] for i, col in enumerate(arr.columns)}
|
|
256
|
+
test_arr = {col: test_arr[i] for i, col in enumerate(arr.columns)}
|
|
257
|
+
else:
|
|
258
|
+
raise ValueError("Array can't be converted to needed format")
|
|
259
|
+
|
|
260
|
+
if pandas_is_imported:
|
|
261
|
+
if isinstance(arr, pd.core.frame.DataFrame):
|
|
262
|
+
train_arr, test_arr = pd.DataFrame(
|
|
263
|
+
train_arr, columns=arr.columns
|
|
264
|
+
), pd.DataFrame(test_arr, columns=arr.columns)
|
|
265
|
+
if isinstance(arr, pd.core.series.Series):
|
|
266
|
+
train_arr, test_arr = train_arr.reshape(n_train), test_arr.reshape(
|
|
267
|
+
n_test
|
|
268
|
+
)
|
|
269
|
+
train_arr, test_arr = pd.Series(train_arr, name=arr.name), pd.Series(
|
|
270
|
+
test_arr, name=arr.name
|
|
271
|
+
)
|
|
272
|
+
|
|
273
|
+
if hasattr(arr, "index"):
|
|
274
|
+
train_arr.index = train
|
|
275
|
+
test_arr.index = test
|
|
276
|
+
|
|
277
|
+
if hasattr(arr, "columns"):
|
|
278
|
+
train_arr.columns = arr.columns
|
|
279
|
+
test_arr.columns = arr.columns
|
|
280
|
+
|
|
281
|
+
if hasattr(arr, "name"):
|
|
282
|
+
train_arr.name = arr.name
|
|
283
|
+
test_arr.name = arr.name
|
|
284
|
+
|
|
285
|
+
res.append(train_arr)
|
|
286
|
+
res.append(test_arr)
|
|
287
|
+
|
|
288
|
+
return res
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
if sklearn_check_version("1.3"):
|
|
292
|
+
train_test_split = validate_params(
|
|
293
|
+
{
|
|
294
|
+
"test_size": [
|
|
295
|
+
Interval(RealNotInt, 0, 1, closed="neither"),
|
|
296
|
+
Interval(numbers.Integral, 1, None, closed="left"),
|
|
297
|
+
None,
|
|
298
|
+
],
|
|
299
|
+
"train_size": [
|
|
300
|
+
Interval(RealNotInt, 0, 1, closed="neither"),
|
|
301
|
+
Interval(numbers.Integral, 1, None, closed="left"),
|
|
302
|
+
None,
|
|
303
|
+
],
|
|
304
|
+
"random_state": ["random_state"],
|
|
305
|
+
"shuffle": ["boolean"],
|
|
306
|
+
"stratify": ["array-like", None],
|
|
307
|
+
},
|
|
308
|
+
prefer_skip_nested_validation=True,
|
|
309
|
+
)(train_test_split)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# ===============================================================================
|
|
2
|
+
# Copyright 2021 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ===============================================================================
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
import pytest
|
|
19
|
+
from sklearn.datasets import make_classification
|
|
20
|
+
from sklearn.model_selection import train_test_split as skl_train_test_split
|
|
21
|
+
|
|
22
|
+
from daal4py.sklearn._utils import daal_check_version
|
|
23
|
+
from daal4py.sklearn.model_selection import train_test_split as d4p_train_test_split
|
|
24
|
+
|
|
25
|
+
N_SAMPLES = [2**i + 1 for i in range(2, 17)]
|
|
26
|
+
RANDOM_STATE = 777
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@pytest.mark.skipif(
|
|
30
|
+
not daal_check_version((2021, "P", 400)),
|
|
31
|
+
reason="train_test_split has bugfix since 2021.4 release",
|
|
32
|
+
)
|
|
33
|
+
@pytest.mark.parametrize("n_samples", N_SAMPLES)
|
|
34
|
+
def test_results_similarity(n_samples):
|
|
35
|
+
x, y = make_classification(
|
|
36
|
+
n_samples=n_samples, n_features=4, random_state=RANDOM_STATE
|
|
37
|
+
)
|
|
38
|
+
d4p_res = d4p_train_test_split(
|
|
39
|
+
x,
|
|
40
|
+
y,
|
|
41
|
+
test_size=n_samples // 2 - 1,
|
|
42
|
+
train_size=n_samples // 2 - 1,
|
|
43
|
+
random_state=RANDOM_STATE,
|
|
44
|
+
)
|
|
45
|
+
skl_res = skl_train_test_split(
|
|
46
|
+
x,
|
|
47
|
+
y,
|
|
48
|
+
test_size=n_samples // 2 - 1,
|
|
49
|
+
train_size=n_samples // 2 - 1,
|
|
50
|
+
random_state=RANDOM_STATE,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
assert len(d4p_res) == len(skl_res), "train_test_splits have different output size"
|
|
54
|
+
|
|
55
|
+
for i, _ in enumerate(d4p_res):
|
|
56
|
+
assert np.all(d4p_res[i] == skl_res[i]), "train_test_splits have different output"
|
scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py
ADDED
|
File without changes
|
scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
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 sys
|
|
18
|
+
import warnings
|
|
19
|
+
from functools import lru_cache
|
|
20
|
+
|
|
21
|
+
import sklearn.cluster as cluster_module
|
|
22
|
+
import sklearn.decomposition as decomposition_module
|
|
23
|
+
import sklearn.ensemble as ensemble_module
|
|
24
|
+
import sklearn.linear_model as linear_model_module
|
|
25
|
+
import sklearn.linear_model._logistic as logistic_module
|
|
26
|
+
import sklearn.manifold as manifold_module
|
|
27
|
+
import sklearn.neighbors as neighbors_module
|
|
28
|
+
import sklearn.svm as svm_module
|
|
29
|
+
from sklearn import metrics, model_selection
|
|
30
|
+
from sklearn.utils import validation
|
|
31
|
+
|
|
32
|
+
from daal4py.sklearn._utils import set_idp_sklearn_verbose
|
|
33
|
+
|
|
34
|
+
from ..cluster.dbscan import DBSCAN as DBSCAN_daal4py
|
|
35
|
+
from ..cluster.k_means import KMeans as KMeans_daal4py
|
|
36
|
+
from ..decomposition._pca import PCA as PCA_daal4py
|
|
37
|
+
from ..ensemble._forest import RandomForestClassifier as RandomForestClassifier_daal4py
|
|
38
|
+
from ..ensemble._forest import RandomForestRegressor as RandomForestRegressor_daal4py
|
|
39
|
+
from ..linear_model.coordinate_descent import ElasticNet as ElasticNet_daal4py
|
|
40
|
+
from ..linear_model.coordinate_descent import Lasso as Lasso_daal4py
|
|
41
|
+
from ..linear_model.linear import LinearRegression as LinearRegression_daal4py
|
|
42
|
+
from ..linear_model.logistic_path import LogisticRegression as LogisticRegression_daal4py
|
|
43
|
+
from ..linear_model.logistic_path import (
|
|
44
|
+
logistic_regression_path as daal_optimized_logistic_path,
|
|
45
|
+
)
|
|
46
|
+
from ..linear_model.ridge import Ridge as Ridge_daal4py
|
|
47
|
+
from ..manifold import TSNE as TSNE_daal4py
|
|
48
|
+
from ..metrics import pairwise_distances, roc_auc_score
|
|
49
|
+
from ..model_selection import train_test_split
|
|
50
|
+
from ..neighbors import KNeighborsClassifier as KNeighborsClassifier_daal4py
|
|
51
|
+
from ..neighbors import KNeighborsRegressor as KNeighborsRegressor_daal4py
|
|
52
|
+
from ..neighbors import NearestNeighbors as NearestNeighbors_daal4py
|
|
53
|
+
from ..svm.svm import SVC as SVC_daal4py
|
|
54
|
+
from ..utils.validation import _assert_all_finite
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@lru_cache(maxsize=None)
|
|
58
|
+
def _get_map_of_algorithms():
|
|
59
|
+
mapping = {
|
|
60
|
+
"pca": [[(decomposition_module, "PCA", PCA_daal4py), None]],
|
|
61
|
+
"kmeans": [[(cluster_module, "KMeans", KMeans_daal4py), None]],
|
|
62
|
+
"dbscan": [[(cluster_module, "DBSCAN", DBSCAN_daal4py), None]],
|
|
63
|
+
"distances": [[(metrics, "pairwise_distances", pairwise_distances), None]],
|
|
64
|
+
"linear": [
|
|
65
|
+
[(linear_model_module, "LinearRegression", LinearRegression_daal4py), None]
|
|
66
|
+
],
|
|
67
|
+
"ridge": [[(linear_model_module, "Ridge", Ridge_daal4py), None]],
|
|
68
|
+
"elasticnet": [[(linear_model_module, "ElasticNet", ElasticNet_daal4py), None]],
|
|
69
|
+
"lasso": [[(linear_model_module, "Lasso", Lasso_daal4py), None]],
|
|
70
|
+
"svm": [[(svm_module, "SVC", SVC_daal4py), None]],
|
|
71
|
+
"logistic": [
|
|
72
|
+
[
|
|
73
|
+
(
|
|
74
|
+
logistic_module,
|
|
75
|
+
"_logistic_regression_path",
|
|
76
|
+
daal_optimized_logistic_path,
|
|
77
|
+
),
|
|
78
|
+
None,
|
|
79
|
+
]
|
|
80
|
+
],
|
|
81
|
+
"log_reg": [
|
|
82
|
+
[
|
|
83
|
+
(linear_model_module, "LogisticRegression", LogisticRegression_daal4py),
|
|
84
|
+
None,
|
|
85
|
+
]
|
|
86
|
+
],
|
|
87
|
+
"knn_classifier": [
|
|
88
|
+
[
|
|
89
|
+
(neighbors_module, "KNeighborsClassifier", KNeighborsClassifier_daal4py),
|
|
90
|
+
None,
|
|
91
|
+
]
|
|
92
|
+
],
|
|
93
|
+
"nearest_neighbors": [
|
|
94
|
+
[(neighbors_module, "NearestNeighbors", NearestNeighbors_daal4py), None]
|
|
95
|
+
],
|
|
96
|
+
"knn_regressor": [
|
|
97
|
+
[(neighbors_module, "KNeighborsRegressor", KNeighborsRegressor_daal4py), None]
|
|
98
|
+
],
|
|
99
|
+
"random_forest_classifier": [
|
|
100
|
+
[
|
|
101
|
+
(
|
|
102
|
+
ensemble_module,
|
|
103
|
+
"RandomForestClassifier",
|
|
104
|
+
RandomForestClassifier_daal4py,
|
|
105
|
+
),
|
|
106
|
+
None,
|
|
107
|
+
]
|
|
108
|
+
],
|
|
109
|
+
"random_forest_regressor": [
|
|
110
|
+
[
|
|
111
|
+
(ensemble_module, "RandomForestRegressor", RandomForestRegressor_daal4py),
|
|
112
|
+
None,
|
|
113
|
+
]
|
|
114
|
+
],
|
|
115
|
+
"train_test_split": [
|
|
116
|
+
[(model_selection, "train_test_split", train_test_split), None]
|
|
117
|
+
],
|
|
118
|
+
"fin_check": [[(validation, "_assert_all_finite", _assert_all_finite), None]],
|
|
119
|
+
"roc_auc_score": [[(metrics, "roc_auc_score", roc_auc_score), None]],
|
|
120
|
+
"tsne": [[(manifold_module, "TSNE", TSNE_daal4py), None]],
|
|
121
|
+
}
|
|
122
|
+
mapping["svc"] = mapping["svm"]
|
|
123
|
+
mapping["logisticregression"] = mapping["log_reg"]
|
|
124
|
+
mapping["kneighborsclassifier"] = mapping["knn_classifier"]
|
|
125
|
+
mapping["nearestneighbors"] = mapping["nearest_neighbors"]
|
|
126
|
+
mapping["kneighborsregressor"] = mapping["knn_regressor"]
|
|
127
|
+
mapping["randomforestclassifier"] = mapping["random_forest_classifier"]
|
|
128
|
+
mapping["randomforestregressor"] = mapping["random_forest_regressor"]
|
|
129
|
+
mapping["linearregression"] = mapping["linear"]
|
|
130
|
+
mapping["logisticregression"] = mapping["log_reg"]
|
|
131
|
+
mapping["_logistic_regression_path"] = mapping["logistic"]
|
|
132
|
+
mapping["_assert_all_finite"] = mapping["fin_check"]
|
|
133
|
+
mapping["pairwise_distances"] = mapping["distances"]
|
|
134
|
+
return mapping
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def do_patch(name, get_map=_get_map_of_algorithms):
|
|
138
|
+
lname = name.lower()
|
|
139
|
+
if lname in get_map():
|
|
140
|
+
for descriptor in get_map()[lname]:
|
|
141
|
+
which, what, replacer = descriptor[0]
|
|
142
|
+
if descriptor[1] is None:
|
|
143
|
+
descriptor[1] = getattr(which, what, False)
|
|
144
|
+
setattr(which, what, replacer)
|
|
145
|
+
else:
|
|
146
|
+
raise ValueError("Has no patch for: " + name)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def do_unpatch(name, get_map=_get_map_of_algorithms):
|
|
150
|
+
lname = name.lower()
|
|
151
|
+
if lname in get_map():
|
|
152
|
+
for descriptor in get_map()[lname]:
|
|
153
|
+
if descriptor[1] is not None:
|
|
154
|
+
which, what, _ = descriptor[0]
|
|
155
|
+
if descriptor[1]:
|
|
156
|
+
setattr(which, what, descriptor[1])
|
|
157
|
+
elif hasattr(which, what):
|
|
158
|
+
delattr(which, what)
|
|
159
|
+
else:
|
|
160
|
+
raise ValueError("Has no patch for: " + name)
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def enable(name=None, verbose=True, deprecation=True, get_map=_get_map_of_algorithms):
|
|
164
|
+
if name is not None:
|
|
165
|
+
do_patch(name, get_map)
|
|
166
|
+
else:
|
|
167
|
+
for key in get_map():
|
|
168
|
+
do_patch(key, get_map)
|
|
169
|
+
if deprecation:
|
|
170
|
+
set_idp_sklearn_verbose()
|
|
171
|
+
warnings.warn_explicit(
|
|
172
|
+
"\nScikit-learn patching with daal4py is deprecated "
|
|
173
|
+
"and will be removed in the future.\n"
|
|
174
|
+
"Use Extension "
|
|
175
|
+
"for Scikit-learn* module instead "
|
|
176
|
+
"(pip install scikit-learn-intelex).\n"
|
|
177
|
+
"To enable patching, please use one of the "
|
|
178
|
+
"following options:\n"
|
|
179
|
+
"1) From the command line:\n"
|
|
180
|
+
" python -m sklearnex <your_script>\n"
|
|
181
|
+
"2) From your script:\n"
|
|
182
|
+
" from sklearnex import patch_sklearn\n"
|
|
183
|
+
" patch_sklearn()",
|
|
184
|
+
FutureWarning,
|
|
185
|
+
"dispatcher.py",
|
|
186
|
+
151,
|
|
187
|
+
)
|
|
188
|
+
if verbose and deprecation and sys.stderr is not None:
|
|
189
|
+
sys.stderr.write(
|
|
190
|
+
"oneAPI Data Analytics Library solvers for sklearn enabled: "
|
|
191
|
+
"https://uxlfoundation.github.io/scikit-learn-intelex/\n"
|
|
192
|
+
)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
def disable(name=None, get_map=_get_map_of_algorithms):
|
|
196
|
+
if name is not None:
|
|
197
|
+
do_unpatch(name, get_map)
|
|
198
|
+
else:
|
|
199
|
+
for key in get_map():
|
|
200
|
+
do_unpatch(key, get_map)
|
|
201
|
+
get_map.cache_clear()
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
def _is_enabled(name, get_map=_get_map_of_algorithms):
|
|
205
|
+
lname = name.lower()
|
|
206
|
+
if lname in get_map():
|
|
207
|
+
enabled = True
|
|
208
|
+
for descriptor in get_map()[lname]:
|
|
209
|
+
which, what, replacer = descriptor[0]
|
|
210
|
+
enabled = enabled and getattr(which, what, None) == replacer
|
|
211
|
+
return enabled
|
|
212
|
+
else:
|
|
213
|
+
raise ValueError("Has no patch for: " + name)
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def patch_is_enabled(name=None, get_map=_get_map_of_algorithms, return_map=False):
|
|
217
|
+
if name is not None:
|
|
218
|
+
return _is_enabled(name, get_map)
|
|
219
|
+
else:
|
|
220
|
+
if return_map:
|
|
221
|
+
enabled = {}
|
|
222
|
+
for key in get_map():
|
|
223
|
+
enabled[key] = _is_enabled(key, get_map)
|
|
224
|
+
else:
|
|
225
|
+
enabled = True
|
|
226
|
+
for key in get_map():
|
|
227
|
+
enabled = enabled and _is_enabled(key, get_map)
|
|
228
|
+
return enabled
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
def _patch_names():
|
|
232
|
+
return list(_get_map_of_algorithms().keys())
|