def split_X_y(df, column_name='label'):
    """
    Split the data into a feature values (X) and targets or labels (y).
    :param df: pandas dataframe to split
    :param target: Name of the column holding the labels
    :return: tuple containing X, y values
    """
    if column_name not in df.columns:
        return df, None
    y = df.pop([column_name])
    return df, y