credit default dataset

    Parameters
    ----------
    return_X_y : bool,
        if True, returns a model-ready tuple of data (X, y)
        otherwise, returns a Pandas DataFrame

    Returns
    -------
    model-ready tuple of data (X, y)
        OR
    Pandas DataFrame

    Notes
    -----
    X contains the category of student or not, credit card balance,
    and  income.

    y contains the outcome of default (0) or not (1).

    Source:
    https://vincentarelbundock.github.io/Rdatasets/doc/ISLR/Default.html

def default(return_X_y=True):
    """credit default dataset

    Parameters
    ----------
    return_X_y : bool,
        if True, returns a model-ready tuple of data (X, y)
        otherwise, returns a Pandas DataFrame

    Returns
    -------
    model-ready tuple of data (X, y)
        OR
    Pandas DataFrame

    Notes
    -----
    X contains the category of student or not, credit card balance,
    and  income.

    y contains the outcome of default (0) or not (1).

    Source:
    https://vincentarelbundock.github.io/Rdatasets/doc/ISLR/Default.html
    """
    # y is binary
    # recommend LogisticGAM
    default = pd.read_csv(PATH + '/default.csv', index_col=0)
    if return_X_y:
        default = default.values
        default[:,0] = np.unique(default[:,0], return_inverse=True)[1]
        default[:,1] = np.unique(default[:,1], return_inverse=True)[1]
        X = default[:,1:]
        y = default[:,0]
        return _clean_X_y(X, y)
    return default