def get_experiment_string(dataset,
                          vec,
                          dim_red,
                          which_features='all',
                          problem='classification',
                          alternate=False):
  """Get a string describing the experiment.

  Args:
    dataset: str dataset name
    vec: str vectorization method
    dim_red: str dimensionality reduction method
    which_features: str type of features to use; values = 'all', 'inform',
      'uninform'
    problem: str type of learning problem; values = 'classification',
      'regression'
    alternate: bool whether alternate experiment is used

  Returns:
    experiment_string: str
      string describing experiment settings
  """
  out = dataset
  out += '_{}'.format(vec) * (dim_red != 'none')
  out += '_{}'.format(dim_red) * (vec != 'none')
  out += '_{}'.format(problem) * (problem != 'classification')
  out += '_{}'.format(which_features) * (which_features != 'all')
  out += '_alternate' * alternate

  return out