scikit-learn-intelex 2024.4.0__py312-none-win_amd64.whl → 2025.10.0__py312-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.cp312-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.cp312-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-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn}/linear_model/__init__.py +29 -28
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +2 -2
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +3 -3
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +4 -2
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
- 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.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -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-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/neighbors/__init__.py +19 -19
- 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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__init__.py +7 -3
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
- 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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +128 -78
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +405 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +101 -32
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +38 -29
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +399 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +8 -6
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +157 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/conftest.py +20 -1
- 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/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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +199 -21
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/dummy/__init__.py +19 -17
- 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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +288 -440
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +196 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +17 -3
- 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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +11 -0
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +256 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +3 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +3 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +30 -62
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +56 -9
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +45 -101
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +63 -94
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +49 -25
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +6 -4
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +261 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +54 -8
- 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/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-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +9 -4
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +3 -4
- 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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +6 -4
- 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/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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +28 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +1 -3
- 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/_common.py +403 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +99 -117
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +55 -16
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +95 -113
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +51 -16
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +43 -20
- 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-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +5 -4
- scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +111 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +122 -75
- 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-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
- 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/METADATA +182 -0
- scikit_learn_intelex-2025.10.0.dist-info/RECORD +267 -0
- {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/WHEEL +1 -1
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_config.py +0 -110
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -250
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/_utils.py +0 -109
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -17
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -30
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +0 -130
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -143
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -335
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -56
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -113
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -316
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +0 -385
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -117
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -91
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -133
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +0 -185
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/_utils.py +0 -164
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -39
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -227
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -99
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability_tests.py +0 -428
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -20
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py +0 -97
- scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
- scikit_learn_intelex-2024.4.0.dist-info/METADATA +0 -230
- scikit_learn_intelex-2024.4.0.dist-info/RECORD +0 -101
- {scikit_learn_intelex-2024.4.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2024.4.0.data → scikit_learn_intelex-2025.10.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.4.0.dist-info → scikit_learn_intelex-2025.10.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,432 @@
|
|
|
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
|
+
# daal4py TSNE scikit-learn-compatible class
|
|
18
|
+
|
|
19
|
+
import warnings
|
|
20
|
+
from time import time
|
|
21
|
+
|
|
22
|
+
import numpy as np
|
|
23
|
+
from scipy.sparse import issparse
|
|
24
|
+
from sklearn.decomposition import PCA
|
|
25
|
+
from sklearn.manifold import TSNE as BaseTSNE
|
|
26
|
+
from sklearn.manifold._t_sne import _joint_probabilities, _joint_probabilities_nn
|
|
27
|
+
from sklearn.metrics.pairwise import pairwise_distances
|
|
28
|
+
from sklearn.utils import check_array, check_random_state
|
|
29
|
+
from sklearn.utils.validation import check_non_negative
|
|
30
|
+
|
|
31
|
+
import daal4py
|
|
32
|
+
from daal4py.sklearn._utils import (
|
|
33
|
+
PatchingConditionsChain,
|
|
34
|
+
daal_check_version,
|
|
35
|
+
sklearn_check_version,
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
from .._n_jobs_support import control_n_jobs
|
|
39
|
+
from ..neighbors import NearestNeighbors
|
|
40
|
+
from ..utils.validation import validate_data
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@control_n_jobs(decorated_methods=["fit"])
|
|
44
|
+
class TSNE(BaseTSNE):
|
|
45
|
+
__doc__ = BaseTSNE.__doc__
|
|
46
|
+
|
|
47
|
+
if sklearn_check_version("1.2"):
|
|
48
|
+
_parameter_constraints: dict = {**BaseTSNE._parameter_constraints}
|
|
49
|
+
|
|
50
|
+
def fit_transform(self, X, y=None):
|
|
51
|
+
return super().fit_transform(X, y)
|
|
52
|
+
|
|
53
|
+
def fit(self, X, y=None):
|
|
54
|
+
return super().fit(X, y)
|
|
55
|
+
|
|
56
|
+
def _daal_tsne(self, P, n_samples, X_embedded):
|
|
57
|
+
"""Runs t-SNE."""
|
|
58
|
+
# t-SNE minimizes the Kullback-Leiber divergence of the Gaussians P
|
|
59
|
+
# and the Student's t-distributions Q. The optimization algorithm that
|
|
60
|
+
# we use is batch gradient descent with two stages:
|
|
61
|
+
# * initial optimization with early exaggeration and momentum at 0.5
|
|
62
|
+
# * final optimization with momentum at 0.8
|
|
63
|
+
|
|
64
|
+
# N, nnz, n_iter_without_progress, n_iter
|
|
65
|
+
size_iter = [
|
|
66
|
+
[n_samples],
|
|
67
|
+
[P.nnz],
|
|
68
|
+
[self.n_iter_without_progress],
|
|
69
|
+
[
|
|
70
|
+
(
|
|
71
|
+
self.max_iter
|
|
72
|
+
if sklearn_check_version("1.7")
|
|
73
|
+
else (self._max_iter if sklearn_check_version("1.5") else self.n_iter)
|
|
74
|
+
)
|
|
75
|
+
],
|
|
76
|
+
]
|
|
77
|
+
|
|
78
|
+
# Pass params to daal4py backend
|
|
79
|
+
if daal_check_version((2023, "P", 1)):
|
|
80
|
+
size_iter.extend(
|
|
81
|
+
[
|
|
82
|
+
[
|
|
83
|
+
(
|
|
84
|
+
self._EXPLORATION_MAX_ITER
|
|
85
|
+
if sklearn_check_version("1.5")
|
|
86
|
+
else self._EXPLORATION_N_ITER
|
|
87
|
+
)
|
|
88
|
+
],
|
|
89
|
+
[self._N_ITER_CHECK],
|
|
90
|
+
]
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
size_iter = np.array(size_iter, dtype=P.dtype)
|
|
94
|
+
|
|
95
|
+
params = np.array(
|
|
96
|
+
[
|
|
97
|
+
[self.early_exaggeration],
|
|
98
|
+
[self._learning_rate],
|
|
99
|
+
[self.min_grad_norm],
|
|
100
|
+
[self.angle],
|
|
101
|
+
],
|
|
102
|
+
dtype=P.dtype,
|
|
103
|
+
)
|
|
104
|
+
results = np.zeros((3, 1), dtype=P.dtype) # curIter, error, gradNorm
|
|
105
|
+
|
|
106
|
+
if P.dtype == np.float64:
|
|
107
|
+
daal4py.daal_tsne_gradient_descent(
|
|
108
|
+
X_embedded, P, size_iter, params, results, 0
|
|
109
|
+
)
|
|
110
|
+
elif P.dtype == np.float32:
|
|
111
|
+
daal4py.daal_tsne_gradient_descent(
|
|
112
|
+
X_embedded, P, size_iter, params, results, 1
|
|
113
|
+
)
|
|
114
|
+
else:
|
|
115
|
+
raise ValueError("unsupported dtype of 'P' matrix")
|
|
116
|
+
|
|
117
|
+
# Save the final number of iterations
|
|
118
|
+
self.n_iter_ = int(results[0][0])
|
|
119
|
+
|
|
120
|
+
# Save Kullback-Leiber divergence
|
|
121
|
+
self.kl_divergence_ = results[1][0]
|
|
122
|
+
|
|
123
|
+
return X_embedded
|
|
124
|
+
|
|
125
|
+
# Comment 2025-11-24: This appears to be a copy-paste from an earlier version of the original
|
|
126
|
+
# scikit-learn with some modifications to make calls to oneDAL under a narrow subset of
|
|
127
|
+
# allowed input parameters, copy-pastying the rest of the sklearn code when oneDAL is not
|
|
128
|
+
# called. Note that the conditions checked here are out of synch with the latest sklearn by now.
|
|
129
|
+
# An early 'is supported' check that offloads to stock sklearn was added later on, which results
|
|
130
|
+
# in having a lot of dead code paths in this function that can be safely removed.
|
|
131
|
+
# Note: this method is called from inside 'fit' from the base class in stock scikit-learn.
|
|
132
|
+
# Hence, the offloading logic is different than in other classes, as falling back to 'fit'
|
|
133
|
+
# from the base class would lead to a circular loop.
|
|
134
|
+
def _fit(self, X, skip_num_points=0):
|
|
135
|
+
"""Private function to fit the model using X as training data."""
|
|
136
|
+
|
|
137
|
+
_patching_status = PatchingConditionsChain("sklearn.manifold.TSNE._tsne")
|
|
138
|
+
_patching_status.and_conditions(
|
|
139
|
+
[
|
|
140
|
+
(
|
|
141
|
+
self.method == "barnes_hut",
|
|
142
|
+
'Used t-SNE method is not "barnes_hut" which is the only supported.',
|
|
143
|
+
),
|
|
144
|
+
(self.n_components == 2, "Number of components != 2."),
|
|
145
|
+
(self.verbose == 0, "Verbose mode is set."),
|
|
146
|
+
(
|
|
147
|
+
daal_check_version((2021, "P", 600)),
|
|
148
|
+
"oneDAL version is lower than 2021.6.",
|
|
149
|
+
),
|
|
150
|
+
(
|
|
151
|
+
not (
|
|
152
|
+
isinstance(self.init, str) and self.init == "pca" and issparse(X)
|
|
153
|
+
),
|
|
154
|
+
"PCA initialization is not supported with sparse input matrices.",
|
|
155
|
+
),
|
|
156
|
+
# Note: these conditions below should result in errors, but stock scikit-learn
|
|
157
|
+
# does not check for errors at this exact point. Hence, this offloads the erroring
|
|
158
|
+
# out to the base class, wherever in the process they might be encountered.
|
|
159
|
+
(
|
|
160
|
+
np.isscalar(self.angle) and self.angle > 0.0 and self.angle < 1.0,
|
|
161
|
+
"'angle' must be between 0.0 - 1.0",
|
|
162
|
+
),
|
|
163
|
+
(self.early_exaggeration >= 1.0, "early_exaggeration must be at least 1"),
|
|
164
|
+
(
|
|
165
|
+
(
|
|
166
|
+
isinstance(self.init, str)
|
|
167
|
+
and self.init
|
|
168
|
+
in ["random", "pca"]
|
|
169
|
+
+ (
|
|
170
|
+
["warn"]
|
|
171
|
+
if sklearn_check_version("1.0")
|
|
172
|
+
and not sklearn_check_version("1.2")
|
|
173
|
+
else []
|
|
174
|
+
)
|
|
175
|
+
)
|
|
176
|
+
or isinstance(self.init, np.ndarray),
|
|
177
|
+
"'init' must be 'exact', 'pca', or a numpy array.",
|
|
178
|
+
),
|
|
179
|
+
]
|
|
180
|
+
)
|
|
181
|
+
_dal_ready = _patching_status.get_status(logs=True)
|
|
182
|
+
if not _dal_ready:
|
|
183
|
+
return super()._fit(X, skip_num_points)
|
|
184
|
+
|
|
185
|
+
if sklearn_check_version("1.0") and not sklearn_check_version("1.2"):
|
|
186
|
+
if isinstance(self.init, str) and self.init == "warn":
|
|
187
|
+
warnings.warn(
|
|
188
|
+
"The default initialization in TSNE will change "
|
|
189
|
+
"from 'random' to 'pca' in 1.2.",
|
|
190
|
+
FutureWarning,
|
|
191
|
+
)
|
|
192
|
+
self._init = "random"
|
|
193
|
+
else:
|
|
194
|
+
self._init = self.init
|
|
195
|
+
else:
|
|
196
|
+
self._init = self.init
|
|
197
|
+
|
|
198
|
+
if sklearn_check_version("1.0") and not sklearn_check_version("1.2"):
|
|
199
|
+
if self.learning_rate == "warn":
|
|
200
|
+
warnings.warn(
|
|
201
|
+
"The default learning rate in TSNE will change "
|
|
202
|
+
"from 200.0 to 'auto' in 1.2.",
|
|
203
|
+
FutureWarning,
|
|
204
|
+
)
|
|
205
|
+
self._learning_rate = 200.0
|
|
206
|
+
else:
|
|
207
|
+
self._learning_rate = self.learning_rate
|
|
208
|
+
else:
|
|
209
|
+
self._learning_rate = self.learning_rate
|
|
210
|
+
if self._learning_rate == "auto":
|
|
211
|
+
self._learning_rate = X.shape[0] / self.early_exaggeration / 4
|
|
212
|
+
self._learning_rate = np.maximum(self._learning_rate, 50)
|
|
213
|
+
else:
|
|
214
|
+
if not (self._learning_rate > 0):
|
|
215
|
+
raise ValueError(
|
|
216
|
+
"'learning_rate' must be a positive number " "or 'auto'."
|
|
217
|
+
)
|
|
218
|
+
# rename attribute for compatibility with sklearn>=1.2
|
|
219
|
+
if sklearn_check_version("1.2"):
|
|
220
|
+
self.learning_rate_ = self._learning_rate
|
|
221
|
+
|
|
222
|
+
if hasattr(self, "square_distances"):
|
|
223
|
+
if sklearn_check_version("1.1"):
|
|
224
|
+
if self.square_distances != "deprecated":
|
|
225
|
+
warnings.warn(
|
|
226
|
+
"The parameter `square_distances` has not effect "
|
|
227
|
+
"and will be removed in version 1.3.",
|
|
228
|
+
FutureWarning,
|
|
229
|
+
)
|
|
230
|
+
else:
|
|
231
|
+
if self.square_distances not in [True, "legacy"]:
|
|
232
|
+
raise ValueError("'square_distances' must be True or 'legacy'.")
|
|
233
|
+
if self.metric != "euclidean" and self.square_distances is not True:
|
|
234
|
+
warnings.warn(
|
|
235
|
+
"'square_distances' has been introduced in 0.24 to help phase "
|
|
236
|
+
"out legacy squaring behavior. The 'legacy' setting will be "
|
|
237
|
+
"removed in 1.1 (renaming of 0.26), and the default setting "
|
|
238
|
+
"will be changed to True. In 1.3, 'square_distances' will be "
|
|
239
|
+
"removed altogether, and distances will be squared by "
|
|
240
|
+
"default. Set 'square_distances'=True to silence this "
|
|
241
|
+
"warning.",
|
|
242
|
+
FutureWarning,
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
if self.method == "barnes_hut":
|
|
246
|
+
X = validate_data(
|
|
247
|
+
self,
|
|
248
|
+
X,
|
|
249
|
+
accept_sparse=["csr"],
|
|
250
|
+
ensure_min_samples=2,
|
|
251
|
+
dtype=[np.float32, np.float64],
|
|
252
|
+
)
|
|
253
|
+
else:
|
|
254
|
+
X = validate_data(
|
|
255
|
+
self,
|
|
256
|
+
X,
|
|
257
|
+
accept_sparse=["csr", "csc", "coo"],
|
|
258
|
+
dtype=[np.float32, np.float64],
|
|
259
|
+
)
|
|
260
|
+
|
|
261
|
+
if self.metric == "precomputed":
|
|
262
|
+
if isinstance(self._init, str) and self._init == "pca":
|
|
263
|
+
raise ValueError(
|
|
264
|
+
'The parameter init="pca" cannot be '
|
|
265
|
+
'used with metric="precomputed".'
|
|
266
|
+
)
|
|
267
|
+
if X.shape[0] != X.shape[1]:
|
|
268
|
+
raise ValueError("X should be a square distance matrix")
|
|
269
|
+
|
|
270
|
+
check_non_negative(
|
|
271
|
+
X,
|
|
272
|
+
"TSNE.fit(). With metric='precomputed', X "
|
|
273
|
+
"should contain positive distances.",
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
if self.method == "exact" and issparse(X):
|
|
277
|
+
raise TypeError(
|
|
278
|
+
'TSNE with method="exact" does not accept sparse '
|
|
279
|
+
'precomputed distance matrix. Use method="barnes_hut" '
|
|
280
|
+
"or provide the dense distance matrix."
|
|
281
|
+
)
|
|
282
|
+
|
|
283
|
+
random_state = check_random_state(self.random_state)
|
|
284
|
+
|
|
285
|
+
if not sklearn_check_version("1.2"):
|
|
286
|
+
if self.n_iter < 250:
|
|
287
|
+
raise ValueError("n_iter should be at least 250")
|
|
288
|
+
|
|
289
|
+
n_samples = X.shape[0]
|
|
290
|
+
|
|
291
|
+
# neighbors_nn = None # <- unused variable in stock sklearn, commented out due to coverity
|
|
292
|
+
if self.method == "exact":
|
|
293
|
+
# Retrieve the distance matrix, either using the precomputed one or
|
|
294
|
+
# computing it.
|
|
295
|
+
if self.metric == "precomputed":
|
|
296
|
+
distances = X
|
|
297
|
+
else:
|
|
298
|
+
if self.verbose:
|
|
299
|
+
print("[t-SNE] Computing pairwise distances...")
|
|
300
|
+
|
|
301
|
+
if self.metric == "euclidean":
|
|
302
|
+
# Euclidean is squared here, rather than using **= 2,
|
|
303
|
+
# because euclidean_distances already calculates
|
|
304
|
+
# squared distances, and returns np.sqrt(dist) for
|
|
305
|
+
# squared=False.
|
|
306
|
+
# Also, Euclidean is slower for n_jobs>1, so don't set here
|
|
307
|
+
distances = pairwise_distances(X, metric=self.metric, squared=True)
|
|
308
|
+
else:
|
|
309
|
+
metric_params_ = {}
|
|
310
|
+
if sklearn_check_version("1.1"):
|
|
311
|
+
metric_params_ = self.metric_params or {}
|
|
312
|
+
distances = pairwise_distances(
|
|
313
|
+
X, metric=self.metric, n_jobs=self.n_jobs, **metric_params_
|
|
314
|
+
)
|
|
315
|
+
|
|
316
|
+
if np.any(distances < 0):
|
|
317
|
+
raise ValueError(
|
|
318
|
+
"All distances should be positive, the " "metric given is not correct"
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
if self.metric != "euclidean" and (
|
|
322
|
+
sklearn_check_version("1.2") or self.square_distances is True
|
|
323
|
+
):
|
|
324
|
+
distances **= 2
|
|
325
|
+
|
|
326
|
+
# compute the joint probability distribution for the input space
|
|
327
|
+
P = _joint_probabilities(distances, self.perplexity, self.verbose)
|
|
328
|
+
assert np.all(np.isfinite(P)), "All probabilities should be finite"
|
|
329
|
+
assert np.all(P >= 0), "All probabilities should be non-negative"
|
|
330
|
+
assert np.all(P <= 1), (
|
|
331
|
+
"All probabilities should be less " "or then equal to one"
|
|
332
|
+
)
|
|
333
|
+
|
|
334
|
+
else:
|
|
335
|
+
# Compute the number of nearest neighbors to find.
|
|
336
|
+
# LvdM uses 3 * perplexity as the number of neighbors.
|
|
337
|
+
# In the event that we have very small # of points
|
|
338
|
+
# set the neighbors to n - 1.
|
|
339
|
+
n_neighbors = min(n_samples - 1, int(3.0 * self.perplexity + 1))
|
|
340
|
+
|
|
341
|
+
if self.verbose:
|
|
342
|
+
print("[t-SNE] Computing {} nearest neighbors...".format(n_neighbors))
|
|
343
|
+
|
|
344
|
+
# Find the nearest neighbors for every point
|
|
345
|
+
knn = None
|
|
346
|
+
if sklearn_check_version("1.1"):
|
|
347
|
+
knn = NearestNeighbors(
|
|
348
|
+
algorithm="auto",
|
|
349
|
+
n_jobs=self.n_jobs,
|
|
350
|
+
n_neighbors=n_neighbors,
|
|
351
|
+
metric=self.metric,
|
|
352
|
+
metric_params=self.metric_params,
|
|
353
|
+
)
|
|
354
|
+
else:
|
|
355
|
+
knn = NearestNeighbors(
|
|
356
|
+
algorithm="auto",
|
|
357
|
+
n_jobs=self.n_jobs,
|
|
358
|
+
n_neighbors=n_neighbors,
|
|
359
|
+
metric=self.metric,
|
|
360
|
+
)
|
|
361
|
+
t0 = time()
|
|
362
|
+
knn.fit(X)
|
|
363
|
+
duration = time() - t0
|
|
364
|
+
if self.verbose:
|
|
365
|
+
print(
|
|
366
|
+
"[t-SNE] Indexed {} samples in {:.3f}s...".format(n_samples, duration)
|
|
367
|
+
)
|
|
368
|
+
|
|
369
|
+
t0 = time()
|
|
370
|
+
distances_nn = knn.kneighbors_graph(mode="distance")
|
|
371
|
+
duration = time() - t0
|
|
372
|
+
if self.verbose:
|
|
373
|
+
print(
|
|
374
|
+
"[t-SNE] Computed neighbors for {} samples "
|
|
375
|
+
"in {:.3f}s...".format(n_samples, duration)
|
|
376
|
+
)
|
|
377
|
+
|
|
378
|
+
# Free the memory used by the ball_tree
|
|
379
|
+
del knn
|
|
380
|
+
|
|
381
|
+
# knn return the euclidean distance but we need it squared
|
|
382
|
+
# to be consistent with the 'exact' method. Note that the
|
|
383
|
+
# the method was derived using the euclidean method as in the
|
|
384
|
+
# input space. Not sure of the implication of using a different
|
|
385
|
+
# metric.
|
|
386
|
+
if sklearn_check_version("1.2") or (
|
|
387
|
+
self.square_distances is True or self.metric == "euclidean"
|
|
388
|
+
):
|
|
389
|
+
distances_nn.data **= 2
|
|
390
|
+
|
|
391
|
+
# compute the joint probability distribution for the input space
|
|
392
|
+
P = _joint_probabilities_nn(distances_nn, self.perplexity, self.verbose)
|
|
393
|
+
|
|
394
|
+
if isinstance(self._init, np.ndarray):
|
|
395
|
+
X_embedded = self._init
|
|
396
|
+
elif self._init == "pca":
|
|
397
|
+
pca = PCA(
|
|
398
|
+
n_components=self.n_components,
|
|
399
|
+
random_state=random_state,
|
|
400
|
+
)
|
|
401
|
+
if sklearn_check_version("1.2"):
|
|
402
|
+
# Always output a numpy array, no matter what is configured globally
|
|
403
|
+
pca.set_output(transform="default")
|
|
404
|
+
X_embedded = pca.fit_transform(X).astype(np.float32, copy=False)
|
|
405
|
+
if sklearn_check_version("1.0") and not sklearn_check_version("1.2"):
|
|
406
|
+
warnings.warn(
|
|
407
|
+
"The PCA initialization in TSNE will change to "
|
|
408
|
+
"have the standard deviation of PC1 equal to 1e-4 "
|
|
409
|
+
"in 1.2. This will ensure better convergence.",
|
|
410
|
+
FutureWarning,
|
|
411
|
+
)
|
|
412
|
+
if sklearn_check_version("1.2"):
|
|
413
|
+
# PCA is rescaled so that PC1 has standard deviation 1e-4 which is
|
|
414
|
+
# the default value for random initialization. See issue #18018.
|
|
415
|
+
X_embedded = X_embedded / np.std(X_embedded[:, 0]) * 1e-4
|
|
416
|
+
elif self._init == "random":
|
|
417
|
+
# The embedding is initialized with iid samples from Gaussians with
|
|
418
|
+
# standard deviation 1e-4.
|
|
419
|
+
X_embedded = 1e-4 * random_state.randn(n_samples, self.n_components).astype(
|
|
420
|
+
np.float32
|
|
421
|
+
)
|
|
422
|
+
else:
|
|
423
|
+
raise ValueError("'init' must be 'pca', 'random', or " "a numpy array")
|
|
424
|
+
|
|
425
|
+
# Note: by this point, stock sklearn would calculate degrees of freedom, but oneDAL
|
|
426
|
+
# doesn't use them.
|
|
427
|
+
|
|
428
|
+
X_embedded = check_array(X_embedded, dtype=[np.float32, np.float64])
|
|
429
|
+
return self._daal_tsne(P, n_samples, X_embedded=X_embedded)
|
|
430
|
+
|
|
431
|
+
fit.__doc__ = BaseTSNE.fit.__doc__
|
|
432
|
+
fit_transform.__doc__ = BaseTSNE.fit_transform.__doc__
|
scikit_learn_intelex-2025.10.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
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 ._pairwise import pairwise_distances
|
|
18
|
+
from ._ranking import roc_auc_score
|
|
19
|
+
|
|
20
|
+
__all__ = ["roc_auc_score", "pairwise_distances"]
|