<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_regression(func, n_samples=100, n_features=1, bias=0.0, noise=0.0, random_state=None):
 """ Make dataset for a regression problem. Examples -------- (100, 1) (100,) array([[ 1.62], [-0.61], [-0.53], [-1.07], [ 0.87]]) array([ 0.76, 0.48, -0.23, -0.28, 0.83]) """

    generator = check_random_state(random_state)

    X = generator.randn(n_samples, n_features)
    # unpack the columns of X
    y = func(*X.T) + bias

    if noise > 0.0:
        y += generator.normal(scale=noise, size=y.shape)

    return X, y