Skip to content

Commit 584f7ac

Browse files
committed
Add incremental algorithms support
1 parent bbe99dd commit 584f7ac

File tree

11 files changed

+415
-137
lines changed

11 files changed

+415
-137
lines changed

configs/incremental.json

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
{
2+
"PARAMETERS_SETS": {
3+
"common": {
4+
"bench": { "n_runs": 10, "time_limit": 60 }
5+
},
6+
7+
"covariance data": {
8+
"data": [
9+
{
10+
"source": "make_blobs",
11+
"generation_kwargs": {
12+
"centers": 1,
13+
"n_samples": 1000,
14+
"n_features": [16, 64]
15+
},
16+
"split_kwargs": { "ignore": true }
17+
},
18+
{
19+
"dataset_sequence": [
20+
{
21+
"source": "make_blobs",
22+
"generation_kwargs": {
23+
"centers": 1,
24+
"n_samples": 1000,
25+
"n_features": 16
26+
},
27+
"split_kwargs": { "ignore": true }
28+
},
29+
{
30+
"source": "make_blobs",
31+
"generation_kwargs": {
32+
"centers": 1,
33+
"n_samples": 2000,
34+
"n_features": 16
35+
},
36+
"split_kwargs": { "ignore": true }
37+
}
38+
]
39+
}
40+
]
41+
},
42+
43+
"basic_statistics data": {
44+
"data": {
45+
"source": "make_blobs",
46+
"generation_kwargs": {
47+
"centers": 1,
48+
"n_samples": 10000,
49+
"n_features": [16, 64]
50+
},
51+
"split_kwargs": { "ignore": true }
52+
}
53+
},
54+
"linear_regression data": {
55+
"data": {
56+
"source": "make_regression",
57+
"split_kwargs": { "train_size": 0.2, "test_size": 0.8 },
58+
"generation_kwargs": {
59+
"n_samples": 5000,
60+
"n_features": [40, 100],
61+
"n_informative": 5,
62+
"noise": 2.0
63+
}
64+
}
65+
},
66+
67+
"pca data": {
68+
"data": {
69+
"source": "make_blobs",
70+
"generation_kwargs": {
71+
"centers": 1,
72+
"n_samples": 1000,
73+
"n_features": [16, 64]
74+
},
75+
"split_kwargs": { "ignore": true }
76+
}
77+
},
78+
79+
"covariance": {
80+
"algorithm":
81+
[
82+
{
83+
"estimator": "IncrementalEmpiricalCovariance",
84+
"library": "sklearnex.covariance",
85+
"estimator_methods": {"training": "partial_fit"},
86+
"num_batches": {
87+
"training": 2
88+
}
89+
}
90+
]
91+
},
92+
"basic_statistics": {
93+
"algorithm":
94+
[
95+
{
96+
"estimator": "IncrementalBasicStatistics",
97+
"library": "sklearnex.basic_statistics",
98+
"num_batches": {
99+
"training": 2
100+
}
101+
}
102+
]
103+
},
104+
"linear_regression": {
105+
"algorithm":
106+
[
107+
{
108+
"estimator": "IncrementalLinearRegression",
109+
"library": "sklearnex.linear_model",
110+
"num_batches": {
111+
"training": 2
112+
}
113+
}
114+
]
115+
},
116+
"pca": {
117+
"algorithm":
118+
[
119+
{
120+
"estimator": "IncrementalPCA",
121+
"library": "sklearnex.preview.decomposition",
122+
"num_batches": {
123+
"training": 2
124+
}
125+
}
126+
]
127+
}
128+
129+
},
130+
"TEMPLATES": {
131+
"covariance": {
132+
"SETS": ["common", "covariance", "covariance data"]
133+
},
134+
"basic_statistics": {
135+
"SETS": ["common", "basic_statistics", "basic_statistics data"]
136+
},
137+
"linear_regression": {
138+
"SETS": ["common", "linear_regression", "linear_regression data"]
139+
},
140+
"pca": {
141+
"SETS": ["common", "pca", "pca data"]
142+
}
143+
}
144+
}

sklbench/benchmarks/custom_function.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616

1717
from typing import Dict, List, Tuple
1818

19-
from ..datasets import load_data
19+
from ..datasets import load_dataset
2020
from ..datasets.transformer import split_and_transform_data
2121
from ..utils.bench_case import get_bench_case_value
2222
from ..utils.common import get_module_members
2323
from ..utils.config import bench_case_filter
2424
from ..utils.custom_types import BenchCase
2525
from ..utils.logger import logger
2626
from ..utils.measurement import measure_case
27-
from ..utils.special_params import assign_case_special_values_on_run
27+
from ..datasets.special_params import assign_case_special_values_on_run
2828
from .common import enrich_result, main_template
2929

3030

@@ -77,7 +77,7 @@ def main(bench_case: BenchCase, filters: List[BenchCase]):
7777
function_instance = get_function_instance(library_name, function_name)
7878

7979
# load and transform data
80-
data, data_description = load_data(bench_case)
80+
data, data_description = load_dataset(bench_case)
8181
(x_train, x_test, y_train, y_test), data_description = split_and_transform_data(
8282
bench_case, data, data_description
8383
)

0 commit comments

Comments
 (0)