How to run multiple experiments in one go with Nkululeko

With nkululeko since version 0.98.0 there is a new module that allows for the run of several classifier / feature combinations in one go, it's called flags.

Here is an example how to run this on a Polish emotional database:

[EXP]
root = /tmp/results/
name = exp_polish_flags1

[DATA]
databases = ['train', 'dev', 'test']
train = ./data/polish/polish_train.csv
train.type = csv
train.absolute_path = False
train.split_strategy = train
; train.audio_path = ./POLISH
dev = ./data/polish/polish_dev.csv
dev.type = csv
dev.absolute_path = False
dev.split_strategy = train
; dev.audio_path = ./POLISH
test = ./data/polish/polish_test.csv
test.type = csv
test.absolute_path = False
test.split_strategy = test
target = emotion

[FLAGS]
models = ['xgb', 'svm']
features = ['praat', 'os']   
balancing = ['none', 'ros', 'smote']  
scale = ['none', 'standard', 'robust', 'minmax']

You run this with the python command

python -m nkululeko.flags --config examples/exp_polish_flags.ini

and then would get the output

...

=== BEST CONFIGURATION ===
Best Result: 0.4666666666666666
Best Parameters:
  models: xgb
  features: praat
  balancing: none
  scale: none

To use these parameters, set in your config file:
[MODEL]
type = xgb
[FEATS]
type = ['praat']
balancing = none
scale = none

Flags experiments time: 65.32 seconds (1.09 minutes)
DONE

Leave a Reply

Your email address will not be published. Required fields are marked *