Skip to content

Commit 8bde5dd

Browse files
committed
a new start
1 parent d1528ea commit 8bde5dd

File tree

189 files changed

+1185520
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

189 files changed

+1185520
-1
lines changed

.flake8

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[flake8]
2+
# E701: multiple statements on one line (colon)
3+
ignore = E701
4+
max-line-length = 160

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
*catboost_info*
33
*logs.log*
44
*/debug.out
5-
.DS_Store
5+
repos
6+
*.pyc
7+
benchmarks/datasets/job_salary/data.csv

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Mindsdb Benchmark Suite
2+
3+
Note: This suite is now available to the public but it is still meant to run internally. We will provide local setup instructions, as well as the database mirror needed to compare your results against our ongoing benchmarks very soon.
4+
5+
## Important
6+
7+
A benchmark is identified by: a dataset name, an accuracy function, a lightwood version, a lightwood commit.
8+
"Running the benchmark" means running all potential dataset and accuracy function combinations for a specific lightwood version and commit.
9+
All benchmarks ran are logged in the database *and* the only way to look at the results will be through the database (plotting server makes this easy)
10+
11+
## Install
12+
13+
As usual: clone, add to python path, install requirements, make sure lightwood is installed. If this doesn't make sense then you shouldn't be running the benchmark suite and instead you should ask for a mindsdb dev environment setup tutorial from a colleague.
14+
15+
## Useful scenarios
16+
17+
### Benchmarking a local experiment
18+
19+
I have a local version / commit-hash / both of lightwood and I want to bench it's accuracy against any other version of lightwood.
20+
21+
Run the benchmarks as: `python3 benchmarks/run.py --lightwood=#env --use_ray=0` (this assume you have a single GPU, if you have multiple GPU or a beasty single GPU use `--use_ray=1`)
22+
Compare as: `http://0.0.0.0:9107/compare/<base lightwood version>/<your version and/or commit hash>`
23+
24+
## Improvement ideas
25+
26+
#### Plotting
27+
28+
2x types of improvement, relative to the previous score *and* relative to total (aka `first - second` for acc score going from 0 to 1). We'll call these "relative" (improvement relative to previous score) and absolute (improvement relative diff on a 0 to 1 scale for accuracy functions that are capped)
29+
30+
For both relative and absolute improvement we'll have:
31+
32+
* Mean
33+
* Median
34+
* Box plot
35+
36+
Also maybe tag datasets as: Classifaction, Regression, Text, Timeseries

benchmarks/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import uuid
2+
BATCH_ID = uuid.uuid4().hex

benchmarks/__main__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from benchmarks.run import main
2+
3+
if __name__ == '__main__':
4+
main()

benchmarks/datasets/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)