Skip to content

Commit ed353d8

Browse files
authored
Update benchmark (#43)
1 parent 5f62ca1 commit ed353d8

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ pip install -e .
2323
To run the tests simply execute:
2424

2525
```
26-
pytest -v --cov=hiclass --cov-report term-missing --cov-report html
26+
pytest -v --flake8 --pydocstyle --cov=hiclass --cov-fail-under=90 --cov-report html
2727
```

README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,38 +44,38 @@ This first benchmark was executed on Google Colab with only 1 core, using Logist
4444

4545
|Classifier|Training Time (hh:mm:ss)|Memory Usage (GB)|Disk Usage (MB)|F-score|
4646
|----------|:-----------------------:|:---------------:|:-------------:|:-----:|
47-
|[Local Classifier per Parent Node](https://colab.research.google.com/drive/1yZlQ9UnBEGdkIpnJ3pBwvbZ-U0SXL-UG?usp=sharing)|01:00:01|5.21|118|**0.7630**|
48-
|[Local Classifier per Node](https://colab.research.google.com/drive/1rQTDxWcck-PH4saKzrofQ7Sg9W23lYZv?usp=sharing)|**00:21:14**|**4.70**|120|0.7587|
49-
|[Local Classifier per Level](https://colab.research.google.com/drive/1b_Qb2d6RhSO7ICYTIsxH6ZqCVgeKWmll?usp=sharing)|03:11:42|9.69|120|0.7626|
50-
|[Flat Classifier](https://colab.research.google.com/drive/10jgzA65WaoTc7tFfrlKlhlwPBs3PFy9m?usp=sharing)|03:09:35|8.98|**104**|0.7565|
47+
|[Local Classifier per Parent Node](https://colab.research.google.com/drive/1yZlQ9UnBEGdkIpnJ3pBwvbZ-U0SXL-UG?usp=sharing)|00:52:58|5.28|121|**0.7689**|
48+
|[Local Classifier per Node](https://colab.research.google.com/drive/1rQTDxWcck-PH4saKzrofQ7Sg9W23lYZv?usp=sharing)|**00:33:02**|**4.87**|123|0.7647|
49+
|[Local Classifier per Level](https://colab.research.google.com/drive/1b_Qb2d6RhSO7ICYTIsxH6ZqCVgeKWmll?usp=sharing)|04:14:45|10.71|123|0.7684|
50+
|[Flat Classifier](https://colab.research.google.com/drive/10jgzA65WaoTc7tFfrlKlhlwPBs3PFy9m?usp=sharing)|03:20:26|9.57|**107**|0.7636|
5151

5252
This second benchmark is similar to the last one, except that it was executed on a cluster node running GNU/Linux with 512 GB physical memory and 128
5353
cores provided by two AMD EPYC™ 7742 processors, and each model had 12 cores available for training.
5454

5555
|Classifier|Training Time (hh:mm:ss)|Memory Usage (GB)|Disk Usage (MB)|F-score|
5656
|----------|:-----------------------:|:---------------:|:-------------:|:-----:|
57-
|Local Classifier per Parent Node|00:21:35|3.92|117|**0.7644**|
58-
|Local Classifier per Node|**00:06:24**|**3.82**|118|0.7601|
59-
|Local Classifier per Level|01:26:13|3.93|119|0.7641|
60-
|Flat Classifier|01:20:55|6.48|**103**|0.7591|
57+
|Local Classifier per Parent Node|00:19:26|4.08|118|**0.7688**|
58+
|Local Classifier per Node|**00:06:21**|**3.97**|120|0.7648|
59+
|Local Classifier per Level|01:22:51|4.08|120|0.7684|
60+
|Flat Classifier|01:38:19|6.63|**104**|0.7634|
6161

6262
This third benchmark was also executed on the same cluster node as the previous benchmark and 12 cores were provided for each model, however, the base classifier was LightGBM instead.
6363

6464
|Classifier|Training Time (hh:mm:ss)|Memory Usage (GB)|Disk Usage (MB)|F-score|
6565
|----------|:-----------------------:|:---------------:|:-------------:|:-----:|
66-
|Local Classifier per Parent Node|00:24:52|3.91|77|0.7279|
67-
|Local Classifier per Node|00:30:39|5.41|312|**0.7551**|
68-
|Local Classifier per Level|01:36:33|**3.86**|37|0.5413|
69-
|Flat Classifier|**00:23:54**|4.36|**13**|0.4303|
66+
|Local Classifier per Parent Node|00:31:16|4.06|80|0.7062|
67+
|Local Classifier per Node|**00:24:21**|5.58|318|**0.7603**|
68+
|Local Classifier per Level|01:55:27|**4.02**|40|0.6382|
69+
|Flat Classifier|00:26:16|4.44|**32**|0.4788|
7070

7171
Lastly, this fourth benchmark was also executed on the same cluster node as the previous benchmarks and 12 cores were provided for each model, however, the base classifier was random forest instead.
7272

7373
|Classifier|Training Time (hh:mm:ss)|Memory Usage (GB)|Disk Usage (GB)|F-score|
7474
|----------|:-----------------------:|:---------------:|:-------------:|:-----:|
75-
|Local Classifier per Parent Node|03:17:32|**35.42**|**11**|0.7172|
76-
|Local Classifier per Node|02:27:11|39.68|12|**0.7479**|
77-
|Local Classifier per Level|04:17:55|138.19|44|0.7134|
78-
|Flat Classifier|**00:28:35**|78.29|37|0.6438|
75+
|Local Classifier per Parent Node|03:23:02|**36.43**|**11**|0.7245|
76+
|Local Classifier per Node|02:19:45|40.98|13|**0.7519**|
77+
|Local Classifier per Level|04:25:45|142.28|45|0.7208|
78+
|Flat Classifier|**00:29:26**|80.47|38|0.6515|
7979

8080
For reproducibility, a Snakemake pipeline was created. Instructions on how to run it and source code are available at [https://github.com/mirand863/hiclass/tree/main/benchmarks/consumer_complaints](https://github.com/mirand863/hiclass/tree/main/benchmarks/consumer_complaints).
8181

benchmarks/consumer_complaints/envs/hiclass.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ dependencies:
44
- python=3.8
55
- pip=21.2.4
66
- pip:
7-
- hiclass==4.0.0
7+
- hiclass==4.1.0
88
- pandas==1.4.1
99
- ray==1.12.1
1010
- scikit-learn==1.1.1

0 commit comments

Comments
 (0)