def _process_parameters(parameters):
    """
    Run over the parameters are extract parameter and column name. This function deals with figuring out if a
    requested parameter also has a user defined output name.

    .. note::
        Function for internal use!

    :param parameters: list of tuples or strings containing the parameters names
    :type parameters: list
    :return: parameters, column_names: the parameters to extract with extra ML parameters added, and the columnn names
             matching those parameters.
        """

    parameters_, column_names = [], []
    for parameter in parameters:
        if type(parameter) == tuple:
            parameters_.append(parameter[0])
            column_names.append(parameter[1].strip())
        else:
            parameters_.append(parameter)
            column_names.append(parameter.strip())

    return parameters_, column_names