Skip to content

Xgb datasets adding #60

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 39 commits into from
Apr 26, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
62f87c3
Applied mypy + flake8 for all files
Mar 22, 2021
132d73f
Sorted imports with ISort
Mar 22, 2021
4aa4898
Moved env change to runner
Mar 22, 2021
5a8db33
fixed all mypy errors and added mypy check to CI
Mar 22, 2021
5594efd
Yet another mypy fixes
Mar 22, 2021
35b55b8
Small runner refactoring
Mar 23, 2021
56de8f7
First attempt of adding nvidia datasets
Mar 29, 2021
0ee5f05
Merge branch 'master' into mypy-applying
Mar 29, 2021
04e7a64
removed E265 ignoring for flake8 job
Mar 29, 2021
8268747
Merge remote-tracking branch 'my/mypy-applying' into xgb-nvidia-datasets
Mar 30, 2021
b6a7eb0
NVidia benchmarks are working now
Mar 30, 2021
7e780bb
Added higgs, msrank and airline fetching
Mar 30, 2021
670c289
small fixes of env
Mar 30, 2021
dc0e9c9
Applying comments
Apr 1, 2021
f64ae68
Merge branch 'mypy-applying' into xgb-nvidia-datasets
Apr 1, 2021
873754b
Split dataset loading to different files
Apr 1, 2021
93ea32d
Merge remote-tracking branch 'origin/master' into xgb-nvidia-datasets
Apr 1, 2021
dcfc5b9
Why doesnt mypy work?
Apr 1, 2021
340402e
Added abalone + letters, updated all GB configs
Apr 15, 2021
6e47423
Added links and descriptions for new datasets
Apr 15, 2021
340a628
Merge remote-tracking branch 'origin/master' into xgb-nvidia-datasets
Apr 15, 2021
4be3720
handling mypy
Apr 15, 2021
8184016
Handled skex fake message throwing
Apr 15, 2021
cf5ee76
Trying to handle mypy, at. 3
Apr 15, 2021
9db3177
Trying to handle mypy, at. 4
Apr 15, 2021
5e76a0b
Trying to handle mypy, at. 5
Apr 15, 2021
13fcd20
Changed configs readme and made small fixes in GB testing configs
Apr 20, 2021
0873f97
Merge branch 'master' of https://github.com/IntelPython/scikit-learn_…
Apr 20, 2021
877e0fd
Applying more comments, updating readme's
Apr 20, 2021
8bdc7f2
Applying comments: renamed configs
Apr 20, 2021
f9cf09b
Changed all datasets to npy, applied Kirill's comments
Apr 23, 2021
41e003f
Merge branch 'master' of https://github.com/IntelPython/scikit-learn_…
Apr 23, 2021
523df30
Cleanup after someone's commit
Apr 23, 2021
59303fa
Applying mypy
Apr 23, 2021
b56e42c
Applied Ekaterina's suggestions
Apr 23, 2021
ad176e5
Applied other Ekaterina's comments
Apr 23, 2021
b92a27f
Merge branch 'xgb-nvidia-datasets' of https://github.com/RukhovichIV/…
Apr 23, 2021
11a8ffc
Final commits applying
Apr 26, 2021
37d5461
Alexander's final comments
Apr 26, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Changed configs readme and made small fixes in GB testing configs
  • Loading branch information
Igor Rukhovich committed Apr 20, 2021
commit 13fcd20204a2aeecc1569d8f061fdeaca1ea2e1e
60 changes: 30 additions & 30 deletions configs/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Config JSON Schema
## Config JSON Schema

Configure benchmarks by editing the `config.json` file.
You can configure some algorithm parameters, datasets, a list of frameworks to use, and the usage of some environment variables.
Expand All @@ -11,57 +11,57 @@ Refer to the tables below for descriptions of all fields in the configuration fi
- [Training Object](#training-object)
- [Testing Object](#testing-object)

### Root Config Object
### Root Config Object
| Field Name | Type | Description |
| ----- | ---- |------------ |
|omp_env| array[string] | For xgboost only. Specify an environment variable to set the number of omp threads |
|common| [Common Object](#common-object)| **REQUIRED** common benchmarks setting: frameworks and input data settings |
|cases| array[[Case Object](#case-object)] | **REQUIRED** list of algorithms, their parameters and training data |
|cases| List[[Case Object](#case-object)] | **REQUIRED** list of algorithms, their parameters and training data |

### Common Object
### Common Object

| Field Name | Type | Description |
| ----- | ---- |------------ |
|lib| array[string] | **REQUIRED** list of test frameworks. It can be *sklearn*, *daal4py*, *cuml* or *xgboost* |
|data-format| array[string] | **REQUIRED** input data format. Data formats: *numpy*, *pandas* or *cudf* |
|data-order| array[string] | **REQUIRED** input data order. Data order: *C* (row-major, default) or *F* (column-major) |
|dtype| array[string] | **REQUIRED** input data type. Data type: *float64* (default) or *float32* |
|check-finitness| array[] | Check finiteness in sklearn input check(disabled by default) |
|data-format| Union[str, List[str]] | **REQUIRED** input data format. Data formats: *numpy*, *pandas* or *cudf* |
|data-order| Union[str, List[str]] | **REQUIRED** input data order. Data order: *C* (row-major, default) or *F* (column-major) |
|dtype| Union[str, List[str]] | **REQUIRED** input data type. Data type: *float64* (default) or *float32* |
|check-finitness| List[] | Check finiteness in sklearn input check(disabled by default) |

### Case Object
### Case Object

| Field Name | Type | Description |
| ----- | ---- |------------ |
|lib| array[string] | **REQUIRED** list of test frameworks. It can be *sklearn*, *daal4py*, *cuml* or *xgboost*|
|algorithm| string | **REQUIRED** benchmark name |
|dataset| array[[Dataset Object](#dataset-object)] | **REQUIRED** input data specifications. |
|benchmark parameters| array[Any] | **REQUIRED** algorithm parameters. a list of supported parameters can be found here |
|lib| Union[str, List[str]] | **REQUIRED** Test framework or list of frameworks. Must be from [*sklearn*, *daal4py*, *cuml* or *xgboost*] |
|algorithm| string | **REQUIRED** benchmark file name. |
|dataset| List[[Dataset Object](#dataset-object)] | **REQUIRED** input data specifications. |
|**specific algorithm parameters**| Union[int, float, str, List[int], List[float], List[str]] | other specific algorithm parameters. The list of supported parameters can be found here |

### Dataset Object
#### **Important:** feel free to move any parameter from **cases** to **common** section since this parameter is common for all cases

### Dataset Object

| Field Name | Type | Description |
| ----- | ---- |------------ |
|source| string | **REQUIRED** data source. It can be *synthetic* or *csv* |
|type| string | **REQUIRED** for synthetic data only. The type of task for which the dataset is generated. It can be *classification*, *blobs* or *regression* |
|source| string | **REQUIRED** data source. It can be *synthetic*, *csv* or *npy* |
|type| string | **REQUIRED for synthetic data**. The type of task for which the dataset is generated. It can be *classification*, *blobs* or *regression* |
|n_classes| int | For *synthetic* data and for *classification* type only. The number of classes (or labels) of the classification problem |
|n_clusters| int | For *synthetic* data and for *blobs* type only. The number of centers to generate |
|n_features| int | **REQUIRED** For *synthetic* data only. The number of features to generate |
|name| string | Name of dataset |
|training| [Training Object](#training-object) | **REQUIRED** algorithm parameters. a list of supported parameters can be found here |
|testing| [Testing Object](#testing-object) | **REQUIRED** algorithm parameters. a list of supported parameters can be found here |
|n_features| int | **REQUIRED for *synthetic* data**. The number of features to generate |
|name| string | Name of the dataset |
|training| [Training Object](#training-object) | **REQUIRED** An object with training dataset paths |
|testing| [Testing Object](#testing-object) | An object with testing dataset paths. If not provided, training datasets are used |

### Training Object
### Training Object

| Field Name | Type | Description |
| ----- | ---- |------------ |
| n_samples | int | The total number of the training points |
| x | str | The path to the training samples |
| y | str | The path to the training labels |
| n_samples | int | **REQUIRED** The total number of the training samples |
| x | str | **REQUIRED** The path to the training samples |
| y | str | **REQUIRED** The path to the training labels |

### Testing Object
### Testing Object

| Field Name | Type | Description |
| ----- | ---- |------------ |
| n_samples | int | The total number of the testing points |
| x | str | The path to the testing samples |
| y | str | The path to the testing labels |
| n_samples | int | **REQUIRED** The total number of the testing samples |
| x | str | **REQUIRED** The path to the testing samples |
| y | str | **REQUIRED** The path to the testing labels |
28 changes: 14 additions & 14 deletions configs/testing/daal4py_xgboost.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
{
"omp_env": ["OMP_NUM_THREADS", "OMP_PLACES"],
"common": {
"lib": ["modelbuilders"],
"data-format": ["pandas"],
"data-order": ["F"],
"dtype": ["float32"]
"lib": "modelbuilders",
"data-format": "pandas",
"data-order": "F",
"dtype": "float32",
"algorithm": "xgb_mb",
"tree-method": "hist",
"count-dmatrix":""
},
"cases": [
{
"algorithm": "xgb_mb",
"dataset": [
{
"source": "synthetic",
"type": "classification",
"n_classes": 5,
"n_features": 10,
"source": "synthetic",
"type": "classification",
"n_classes": 5,
"n_features": 10,
"training": {
"n_samples": 100
},
Expand All @@ -23,10 +24,9 @@
}
}
],
"n-estimators": [10],
"tree-method": ["hist"],
"objective": ["multi:softprob"],
"max-depth": [8]
"n-estimators": 10,
"max-depth": 8,
"objective": "multi:softprob"
}
]
}
53 changes: 25 additions & 28 deletions configs/testing/xgboost.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
{
"omp_env": ["OMP_NUM_THREADS", "OMP_PLACES"],
"common": {
"lib": ["xgboost"],
"data-format": ["pandas"],
"data-order": ["F"],
"dtype": ["float64"]
"lib": "xgboost",
"data-format": "pandas",
"data-order": "F",
"dtype": "float32",
"algorithm": "gbt",
"tree-method": "hist",
"count-dmatrix":""
},
"cases": [

{
"algorithm": "gbt",
"dataset": [
{
"source": "synthetic",
"type": "classification",
"n_classes": 5,
"n_features": 10,
"source": "synthetic",
"type": "classification",
"n_classes": 5,
"n_features": 10,
"training": {
"n_samples": 1000
},
Expand All @@ -24,21 +24,19 @@
}
}
],
"n-estimators": [50],
"objective": ["multi:softprob"],
"tree-method": ["hist"],
"max-depth": [7],
"subsample": [0.7],
"colsample-bytree": [0.7]
"n-estimators": 50,
"max-depth": 7,
"subsample": 0.7,
"colsample-bytree": 0.7,
"objective": "multi:softprob"
},
{
"algorithm": "gbt",
"dataset": [
{
"source": "synthetic",
"type": "regression",
"n_classes": 5,
"n_features": 10,
"source": "synthetic",
"type": "regression",
"n_classes": 5,
"n_features": 10,
"training": {
"n_samples": 100
},
Expand All @@ -47,12 +45,11 @@
}
}
],
"n-estimators": [50],
"objective": ["reg:squarederror"],
"tree-method": ["hist"],
"max-depth": [8],
"learning-rate": [0.1],
"reg-alpha": [0.9]
"n-estimators": 50,
"max-depth": 8,
"learning-rate": 0.1,
"reg-alpha": 0.9,
"objective": "reg:squarederror"
}
]
}