docs: def _batch(self):
          '''
          Creates the batch file to run the experiment.
          '''
          self.batch = '%s/%s.treeliker' % (self.tmpdir, self.basename)
  
          commands = []
          if not self.test_dataset:
              commands.append('set(output_type, single)')
              commands.append("set(examples, '%s.txt')" % self.basename)
          else:
              commands.append('set(output_type, train_test)')
              commands.append("set(train_set, '%s.txt')" % self.basename)
              commands.append("set(test_set, '%s_test.txt')" % self.basename)
          commands.append('set(template, %s)' % self.template)
  
          if not self.test_dataset:
              commands.append('set(output, %s.arff)' % self.basename)
          else:
              commands.append('set(output, conversion)')
  
          # Optional settings
          for key, val in self.settings.items():
              if val not in [None, '']:
                  commands.append('set(%s, %s)' % (key, str(val)))
  
          commands.append('work(yes)')
  
          with open(self.batch, 'w') as f:
              f.write('\n'.join(commands))