autoBOTLib CLIΒΆ

To streamline the experiments, it makes a lot of sense to directly use the autoBOTLib as a CLI tool. The library itself implements wrappers for main functions, and can be executed as follows. By running

python autoBOTLib --arguments

The arguments are defined as follows.

usage: autoBOTLib [-h] [--classifier CLASSIFIER] [--time TIME] [--popsize POPSIZE]
               [--output_folder OUTPUT_FOLDER] [--hof_size HOF_SIZE]
               [--representation_type REPRESENTATION_TYPE] [--datafolder DATAFOLDER]
               [--mutation_rate MUTATION_RATE] [--crossover_rate CROSSOVER_RATE]
               [--predict_data PREDICT_DATA] [--load_model LOAD_MODEL] [--num_cpu NUM_CPU]
               [--mode MODE]

optional arguments:
  -h, --help            show this help message and exit
  --classifier CLASSIFIER
  --time TIME
  --popsize POPSIZE
  --output_folder OUTPUT_FOLDER
  --hof_size HOF_SIZE
  --representation_type REPRESENTATION_TYPE
  --datafolder DATAFOLDER
  --mutation_rate MUTATION_RATE
  --crossover_rate CROSSOVER_RATE
  --predict_data PREDICT_DATA
  --load_model LOAD_MODEL
  --num_cpu NUM_CPU
  --mode MODE

The code outputs the main results into the results folder by default.

Note that there are two main modes of operation: learning and prediction. An example of the output is given in results folder.. A working full CLI cycle (training+prediction) is given in this script.

## Train an autoBOTLib classifier
python autoBOTLib --mode learning --datafolder ./data/insults --output_folder results --classifier autoBOTLib-base --time 1 --hof_size 3 --representation_type neurosymbolic --mutation_rate 0.3 --crossover_rate 0.6

## Obtain predictions from a trained model
python autoBOTLib --mode prediction --load_model ./results/autoBOTLibmodel.pickle --predict_data ./data/insults/test.tsv

This will result in a file called test_predictions.tsv in the results folder.