scikit-learn-intelex 2025.0.0__py311-none-manylinux_2_28_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- daal4py/__init__.py +73 -0
- daal4py/__main__.py +58 -0
- daal4py/_daal4py.cpython-311-x86_64-linux-gnu.so +0 -0
- daal4py/doc/third-party-programs.txt +424 -0
- daal4py/mb/__init__.py +19 -0
- daal4py/mb/model_builders.py +377 -0
- daal4py/mpi_transceiver.cpython-311-x86_64-linux-gnu.so +0 -0
- daal4py/sklearn/__init__.py +40 -0
- daal4py/sklearn/_n_jobs_support.py +242 -0
- daal4py/sklearn/_utils.py +241 -0
- daal4py/sklearn/cluster/__init__.py +20 -0
- daal4py/sklearn/cluster/dbscan.py +165 -0
- daal4py/sklearn/cluster/k_means.py +597 -0
- daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- daal4py/sklearn/decomposition/__init__.py +19 -0
- daal4py/sklearn/decomposition/_pca.py +524 -0
- daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
- daal4py/sklearn/ensemble/GBTDAAL.py +318 -0
- daal4py/sklearn/ensemble/__init__.py +27 -0
- daal4py/sklearn/ensemble/_forest.py +1397 -0
- daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- daal4py/sklearn/linear_model/__init__.py +29 -0
- daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
- daal4py/sklearn/linear_model/_linear.py +272 -0
- daal4py/sklearn/linear_model/_ridge.py +325 -0
- daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
- daal4py/sklearn/linear_model/linear.py +17 -0
- daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- daal4py/sklearn/linear_model/logistic_path.py +1026 -0
- daal4py/sklearn/linear_model/ridge.py +17 -0
- daal4py/sklearn/linear_model/tests/test_linear.py +196 -0
- daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- daal4py/sklearn/manifold/__init__.py +19 -0
- daal4py/sklearn/manifold/_t_sne.py +405 -0
- daal4py/sklearn/metrics/__init__.py +20 -0
- daal4py/sklearn/metrics/_pairwise.py +155 -0
- daal4py/sklearn/metrics/_ranking.py +210 -0
- daal4py/sklearn/model_selection/__init__.py +19 -0
- daal4py/sklearn/model_selection/_split.py +309 -0
- daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- daal4py/sklearn/monkeypatch/__init__.py +0 -0
- daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- daal4py/sklearn/monkeypatch/tests/_models_info.py +161 -0
- daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- daal4py/sklearn/monkeypatch/tests/test_patching.py +87 -0
- daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +118 -0
- daal4py/sklearn/neighbors/__init__.py +21 -0
- daal4py/sklearn/neighbors/_base.py +503 -0
- daal4py/sklearn/neighbors/_classification.py +139 -0
- daal4py/sklearn/neighbors/_regression.py +74 -0
- daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- daal4py/sklearn/svm/__init__.py +19 -0
- daal4py/sklearn/svm/svm.py +734 -0
- daal4py/sklearn/utils/__init__.py +21 -0
- daal4py/sklearn/utils/base.py +75 -0
- daal4py/sklearn/utils/tests/test_utils.py +51 -0
- daal4py/sklearn/utils/validation.py +693 -0
- onedal/__init__.py +83 -0
- onedal/_config.py +53 -0
- onedal/_device_offload.py +229 -0
- onedal/_onedal_py_dpc.cpython-311-x86_64-linux-gnu.so +0 -0
- onedal/_onedal_py_host.cpython-311-x86_64-linux-gnu.so +0 -0
- onedal/_onedal_py_spmd_dpc.cpython-311-x86_64-linux-gnu.so +0 -0
- onedal/basic_statistics/__init__.py +20 -0
- onedal/basic_statistics/basic_statistics.py +107 -0
- onedal/basic_statistics/incremental_basic_statistics.py +160 -0
- onedal/basic_statistics/tests/test_basic_statistics.py +298 -0
- onedal/basic_statistics/tests/test_incremental_basic_statistics.py +196 -0
- onedal/cluster/__init__.py +27 -0
- onedal/cluster/dbscan.py +110 -0
- onedal/cluster/kmeans.py +560 -0
- onedal/cluster/kmeans_init.py +115 -0
- onedal/cluster/tests/test_dbscan.py +125 -0
- onedal/cluster/tests/test_kmeans.py +88 -0
- onedal/cluster/tests/test_kmeans_init.py +93 -0
- onedal/common/_base.py +38 -0
- onedal/common/_estimator_checks.py +47 -0
- onedal/common/_mixin.py +62 -0
- onedal/common/_policy.py +59 -0
- onedal/common/_spmd_policy.py +30 -0
- onedal/common/hyperparameters.py +116 -0
- onedal/common/tests/test_policy.py +75 -0
- onedal/covariance/__init__.py +20 -0
- onedal/covariance/covariance.py +125 -0
- onedal/covariance/incremental_covariance.py +146 -0
- onedal/covariance/tests/test_covariance.py +50 -0
- onedal/covariance/tests/test_incremental_covariance.py +122 -0
- onedal/datatypes/__init__.py +19 -0
- onedal/datatypes/_data_conversion.py +95 -0
- onedal/datatypes/tests/test_data.py +235 -0
- onedal/decomposition/__init__.py +20 -0
- onedal/decomposition/incremental_pca.py +204 -0
- onedal/decomposition/pca.py +186 -0
- onedal/decomposition/tests/test_incremental_pca.py +198 -0
- onedal/ensemble/__init__.py +29 -0
- onedal/ensemble/forest.py +720 -0
- onedal/ensemble/tests/test_random_forest.py +97 -0
- onedal/linear_model/__init__.py +27 -0
- onedal/linear_model/incremental_linear_model.py +258 -0
- onedal/linear_model/linear_model.py +329 -0
- onedal/linear_model/logistic_regression.py +249 -0
- onedal/linear_model/tests/test_incremental_linear_regression.py +168 -0
- onedal/linear_model/tests/test_incremental_ridge_regression.py +107 -0
- onedal/linear_model/tests/test_linear_regression.py +149 -0
- onedal/linear_model/tests/test_logistic_regression.py +95 -0
- onedal/linear_model/tests/test_ridge.py +95 -0
- onedal/neighbors/__init__.py +19 -0
- onedal/neighbors/neighbors.py +778 -0
- onedal/neighbors/tests/test_knn_classification.py +49 -0
- onedal/primitives/__init__.py +27 -0
- onedal/primitives/get_tree.py +25 -0
- onedal/primitives/kernel_functions.py +153 -0
- onedal/primitives/tests/test_kernel_functions.py +159 -0
- onedal/spmd/__init__.py +25 -0
- onedal/spmd/_base.py +30 -0
- onedal/spmd/basic_statistics/__init__.py +20 -0
- onedal/spmd/basic_statistics/basic_statistics.py +30 -0
- onedal/spmd/basic_statistics/incremental_basic_statistics.py +69 -0
- onedal/spmd/cluster/__init__.py +28 -0
- onedal/spmd/cluster/dbscan.py +23 -0
- onedal/spmd/cluster/kmeans.py +56 -0
- onedal/spmd/covariance/__init__.py +20 -0
- onedal/spmd/covariance/covariance.py +26 -0
- onedal/spmd/covariance/incremental_covariance.py +82 -0
- onedal/spmd/decomposition/__init__.py +20 -0
- onedal/spmd/decomposition/incremental_pca.py +117 -0
- onedal/spmd/decomposition/pca.py +26 -0
- onedal/spmd/ensemble/__init__.py +19 -0
- onedal/spmd/ensemble/forest.py +28 -0
- onedal/spmd/linear_model/__init__.py +21 -0
- onedal/spmd/linear_model/incremental_linear_model.py +97 -0
- onedal/spmd/linear_model/linear_model.py +30 -0
- onedal/spmd/linear_model/logistic_regression.py +38 -0
- onedal/spmd/neighbors/__init__.py +19 -0
- onedal/spmd/neighbors/neighbors.py +75 -0
- onedal/svm/__init__.py +19 -0
- onedal/svm/svm.py +556 -0
- onedal/svm/tests/test_csr_svm.py +351 -0
- onedal/svm/tests/test_nusvc.py +204 -0
- onedal/svm/tests/test_nusvr.py +210 -0
- onedal/svm/tests/test_svc.py +168 -0
- onedal/svm/tests/test_svr.py +243 -0
- onedal/tests/test_common.py +41 -0
- onedal/tests/utils/_dataframes_support.py +168 -0
- onedal/tests/utils/_device_selection.py +107 -0
- onedal/utils/__init__.py +49 -0
- onedal/utils/_array_api.py +91 -0
- onedal/utils/validation.py +432 -0
- scikit_learn_intelex-2025.0.0.dist-info/LICENSE.txt +202 -0
- scikit_learn_intelex-2025.0.0.dist-info/METADATA +231 -0
- scikit_learn_intelex-2025.0.0.dist-info/RECORD +278 -0
- scikit_learn_intelex-2025.0.0.dist-info/WHEEL +5 -0
- scikit_learn_intelex-2025.0.0.dist-info/top_level.txt +3 -0
- sklearnex/__init__.py +65 -0
- sklearnex/__main__.py +58 -0
- sklearnex/_config.py +98 -0
- sklearnex/_device_offload.py +121 -0
- sklearnex/_utils.py +109 -0
- sklearnex/basic_statistics/__init__.py +20 -0
- sklearnex/basic_statistics/basic_statistics.py +140 -0
- sklearnex/basic_statistics/incremental_basic_statistics.py +288 -0
- sklearnex/basic_statistics/tests/test_basic_statistics.py +251 -0
- sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +384 -0
- sklearnex/cluster/__init__.py +20 -0
- sklearnex/cluster/dbscan.py +192 -0
- sklearnex/cluster/k_means.py +383 -0
- sklearnex/cluster/tests/test_dbscan.py +38 -0
- sklearnex/cluster/tests/test_kmeans.py +153 -0
- sklearnex/conftest.py +73 -0
- sklearnex/covariance/__init__.py +19 -0
- sklearnex/covariance/incremental_covariance.py +368 -0
- sklearnex/covariance/tests/test_incremental_covariance.py +226 -0
- sklearnex/decomposition/__init__.py +19 -0
- sklearnex/decomposition/pca.py +414 -0
- sklearnex/decomposition/tests/test_pca.py +58 -0
- sklearnex/dispatcher.py +543 -0
- sklearnex/doc/third-party-programs.txt +424 -0
- sklearnex/ensemble/__init__.py +29 -0
- sklearnex/ensemble/_forest.py +2016 -0
- sklearnex/ensemble/tests/test_forest.py +120 -0
- sklearnex/glob/__main__.py +72 -0
- sklearnex/glob/dispatcher.py +101 -0
- sklearnex/linear_model/__init__.py +32 -0
- sklearnex/linear_model/coordinate_descent.py +30 -0
- sklearnex/linear_model/incremental_linear.py +463 -0
- sklearnex/linear_model/incremental_ridge.py +418 -0
- sklearnex/linear_model/linear.py +302 -0
- sklearnex/linear_model/logistic_path.py +17 -0
- sklearnex/linear_model/logistic_regression.py +403 -0
- sklearnex/linear_model/ridge.py +24 -0
- sklearnex/linear_model/tests/test_incremental_linear.py +203 -0
- sklearnex/linear_model/tests/test_incremental_ridge.py +153 -0
- sklearnex/linear_model/tests/test_linear.py +142 -0
- sklearnex/linear_model/tests/test_logreg.py +134 -0
- sklearnex/manifold/__init__.py +19 -0
- sklearnex/manifold/t_sne.py +21 -0
- sklearnex/manifold/tests/test_tsne.py +26 -0
- sklearnex/metrics/__init__.py +23 -0
- sklearnex/metrics/pairwise.py +22 -0
- sklearnex/metrics/ranking.py +20 -0
- sklearnex/metrics/tests/test_metrics.py +39 -0
- sklearnex/model_selection/__init__.py +21 -0
- sklearnex/model_selection/split.py +22 -0
- sklearnex/model_selection/tests/test_model_selection.py +34 -0
- sklearnex/neighbors/__init__.py +27 -0
- sklearnex/neighbors/_lof.py +231 -0
- sklearnex/neighbors/common.py +310 -0
- sklearnex/neighbors/knn_classification.py +226 -0
- sklearnex/neighbors/knn_regression.py +203 -0
- sklearnex/neighbors/knn_unsupervised.py +170 -0
- sklearnex/neighbors/tests/test_neighbors.py +80 -0
- sklearnex/preview/__init__.py +17 -0
- sklearnex/preview/covariance/__init__.py +19 -0
- sklearnex/preview/covariance/covariance.py +133 -0
- sklearnex/preview/covariance/tests/test_covariance.py +66 -0
- sklearnex/preview/decomposition/__init__.py +19 -0
- sklearnex/preview/decomposition/incremental_pca.py +228 -0
- sklearnex/preview/decomposition/tests/test_incremental_pca.py +266 -0
- sklearnex/preview/linear_model/__init__.py +19 -0
- sklearnex/preview/linear_model/ridge.py +419 -0
- sklearnex/preview/linear_model/tests/test_ridge.py +102 -0
- sklearnex/spmd/__init__.py +25 -0
- sklearnex/spmd/basic_statistics/__init__.py +20 -0
- sklearnex/spmd/basic_statistics/basic_statistics.py +21 -0
- sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +107 -0
- sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +307 -0
- sklearnex/spmd/cluster/__init__.py +30 -0
- sklearnex/spmd/cluster/dbscan.py +50 -0
- sklearnex/spmd/cluster/kmeans.py +21 -0
- sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +97 -0
- sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +172 -0
- sklearnex/spmd/covariance/__init__.py +20 -0
- sklearnex/spmd/covariance/covariance.py +21 -0
- sklearnex/spmd/covariance/incremental_covariance.py +37 -0
- sklearnex/spmd/covariance/tests/test_covariance_spmd.py +107 -0
- sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
- sklearnex/spmd/decomposition/__init__.py +20 -0
- sklearnex/spmd/decomposition/incremental_pca.py +30 -0
- sklearnex/spmd/decomposition/pca.py +21 -0
- sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
- sklearnex/spmd/decomposition/tests/test_pca_spmd.py +128 -0
- sklearnex/spmd/ensemble/__init__.py +19 -0
- sklearnex/spmd/ensemble/forest.py +71 -0
- sklearnex/spmd/ensemble/tests/test_forest_spmd.py +265 -0
- sklearnex/spmd/linear_model/__init__.py +21 -0
- sklearnex/spmd/linear_model/incremental_linear_model.py +35 -0
- sklearnex/spmd/linear_model/linear_model.py +21 -0
- sklearnex/spmd/linear_model/logistic_regression.py +21 -0
- sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +329 -0
- sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +145 -0
- sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +166 -0
- sklearnex/spmd/neighbors/__init__.py +19 -0
- sklearnex/spmd/neighbors/neighbors.py +25 -0
- sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +288 -0
- sklearnex/svm/__init__.py +29 -0
- sklearnex/svm/_common.py +328 -0
- sklearnex/svm/nusvc.py +332 -0
- sklearnex/svm/nusvr.py +148 -0
- sklearnex/svm/svc.py +360 -0
- sklearnex/svm/svr.py +149 -0
- sklearnex/svm/tests/test_svm.py +93 -0
- sklearnex/tests/_utils.py +328 -0
- sklearnex/tests/_utils_spmd.py +198 -0
- sklearnex/tests/test_common.py +54 -0
- sklearnex/tests/test_config.py +43 -0
- sklearnex/tests/test_memory_usage.py +291 -0
- sklearnex/tests/test_monkeypatch.py +276 -0
- sklearnex/tests/test_n_jobs_support.py +103 -0
- sklearnex/tests/test_parallel.py +48 -0
- sklearnex/tests/test_patching.py +385 -0
- sklearnex/tests/test_run_to_run_stability.py +296 -0
- sklearnex/utils/__init__.py +19 -0
- sklearnex/utils/_array_api.py +82 -0
- sklearnex/utils/parallel.py +59 -0
- sklearnex/utils/tests/test_finite.py +89 -0
- sklearnex/utils/validation.py +17 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 onedal.cluster import KMeans as KMeans_Batch
|
|
18
|
+
from onedal.cluster import KMeansInit as KMeansInit_Batch
|
|
19
|
+
from onedal.spmd.basic_statistics import BasicStatistics
|
|
20
|
+
|
|
21
|
+
from ..._device_offload import support_input_format
|
|
22
|
+
from .._base import BaseEstimatorSPMD
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class KMeansInit(BaseEstimatorSPMD, KMeansInit_Batch):
|
|
26
|
+
"""
|
|
27
|
+
KMeansInit oneDAL implementation for SPMD iface.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class KMeans(BaseEstimatorSPMD, KMeans_Batch):
|
|
34
|
+
def _get_basic_statistics_backend(self, result_options):
|
|
35
|
+
return BasicStatistics(result_options)
|
|
36
|
+
|
|
37
|
+
def _get_kmeans_init(self, cluster_count, seed, algorithm):
|
|
38
|
+
return KMeansInit(cluster_count=cluster_count, seed=seed, algorithm=algorithm)
|
|
39
|
+
|
|
40
|
+
@support_input_format()
|
|
41
|
+
def fit(self, X, y=None, queue=None):
|
|
42
|
+
return super().fit(X, queue=queue)
|
|
43
|
+
|
|
44
|
+
@support_input_format()
|
|
45
|
+
def predict(self, X, queue=None):
|
|
46
|
+
return super().predict(X, queue=queue)
|
|
47
|
+
|
|
48
|
+
@support_input_format()
|
|
49
|
+
def fit_predict(self, X, y=None, queue=None):
|
|
50
|
+
return super().fit_predict(X, queue=queue)
|
|
51
|
+
|
|
52
|
+
def transform(self, X):
|
|
53
|
+
return super().transform(X)
|
|
54
|
+
|
|
55
|
+
def fit_transform(self, X, queue=None):
|
|
56
|
+
return super().fit_transform(X, queue=queue)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
from .covariance import EmpiricalCovariance
|
|
18
|
+
from .incremental_covariance import IncrementalEmpiricalCovariance
|
|
19
|
+
|
|
20
|
+
__all__ = ["EmpiricalCovariance", "IncrementalEmpiricalCovariance"]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
from onedal.covariance import EmpiricalCovariance as EmpiricalCovariance_Batch
|
|
18
|
+
|
|
19
|
+
from ..._device_offload import support_input_format
|
|
20
|
+
from .._base import BaseEstimatorSPMD
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class EmpiricalCovariance(BaseEstimatorSPMD, EmpiricalCovariance_Batch):
|
|
24
|
+
@support_input_format()
|
|
25
|
+
def fit(self, X, y=None, queue=None):
|
|
26
|
+
return super().fit(X, queue=queue)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
|
|
19
|
+
from daal4py.sklearn._utils import get_dtype
|
|
20
|
+
|
|
21
|
+
from ...covariance import (
|
|
22
|
+
IncrementalEmpiricalCovariance as base_IncrementalEmpiricalCovariance,
|
|
23
|
+
)
|
|
24
|
+
from ...datatypes import _convert_to_supported, to_table
|
|
25
|
+
from ...utils import _check_array
|
|
26
|
+
from .._base import BaseEstimatorSPMD
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class IncrementalEmpiricalCovariance(
|
|
30
|
+
BaseEstimatorSPMD, base_IncrementalEmpiricalCovariance
|
|
31
|
+
):
|
|
32
|
+
def _reset(self):
|
|
33
|
+
self._partial_result = super(
|
|
34
|
+
base_IncrementalEmpiricalCovariance, self
|
|
35
|
+
)._get_backend("covariance", None, "partial_compute_result")
|
|
36
|
+
|
|
37
|
+
def partial_fit(self, X, y=None, queue=None):
|
|
38
|
+
"""
|
|
39
|
+
Computes partial data for the covariance matrix
|
|
40
|
+
from data batch X and saves it to `_partial_result`.
|
|
41
|
+
|
|
42
|
+
Parameters
|
|
43
|
+
----------
|
|
44
|
+
X : array-like of shape (n_samples, n_features)
|
|
45
|
+
Training data batch, where `n_samples` is the number of samples
|
|
46
|
+
in the batch, and `n_features` is the number of features.
|
|
47
|
+
|
|
48
|
+
y : Ignored
|
|
49
|
+
Not used, present for API consistency by convention.
|
|
50
|
+
|
|
51
|
+
queue : dpctl.SyclQueue
|
|
52
|
+
If not None, use this queue for computations.
|
|
53
|
+
|
|
54
|
+
Returns
|
|
55
|
+
-------
|
|
56
|
+
self : object
|
|
57
|
+
Returns the instance itself.
|
|
58
|
+
"""
|
|
59
|
+
X = _check_array(X, dtype=[np.float64, np.float32], ensure_2d=True)
|
|
60
|
+
|
|
61
|
+
self._queue = queue
|
|
62
|
+
|
|
63
|
+
policy = super(base_IncrementalEmpiricalCovariance, self)._get_policy(queue, X)
|
|
64
|
+
|
|
65
|
+
X = _convert_to_supported(policy, X)
|
|
66
|
+
|
|
67
|
+
if not hasattr(self, "_dtype"):
|
|
68
|
+
self._dtype = get_dtype(X)
|
|
69
|
+
|
|
70
|
+
params = self._get_onedal_params(self._dtype)
|
|
71
|
+
table_X = to_table(X)
|
|
72
|
+
self._partial_result = super(
|
|
73
|
+
base_IncrementalEmpiricalCovariance, self
|
|
74
|
+
)._get_backend(
|
|
75
|
+
"covariance",
|
|
76
|
+
None,
|
|
77
|
+
"partial_compute",
|
|
78
|
+
policy,
|
|
79
|
+
params,
|
|
80
|
+
self._partial_result,
|
|
81
|
+
table_X,
|
|
82
|
+
)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 .incremental_pca import IncrementalPCA
|
|
18
|
+
from .pca import PCA
|
|
19
|
+
|
|
20
|
+
__all__ = ["IncrementalPCA", "PCA"]
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
from daal4py.sklearn._utils import get_dtype
|
|
18
|
+
|
|
19
|
+
from ...datatypes import _convert_to_supported, from_table, to_table
|
|
20
|
+
from ...decomposition import IncrementalPCA as base_IncrementalPCA
|
|
21
|
+
from ...utils import _check_array
|
|
22
|
+
from .._base import BaseEstimatorSPMD
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class IncrementalPCA(BaseEstimatorSPMD, base_IncrementalPCA):
|
|
26
|
+
"""
|
|
27
|
+
Distributed incremental estimator for PCA based on oneDAL implementation.
|
|
28
|
+
Allows for distributed PCA computation if data is split into batches.
|
|
29
|
+
|
|
30
|
+
API is the same as for `onedal.decomposition.IncrementalPCA`
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
def _reset(self):
|
|
34
|
+
self._partial_result = super(base_IncrementalPCA, self)._get_backend(
|
|
35
|
+
"decomposition", "dim_reduction", "partial_train_result"
|
|
36
|
+
)
|
|
37
|
+
if hasattr(self, "components_"):
|
|
38
|
+
del self.components_
|
|
39
|
+
|
|
40
|
+
def partial_fit(self, X, y=None, queue=None):
|
|
41
|
+
"""Incremental fit with X. All of X is processed as a single batch.
|
|
42
|
+
|
|
43
|
+
Parameters
|
|
44
|
+
----------
|
|
45
|
+
X : array-like of shape (n_samples, n_features)
|
|
46
|
+
Training data, where `n_samples` is the number of samples and
|
|
47
|
+
`n_features` is the number of features.
|
|
48
|
+
|
|
49
|
+
y : Ignored
|
|
50
|
+
Not used, present for API consistency by convention.
|
|
51
|
+
|
|
52
|
+
Returns
|
|
53
|
+
-------
|
|
54
|
+
self : object
|
|
55
|
+
Returns the instance itself.
|
|
56
|
+
"""
|
|
57
|
+
X = _check_array(X)
|
|
58
|
+
n_samples, n_features = X.shape
|
|
59
|
+
|
|
60
|
+
first_pass = not hasattr(self, "components_")
|
|
61
|
+
if first_pass:
|
|
62
|
+
self.components_ = None
|
|
63
|
+
self.n_samples_seen_ = n_samples
|
|
64
|
+
self.n_features_in_ = n_features
|
|
65
|
+
else:
|
|
66
|
+
self.n_samples_seen_ += n_samples
|
|
67
|
+
|
|
68
|
+
if self.n_components is None:
|
|
69
|
+
if self.components_ is None:
|
|
70
|
+
self.n_components_ = min(n_samples, n_features)
|
|
71
|
+
else:
|
|
72
|
+
self.n_components_ = self.components_.shape[0]
|
|
73
|
+
else:
|
|
74
|
+
self.n_components_ = self.n_components
|
|
75
|
+
|
|
76
|
+
self._queue = queue
|
|
77
|
+
|
|
78
|
+
policy = super(base_IncrementalPCA, self)._get_policy(queue, X)
|
|
79
|
+
X = _convert_to_supported(policy, X)
|
|
80
|
+
|
|
81
|
+
if not hasattr(self, "_dtype"):
|
|
82
|
+
self._dtype = get_dtype(X)
|
|
83
|
+
self._params = self._get_onedal_params(X)
|
|
84
|
+
|
|
85
|
+
X_table = to_table(X)
|
|
86
|
+
self._partial_result = super(base_IncrementalPCA, self)._get_backend(
|
|
87
|
+
"decomposition",
|
|
88
|
+
"dim_reduction",
|
|
89
|
+
"partial_train",
|
|
90
|
+
policy,
|
|
91
|
+
self._params,
|
|
92
|
+
self._partial_result,
|
|
93
|
+
X_table,
|
|
94
|
+
)
|
|
95
|
+
return self
|
|
96
|
+
|
|
97
|
+
def _create_model(self):
|
|
98
|
+
m = super(base_IncrementalPCA, self)._get_backend(
|
|
99
|
+
"decomposition", "dim_reduction", "model"
|
|
100
|
+
)
|
|
101
|
+
m.eigenvectors = to_table(self.components_)
|
|
102
|
+
m.means = to_table(self.mean_)
|
|
103
|
+
if self.whiten:
|
|
104
|
+
m.eigenvalues = to_table(self.explained_variance_)
|
|
105
|
+
self._onedal_model = m
|
|
106
|
+
return m
|
|
107
|
+
|
|
108
|
+
def predict(self, X, queue=None):
|
|
109
|
+
policy = super(base_IncrementalPCA, self)._get_policy(queue, X)
|
|
110
|
+
model = self._create_model()
|
|
111
|
+
X = _convert_to_supported(policy, X)
|
|
112
|
+
params = self._get_onedal_params(X, stage="predict")
|
|
113
|
+
|
|
114
|
+
result = super(base_IncrementalPCA, self)._get_backend(
|
|
115
|
+
"decomposition", "dim_reduction", "infer", policy, params, model, to_table(X)
|
|
116
|
+
)
|
|
117
|
+
return from_table(result.transformed_data)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 onedal.decomposition.pca import PCA as PCABatch
|
|
18
|
+
|
|
19
|
+
from ..._device_offload import support_input_format
|
|
20
|
+
from .._base import BaseEstimatorSPMD
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class PCA(BaseEstimatorSPMD, PCABatch):
|
|
24
|
+
@support_input_format()
|
|
25
|
+
def fit(self, X, y=None, queue=None):
|
|
26
|
+
return super().fit(X, queue=queue)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 .forest import RandomForestClassifier, RandomForestRegressor
|
|
18
|
+
|
|
19
|
+
__all__ = ["RandomForestClassifier", "RandomForestRegressor"]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 onedal.ensemble import RandomForestClassifier as RandomForestClassifier_Batch
|
|
18
|
+
from onedal.ensemble import RandomForestRegressor as RandomForestRegressor_Batch
|
|
19
|
+
|
|
20
|
+
from .._base import BaseEstimatorSPMD
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class RandomForestClassifier(BaseEstimatorSPMD, RandomForestClassifier_Batch):
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class RandomForestRegressor(BaseEstimatorSPMD, RandomForestRegressor_Batch):
|
|
28
|
+
pass
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 .incremental_linear_model import IncrementalLinearRegression
|
|
18
|
+
from .linear_model import LinearRegression
|
|
19
|
+
from .logistic_regression import LogisticRegression
|
|
20
|
+
|
|
21
|
+
__all__ = ["IncrementalLinearRegression", "LinearRegression", "LogisticRegression"]
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
|
|
19
|
+
from daal4py.sklearn._utils import get_dtype
|
|
20
|
+
|
|
21
|
+
from ...common.hyperparameters import get_hyperparameters
|
|
22
|
+
from ...datatypes import _convert_to_supported, to_table
|
|
23
|
+
from ...linear_model import (
|
|
24
|
+
IncrementalLinearRegression as base_IncrementalLinearRegression,
|
|
25
|
+
)
|
|
26
|
+
from ...utils import _check_X_y, _num_features
|
|
27
|
+
from .._base import BaseEstimatorSPMD
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class IncrementalLinearRegression(BaseEstimatorSPMD, base_IncrementalLinearRegression):
|
|
31
|
+
"""
|
|
32
|
+
Distributed incremental Linear Regression oneDAL implementation.
|
|
33
|
+
|
|
34
|
+
API is the same as for `onedal.linear_model.IncrementalLinearRegression`.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
def _reset(self):
|
|
38
|
+
self._partial_result = super(base_IncrementalLinearRegression, self)._get_backend(
|
|
39
|
+
"linear_model", "regression", "partial_train_result"
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
def partial_fit(self, X, y, queue=None):
|
|
43
|
+
"""
|
|
44
|
+
Computes partial data for linear regression
|
|
45
|
+
from data batch X and saves it to `_partial_result`.
|
|
46
|
+
Parameters
|
|
47
|
+
----------
|
|
48
|
+
X : array-like of shape (n_samples, n_features)
|
|
49
|
+
Training data batch, where `n_samples` is the number of samples
|
|
50
|
+
in the batch, and `n_features` is the number of features.
|
|
51
|
+
|
|
52
|
+
y: array-like of shape (n_samples,) or (n_samples, n_targets) in
|
|
53
|
+
case of multiple targets
|
|
54
|
+
Responses for training data.
|
|
55
|
+
|
|
56
|
+
queue : dpctl.SyclQueue
|
|
57
|
+
If not None, use this queue for computations.
|
|
58
|
+
Returns
|
|
59
|
+
-------
|
|
60
|
+
self : object
|
|
61
|
+
Returns the instance itself.
|
|
62
|
+
"""
|
|
63
|
+
module = super(base_IncrementalLinearRegression, self)._get_backend(
|
|
64
|
+
"linear_model", "regression"
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
self._queue = queue
|
|
68
|
+
policy = super(base_IncrementalLinearRegression, self)._get_policy(queue, X)
|
|
69
|
+
|
|
70
|
+
X, y = _convert_to_supported(policy, X, y)
|
|
71
|
+
|
|
72
|
+
if not hasattr(self, "_dtype"):
|
|
73
|
+
self._dtype = get_dtype(X)
|
|
74
|
+
self._params = self._get_onedal_params(self._dtype)
|
|
75
|
+
|
|
76
|
+
y = np.asarray(y, dtype=self._dtype)
|
|
77
|
+
|
|
78
|
+
X, y = _check_X_y(
|
|
79
|
+
X, y, dtype=[np.float64, np.float32], accept_2d_y=True, force_all_finite=False
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
self.n_features_in_ = _num_features(X, fallback_1d=True)
|
|
83
|
+
X_table, y_table = to_table(X, y)
|
|
84
|
+
hparams = get_hyperparameters("linear_regression", "train")
|
|
85
|
+
if hparams is not None and not hparams.is_default:
|
|
86
|
+
self._partial_result = module.partial_train(
|
|
87
|
+
policy,
|
|
88
|
+
self._params,
|
|
89
|
+
hparams.backend,
|
|
90
|
+
self._partial_result,
|
|
91
|
+
X_table,
|
|
92
|
+
y_table,
|
|
93
|
+
)
|
|
94
|
+
else:
|
|
95
|
+
self._partial_result = module.partial_train(
|
|
96
|
+
policy, self._params, self._partial_result, X_table, y_table
|
|
97
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 onedal.linear_model import LinearRegression as LinearRegression_Batch
|
|
18
|
+
|
|
19
|
+
from ..._device_offload import support_input_format
|
|
20
|
+
from .._base import BaseEstimatorSPMD
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class LinearRegression(BaseEstimatorSPMD, LinearRegression_Batch):
|
|
24
|
+
@support_input_format()
|
|
25
|
+
def fit(self, X, y, queue=None):
|
|
26
|
+
return super().fit(X, y, queue=queue)
|
|
27
|
+
|
|
28
|
+
@support_input_format()
|
|
29
|
+
def predict(self, X, queue=None):
|
|
30
|
+
return super().predict(X, queue=queue)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
from onedal.linear_model import LogisticRegression as LogisticRegression_Batch
|
|
18
|
+
|
|
19
|
+
from ..._device_offload import support_input_format
|
|
20
|
+
from .._base import BaseEstimatorSPMD
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class LogisticRegression(BaseEstimatorSPMD, LogisticRegression_Batch):
|
|
24
|
+
@support_input_format()
|
|
25
|
+
def fit(self, X, y, queue=None):
|
|
26
|
+
return super().fit(X, y, queue=queue)
|
|
27
|
+
|
|
28
|
+
@support_input_format()
|
|
29
|
+
def predict(self, X, queue=None):
|
|
30
|
+
return super().predict(X, queue=queue)
|
|
31
|
+
|
|
32
|
+
@support_input_format()
|
|
33
|
+
def predict_proba(self, X, queue=None):
|
|
34
|
+
return super().predict_proba(X, queue=queue)
|
|
35
|
+
|
|
36
|
+
@support_input_format()
|
|
37
|
+
def predict_log_proba(self, X, queue=None):
|
|
38
|
+
return super().predict_log_proba(X, queue=queue)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2023 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 .neighbors import KNeighborsClassifier, KNeighborsRegressor, NearestNeighbors
|
|
18
|
+
|
|
19
|
+
__all__ = ["KNeighborsClassifier", "KNeighborsRegressor", "NearestNeighbors"]
|