This is one of a series of posts about how to use nkululeko.
If you're unfamilar with nkululelo, you might want to start here.
This post is about machine classification (as opposed to regression problems) and an introduction how to combine different features sets with different classifiers.
I'll walk you through the sections of the config file (all options here):
The first section deals with general setup:
[EXP]
# root is the base directory for the experiment relative to the python call
root = ./experiment_1/
# mainly a name for the top folder to store results (inside root)
name = exp_A
# needed only for neural net classifiers
#epochs = 100
# needed only for classifiers with random initialization
# runs = 3
The DATA section deals with the data sets:
[DATA]
# list all the databases you will be using
databases = ['emodb']
# state the path to the audformat root folder
emodb = /home/felix/data/audb/emodb
# split train and test based on different random speakers
emodb.split_strategy = speaker_split
# state the percentage of test speakers (in this case 4 speakers, as emodb only has 10 speakers)
emodb.testsplit = 40
# the target label that should be classified
target = emotion
# the categories you are interested in
labels = ['anger', 'boredom', 'disgust', 'fear', 'happiness', 'neutral', 'sadness']
The next section deals with the features that should be used by the classifier.
[FEATS]
# the type of features to use
type = ['os']
The choice of currently implemented features is described here:
You can combine feature sets, i.e. they will be concatenated column-wise, e.g. like so:
[FEATS]
# the type of features to use
type = ['os', 'praat']
Next comes the MODEL section which deals with the classifier:
[MODEL]
# the main thing to sepecify is the kind of classifier:
type = xgb
Choices are described here
Models can not be combined, but you can do ensemble learning