Exemple #1
0
def output(part_id):
    # Random Test Cases
    X = np.c_[np.ones(10),
              np.sin(np.arange(1, 15, 1.5)),
              np.cos(np.arange(1, 15, 1.5))]
    y = np.sin(np.arange(1, 31, 3))

    Xval = np.c_[np.ones(10),
                 np.sin(np.arange(0, 14, 1.5)),
                 np.cos(np.arange(0, 14, 1.5))]
    yval = np.sin(range(1, 11))

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=0)
    func = getattr(mod, fname)

    if part_id == 1:
        J, _ = func(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f', J)
    elif part_id == 2:
        _, grad = func(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f', grad)
    elif part_id == 3:
        error_train, error_val = func(X, y, Xval, yval, 1)
        return sprintf('%0.5f', np.r_[error_train, error_val])
    elif part_id == 4:
        X_poly = func(X[1].reshape(-1, 1), 8)
        return sprintf('%0.5f', X_poly)
    elif part_id == 5:
        lambda_vec, error_train, error_val = func(X, y, Xval, yval)
        return sprintf('%0.5f', np.r_[lambda_vec, error_train, error_val])
def output(part_id):
    # Random Test Cases
    X = np.reshape(3.0*np.sin(np.linspace(1, 30, 30)), (3, 10), order='F')
    Xm = np.reshape(np.sin(np.linspace(1, 32, 32)), (16, 2), order='F')/5.0
    ym = np.array(1 + np.mod(range(1,17),4))
    t1 = np.sin(np.reshape(range(1,24,2), (4,3), order='F'))
    t2 = np.cos(np.reshape(range(1,40,2), (4,5), order='F'))
    t = np.hstack((t1.T.ravel(), t2.T.ravel()))

    fname = srcs[part_id-1].rsplit('.',1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        J, grad = func(t, 2.0, 4.0, 4.0, Xm, ym, 0.0)
        return sprintf('%0.5f ', J)
    elif part_id == 2:
        J, grad = func(t, 2.0, 4.0, 4.0, Xm, ym, 1.5)
        return sprintf('%0.5f ', J)
    elif part_id == 3:
        return sprintf('%0.5f ', func(X))
    elif part_id == 4:
        J, grad = func(t, 2, 4, 4, Xm, ym, 0)
        return sprintf('%0.5f ', np.hstack((J, grad)).tolist())
    elif part_id == 5:
        J, grad = func(t, 2, 4, 4, Xm, ym, 1.5)
        return sprintf('%0.5f ', np.hstack((J, grad)).tolist())
def output(part_id):
    # Random Test Cases
    X = np.column_stack((np.ones(20),
                          (np.exp(1) * np.sin(np.linspace(1, 20, 20))),
                          (np.exp(0.5) * np.cos(np.linspace(1, 20, 20)))))
    y = np.sin(X[:,0] + X[:,1]) > 0

    Xm = np.array([[-1,-1],[-1,-2],[-2,-1],[-2,-2],[1,1],[1,2],[2,1],[2,2],[-1,1],
          [-1,2],[-2,1],[-2,2],[1,-1],[1,-2],[-2,-1],[-2,-2]]).reshape((16,2))
    ym = np.array([1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4]).reshape(16,1)
    t1 = np.sin(np.array(range(1,24,2)).reshape(3,4).T)
    t2 = np.cos(np.array(range(1,40,2)).reshape(5,4).T)

    fname = srcs[part_id-1].rsplit('.',1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        J = lrCostFunction(np.array([0.25, 0.5, -0.5]), X, y, 0.1)
        grad = gradientFunctionReg(np.array([0.25, 0.5, -0.5]), X, y, 0.1)
        return sprintf('%0.5f ', np.hstack((J, grad)).tolist())
    elif part_id == 2:
        return sprintf('%0.5f ', oneVsAll(Xm, ym, 4, 0.1))
    elif part_id == 3:
        return sprintf('%0.5f ', predictOneVsAll(t1, Xm))
    elif part_id == 4:
        return sprintf('%0.5f ', predict(t1, t2, Xm))
def output(part_id):
    # Random Test Cases
    X = np.column_stack((np.ones(10),
                          (np.sin(np.arange(1, 16, 1.5))),
                          (np.cos(np.arange(1, 16, 1.5)))))
    y = np.sin(np.arange(1, 30, 3))

    Xval = np.column_stack((np.ones(10),
                          (np.sin(np.arange(0, 14, 1.5))),
                          (np.cos(np.arange(0, 14, 1.5)))))
    yval = np.sin(np.arange(1,11))

    fname = srcs[part_id-1].rsplit('.',1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        J, _ = func(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f ', J)
    elif part_id == 2:
        _, grad = func(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f ', grad)
    elif part_id == 3:
        error_train, error_val = func(X, y, Xval, yval, 1)
        return sprintf('%0.5f ', np.hstack((error_train, error_val)))
    elif part_id == 4:
        X_poly = func(X[1, :].T, 8)
        return sprintf('%0.5f ', X_poly)
    elif part_id == 5:
        lambda_vec, error_train, error_val = func(X, y, Xval, yval)
        return sprintf('%0.5f', np.hstack((lambda_vec, error_train, error_val)))
def output(part_id):
    # Random Test Cases
    x1 = np.sin(np.arange(1, 11))
    x2 = np.cos(np.arange(1, 11))
    ec = "the quick brown fox jumped over the lazy dog"
    wi = np.abs(np.round(x1 * 1863))
    wi = np.hstack((wi, wi))

    fname = srcs[part_id - 1].rsplit(".", 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        sim = func(x1, x2, 2)
        return sprintf("%0.5f ", sim)
    elif part_id == 2:
        data = scipy.io.loadmat("ex6data3.mat")
        X = data["X"]
        y = data["y"].flatten()
        Xval = data["Xval"]
        yval = data["yval"].flatten()
        C, sigma = func(X, y, Xval, yval)
        return sprintf("%0.5f ", np.hstack((C, sigma)))
    elif part_id == 3:
        word_indices = np.array(func(ec))
        return sprintf("%d ", (word_indices + 1).tolist())
    elif part_id == 4:
        x = func(wi)
        return sprintf("%d", x)
Exemple #6
0
def output(part_id):
    # Random Test Cases
    X = np.sin(np.arange(1, 166)).reshape((11, 15)).T
    Z = np.cos(np.arange(1, 122)).reshape((11, 11)).T
    C = Z[:5, :]
    idx = (np.mod(np.arange(1, 16), 3)).T

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        idx = func(X, C)
        return sprintf('%0.5f ', idx[1] + 1)
    elif part_id == 2:
        centroids = func(X, idx, 3)
        return sprintf('%0.5f ', centroids)
    elif part_id == 3:
        U, S, V = func(X)
        return sprintf('%0.5f ', abs(np.hstack(
            (U.T.flatten(), S.T.flatten()))))
    elif part_id == 4:
        X_proj = func(X, Z, 5)
        return sprintf('%0.5f ', X_proj.T.flatten())
    elif part_id == 5:
        X_rec = func(X[:, :5], Z, 5)
        return sprintf('%0.5f ', X_rec.T.flatten())
def output(part_id):
    # Random Test Cases
    X = np.sin(np.arange(1,166)).reshape((11, 15)).T
    Z = np.cos(np.arange(1,122)).reshape((11, 11)).T
    C = Z[:5, :]
    idx = (np.mod(np.arange(1,16), 3)).T

    fname = srcs[part_id-1].rsplit('.',1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        idx = func(X, C)
        return sprintf('%0.5f ', idx[1]+1)
    elif part_id == 2:
        centroids = func(X, idx, 3)
        return sprintf('%0.5f ', centroids)
    elif part_id == 3:
        U, S, V = func(X)
        return sprintf('%0.5f ', abs(np.hstack((U.T.flatten(), S.T.flatten()))))
    elif part_id == 4:
        X_proj = func(X, Z, 5)
        return sprintf('%0.5f ', X_proj.T.flatten())
    elif part_id == 5:
        X_rec = func(X[:, :5], Z, 5)
        return sprintf('%0.5f ', X_rec.T.flatten())
def output(part_id):
    # Random Test Cases
    X = np.column_stack(
        (np.ones(20), (np.exp(1) * np.sin(np.linspace(1, 20, 20))),
         (np.exp(0.5) * np.cos(np.linspace(1, 20, 20)))))
    y = np.sin(X[:, 0] + X[:, 1]) > 0

    Xm = np.array([[-1, -1], [-1, -2], [-2, -1], [-2, -2], [1, 1], [1, 2],
                   [2, 1], [2, 2], [-1, 1], [-1, 2], [-2, 1], [-2, 2], [1, -1],
                   [1, -2], [-2, -1], [-2, -2]]).reshape((16, 2))
    ym = np.array([1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4,
                   4]).reshape(16, 1)
    t1 = np.sin(np.array(range(1, 24, 2)).reshape(3, 4).T)
    t2 = np.cos(np.array(range(1, 40, 2)).reshape(5, 4).T)

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        J = lrCostFunction(np.array([0.25, 0.5, -0.5]), X, y, 0.1)
        grad = gradientFunctionReg(np.array([0.25, 0.5, -0.5]), X, y, 0.1)
        return sprintf('%0.5f ', np.hstack((J, grad)).tolist())
    elif part_id == 2:
        return sprintf('%0.5f ', oneVsAll(Xm, ym, 4, 0.1))
    elif part_id == 3:
        return sprintf('%0.5f ', predictOneVsAll(t1, Xm))
    elif part_id == 4:
        return sprintf('%0.5f ', predict(t1, t2, Xm))
Exemple #9
0
def output(part_id):
    # Random Test Cases
    x1 = np.sin(np.arange(1, 11))
    x2 = np.cos(np.arange(1, 11))
    ec = 'the quick brown fox jumped over the lazy dog'
    wi = np.abs(np.round(x1 * 1863))
    wi = np.hstack((wi, wi)).astype('int')

    if part_id == 1:
        sim = gaussianKernel(x1, x2, 2)
        return sprintf('%0.5f ', sim)
    elif part_id == 2:
        data = scipy.io.loadmat('data/ex6data3.mat')
        X = data['X']
        y = data['y'].flatten()
        Xval = data['Xval']
        yval = data['yval'].flatten()
        C, sigma = dataset3Params(X, y, Xval, yval)
        return sprintf('%0.5f ', np.hstack((C, sigma)))
    elif part_id == 3:
        word_indices = np.array(processEmail(ec))
        return sprintf('%d', (word_indices + 1).tolist())
    elif part_id == 4:
        x = emailFeatures(wi)
        return sprintf('%d ', x)
Exemple #10
0
def output(part_id):
    # Random Test Cases
    X = np.column_stack((np.ones(10),
                          (np.sin(np.arange(1, 16, 1.5))),
                          (np.cos(np.arange(1, 16, 1.5)))))
    y = np.sin(np.arange(1, 30, 3))

    Xval = np.column_stack((np.ones(10),
                          (np.sin(np.arange(0, 14, 1.5))),
                          (np.cos(np.arange(0, 14, 1.5)))))
    yval = np.sin(np.arange(1, 11))

    lr = LinearRegression()
    lr.fit(X, y)

    if part_id == 1:
        J, _ = lr.costFunction(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f ', J)
    elif part_id == 2:
        _, grad = lr.costFunction(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f ', grad)
    elif part_id == 3:
        error_train, error_val = lr.learningCurve(X, y, Xval, yval, 1)
        return sprintf('%0.5f ', np.hstack((error_train, error_val)))
    elif part_id == 4:
        X_poly = lr.polyFeatures(X[1, :].T, 8)
        return sprintf('%0.5f ', X_poly)
    elif part_id == 5:
        lambda_vec, error_train, error_val = lr.validationCurve(X, y,
                                                                Xval, yval)
        return sprintf('%0.5f', np.hstack((lambda_vec, error_train, error_val)))
def output(part_id):
    # Random Test Cases
    X = np.column_stack(
        (np.ones(10), (np.sin(np.arange(1, 16,
                                        1.5))), (np.cos(np.arange(1, 16,
                                                                  1.5)))))
    y = np.sin(np.arange(1, 30, 3))

    Xval = np.column_stack(
        (np.ones(10), (np.sin(np.arange(0, 14,
                                        1.5))), (np.cos(np.arange(0, 14,
                                                                  1.5)))))
    yval = np.sin(np.arange(1, 11))

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        J, _ = func(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f ', J)
    elif part_id == 2:
        _, grad = func(X, y, np.array([0.1, 0.2, 0.3]), 0.5)
        return sprintf('%0.5f ', grad)
    elif part_id == 3:
        error_train, error_val = func(X, y, Xval, yval, 1)
        return sprintf('%0.5f ', np.hstack((error_train, error_val)))
    elif part_id == 4:
        X_poly = func(X[1, :].T, 8)
        return sprintf('%0.5f ', X_poly)
    elif part_id == 5:
        lambda_vec, error_train, error_val = func(X, y, Xval, yval)
        return sprintf('%0.5f', np.hstack(
            (lambda_vec, error_train, error_val)))
def output(part_id):
    # Random Test Cases
    X = np.reshape(3.0 * np.sin(np.linspace(1, 30, 30)), (3, 10), order='F')
    Xm = np.reshape(np.sin(np.linspace(1, 32, 32)), (16, 2), order='F') / 5.0
    ym = np.array(1 + np.mod(range(1, 17), 4))
    t1 = np.sin(np.reshape(range(1, 24, 2), (4, 3), order='F'))
    t2 = np.cos(np.reshape(range(1, 40, 2), (4, 5), order='F'))

    net = Net(2, 4, 4, t1, t2)

    if part_id == 1:
        J, grad = net.costFunction(Xm, ym, 0.0)
        return sprintf('%0.5f ', J)
    elif part_id == 2:
        J, grad = net.costFunction(Xm, ym, 1.5)
        return sprintf('%0.5f ', J)
    elif part_id == 3:
        return sprintf('%0.5f ', net.sigmoidGradient(X))
    elif part_id == 4:
        J, grad = net.costFunction(Xm, ym, 0)
        grads = np.concatenate([grad['W1'].T.ravel(), grad['W2'].T.ravel()])
        return sprintf('%0.5f ', np.hstack((J, grads)).tolist())
    elif part_id == 5:
        J, grad = net.costFunction(Xm, ym, 1.5)
        grads = np.concatenate([grad['W1'].T.ravel(), grad['W2'].T.ravel()])
        return sprintf('%0.5f ', np.hstack((J, grads)).tolist())
Exemple #13
0
def output(part_id):
    # Random Test Cases
    X = np.reshape(3.0*np.sin(np.linspace(1, 30, 30)), (3, 10), order='F')
    Xm = np.reshape(np.sin(np.linspace(1, 32, 32)), (16, 2), order='F')/5.0
    ym = np.array(1 + np.mod(range(1,17),4))
    t1 = np.sin(np.reshape(range(1,24,2), (4,3), order='F'))
    t2 = np.cos(np.reshape(range(1,40,2), (4,5), order='F'))
    t = np.hstack((t1.T.ravel(), t2.T.ravel()))

    fname = srcs[part_id-1].rsplit('.',1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        J, grad = func(t, 2.0, 4.0, 4.0, Xm, ym, 0.0)
        return sprintf('%0.5f ', J)
    elif part_id == 2:
        J, grad = func(t, 2.0, 4.0, 4.0, Xm, ym, 1.5)
        return sprintf('%0.5f ', J)
    elif part_id == 3:
        return sprintf('%0.5f ', func(X))
    elif part_id == 4:
        J, grad = func(t, 2, 4, 4, Xm, ym, 0)
        return sprintf('%0.5f ', np.hstack((J, grad)).tolist())
    elif part_id == 5:
        J, grad = func(t, 2, 4, 4, Xm, ym, 1.5)
        return sprintf('%0.5f ', np.hstack((J, grad)).tolist())
Exemple #14
0
def output(part_id):
    # Random Test Cases
    x1 = np.sin(np.arange(1, 11))
    x2 = np.cos(np.arange(1, 11))
    ec = 'the quick brown fox jumped over the lazy dog'
    wi = np.abs(np.round(x1 * 1863))
    wi = np.hstack((wi, wi))

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        sim = func(x1, x2, 2)
        return sprintf('%0.5f ', sim)
    elif part_id == 2:
        data = scipy.io.loadmat('ex6data3.mat')
        X = data['X']
        y = data['y'].flatten()
        Xval = data['Xval']
        yval = data['yval'].flatten()
        C, sigma = func(X, y, Xval, yval)
        return sprintf('%0.5f ', np.hstack((C, sigma)))
    elif part_id == 3:
        word_indices = np.array(func(ec))
        return sprintf('%d ', (word_indices + 1).tolist())
    elif part_id == 4:
        x = func(wi)
        return sprintf('%d', x)
Exemple #15
0
def output(part_id):
    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=0)
    func = getattr(mod, fname)

    # Random Test Cases
    X1 = np.c_[np.ones(20), np.exp(1) + np.exp(2) * np.arange(0.1, 2.1, 0.1)]
    y1 = X1[:, 1] + np.sin(X1[:, 0]) + np.cos(X1[:, 1])
    X2 = np.c_[X1, X1[:, 1]**0.5, X1[:, 1]**0.25]
    y2 = y1**0.5 + y1

    if part_id == 1:
        return sprintf('%0.5f ', func())
    elif part_id == 2:
        return sprintf('%0.5f ', func(X1, y1, np.array([0.5, -0.5])))
    elif part_id == 3:
        return sprintf('%0.5f ', func(X1, y1, np.array([0.5, -0.5]), 0.01, 10))
    elif part_id == 4:
        return sprintf('%0.5f ', func(X2[:, 1:]))
    elif part_id == 5:
        return sprintf('%0.5f ', func(X2, y2, np.array([0.1, 0.2, 0.3, 0.4])))
    elif part_id == 6:
        return sprintf('%0.5f ',
                       func(X2, y2, np.array([-0.1, -0.2, -0.3, -0.4]), 0.01,
                            10))
    elif part_id == 7:
        return sprintf('%0.5f ', func(X2, y2))
def output(part_id):
    X1 = np.column_stack(
        (np.ones(20), np.exp(1) + np.exp(2) * np.linspace(0.1, 2, 20)))
    Y1 = X1[:, 1] + np.sin(X1[:, 0]) + np.cos(X1[:, 1])
    X2 = np.column_stack((X1, X1[:, 1]**0.5, X1[:, 1]**0.25))
    Y2 = np.power(Y1, 0.5) + Y1

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        return sprintf('%0.5f ', func())
    elif part_id == 2:
        return sprintf('%0.5f ', func(X1, Y1, np.array([0.5, -0.5])))
    elif part_id == 3:
        return sprintf('%0.5f ', func(X1, Y1, np.array([0.5, -0.5]), 0.01, 10))
    elif part_id == 4:
        return sprintf('%0.5f ', func(X2[:, 1:4]))
    elif part_id == 5:
        return sprintf('%0.5f ', func(X2, Y2, np.array([0.1, 0.2, 0.3, 0.4])))
    elif part_id == 6:
        return sprintf(
            '%0.5f ', func(X2, Y2, np.array([-0.1, -0.2, -0.3, -0.4]), 0.01,
                           10))
    elif part_id == 7:
        return sprintf('%0.5f ', func(X2, Y2))
def output(part_id):
    # Random Test Cases
    n_u = 3
    n_m = 4
    n = 5
    X = np.sin(np.arange(1, n_m * n + 1)).reshape((n, n_m)).T
    Theta = np.cos(np.arange(1, n_u * n + 1)).reshape((n, n_u)).T
    Y = np.sin(np.arange(1, 2.0 * n_m * n_u, 2.0)).reshape((n_u, n_m)).T
    R = Y > 0.5
    pval = np.hstack((np.abs(Y.T.flatten()), 0.001, 1.0))
    yval = np.hstack((R.T.flatten(), 1.0, 0.0)).astype("bool")
    params = np.hstack((X.T.flatten(), Theta.T.flatten()))

    fname = srcs[part_id - 1].rsplit(".", 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        mu, sigma2 = func(X)
        return sprintf("%0.5f ", np.hstack((mu.T.flatten(), sigma2.T.flatten())))
    elif part_id == 2:
        bestEpsilon, bestF1 = func(yval, pval)
        return sprintf("%0.5f ", np.hstack((bestEpsilon, bestF1)))
    elif part_id == 3:
        J, grad = func(params, Y, R, n_u, n_m, n, 0.0)
        return sprintf("%0.5f ", J)
    elif part_id == 4:
        J, grad = func(params, Y, R, n_u, n_m, n, 0.0)
        return sprintf("%0.5f ", grad.T.flatten())
    elif part_id == 5:
        J, grad = func(params, Y, R, n_u, n_m, n, 1.5)
        return sprintf("%0.5f ", J)
    elif part_id == 6:
        J, grad = func(params, Y, R, n_u, n_m, n, 1.5)
        return sprintf("%0.5f ", grad.T.flatten())
Exemple #18
0
def output(part_id):
    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=0)
    func = getattr(mod, fname)

    # Random Test Cases
    X = np.c_[np.ones(20),
              np.exp(1) * np.sin(np.arange(1, 21)),
              np.exp(0.5) * np.cos(np.arange(1, 21))]
    y = np.sin(X[:, 0] + X[:, 1]) > 0

    if part_id == 1:
        return sprintf('%0.5f ', func(X))
    elif part_id == 2:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X, y))
    elif part_id == 3:
        cost, grad = func(np.array([0.25, 0.5, -0.5]), X, y)
        return sprintf('%0.5f ', grad)
    elif part_id == 4:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X))
    elif part_id == 5:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X, y, 0.1))
    elif part_id == 6:
        cost, grad = func(np.array([0.25, 0.5, -0.5]), X, y, 0.1)
        return sprintf('%0.5f ', grad)
Exemple #19
0
def output(part_id):
    # Random Test Cases
    n_u = 3
    n_m = 4
    n = 5
    X = reshape(sin(range(1, n_m * n + 1)), (n_m, n), order='F')
    Theta = reshape(cos(range(1, n_u * n + 1)), (n_u, n), order='F')
    Y = reshape(sin(range(1, 2 * n_m * n_u + 1, 2)), (n_m, n_u), order='F')
    R = Y > 0.5
    pval = np.r_[abs(Y.ravel(order='F')), 0.001, 1]
    yval = np.r_[R.ravel(order='F'), 1, 0]
    params = np.r_[X.ravel(order='F'), Theta.ravel(order='F')]

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=0)
    func = getattr(mod, fname)

    if part_id == 1:
        mu, sigma2 = func(X)
        return sprintf('%0.5f ', np.r_[mu, sigma2])
    elif part_id == 2:
        bestEpsilon, bestF1 = func(yval, pval)
        return sprintf('%0.5f ', np.r_[bestEpsilon, bestF1])
    elif part_id == 3:
        J, _ = func(params, Y, R, n_u, n_m, n, 0.0)
        return sprintf('%0.5f ', J)
    elif part_id == 4:
        _, grad = func(params, Y, R, n_u, n_m, n, 0.0)
        return sprintf('%0.5f ', grad)
    elif part_id == 5:
        J, _ = func(params, Y, R, n_u, n_m, n, 1.5)
        return sprintf('%0.5f ', J)
    elif part_id == 6:
        _, grad = func(params, Y, R, n_u, n_m, n, 1.5)
        return sprintf('%0.5f ', grad)
Exemple #20
0
def output(part_id):
    X = np.column_stack(
        (np.ones(20), (np.exp(1) * np.sin(np.linspace(1, 20, 20))),
         (np.exp(0.5) * np.cos(np.linspace(1, 20, 20)))))
    Y = np.sin(X[:, 0] + X[:, 1]) > 0

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    print(fname)
    mod = __import__(fname)
    print(mod)
    func1 = getattr(mod, 'sigmoid')
    func2 = getattr(mod, 'costFunction')
    func3 = getattr(mod, 'gradientFunction')
    func4 = getattr(mod, 'predict')
    func5 = getattr(mod, 'test')
    func6 = getattr(mod, 'test')
    X = np.mat(X)
    Y = np.mat(Y).T
    Y = np.where(Y == True, 1, 0)
    if part_id == 1:
        return sprintf('%0.5f ', func1(X))
    elif part_id == 2:
        return sprintf('%0.5f ', func2(np.array([0.25, 0.5, -0.5]), X, Y))
    elif part_id == 3:
        return sprintf('%0.5f ', func3(np.array([0.25, 0.5, -0.5]), X, Y))
    elif part_id == 4:
        return sprintf('%0.5f ', func4(np.array([0.25, 0.5, -0.5]), X, Y))
    elif part_id == 5:
        return sprintf('%0.5f ', func5(np.array([0.25, 0.5, -0.5]), X, Y, 0.1))
    elif part_id == 6:
        return sprintf('%0.5f ', func6(np.array([0.25, 0.5, -0.5]), X, Y, 0.1))
Exemple #21
0
def output(part_id):
    # Random Test Cases
    X = 3 * np.sin(range(1, 31)).reshape(3, 10, order='F')

    Xm = np.sin(range(1, 33)).reshape(16, 2, order='F') / 5
    ym = np.arange(1, 17) % 4 + 1

    t1 = np.sin(range(1, 24, 2)).reshape(4, 3, order='F')
    t2 = np.cos(range(1, 40, 2)).reshape(4, 5, order='F')
    theta = np.r_[t1.flatten(order='F'), t2.flatten(order='F')]

    lambda_1 = 0.0
    lambda_2 = 1.5

    input_ = 2
    hidden = 4
    num_labels = 4

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=0)
    func = getattr(mod, fname)

    if part_id == 1:
        J, grad = func(theta, input_, hidden, num_labels, Xm, ym, lambda_1)
        return sprintf('%0.5f ', J)
    elif part_id == 2:
        J, grad = func(theta, input_, hidden, num_labels, Xm, ym, lambda_2)
        return sprintf('%0.5f ', J)
    elif part_id == 3:
        g = func(X)
        return sprintf('%0.5f ', g)
    elif part_id == 4:
        J, grad = func(theta, input_, hidden, num_labels, Xm, ym, lambda_1)
        return sprintf('%0.5f ', np.r_[J, grad])
    elif part_id == 5:
        J, grad = func(theta, input_, hidden, num_labels, Xm, ym, lambda_2)
        return sprintf('%0.5f ', np.r_[J, grad])
def output(part_id):
    X1 = np.column_stack((np.ones(20), np.exp(1) + np.exp(2) * np.linspace(0.1, 2, 20)))
    Y1 = X1[:,1] + np.sin(X1[:,0]) + np.cos(X1[:,1])
    X2 = np.column_stack((X1, X1[:,1]**0.5, X1[:,1]**0.25))
    Y2 = np.power(Y1, 0.5) + Y1

    fname = srcs[part_id-1].rsplit('.',1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        return sprintf('%0.5f ', func())
    elif part_id == 2:
        return sprintf('%0.5f ', func(X1, Y1, np.array([0.5, -0.5])))
    elif part_id == 3:
        return sprintf('%0.5f ', func(X1, Y1, np.array([0.5, -0.5]), 0.01, 10))
    elif part_id == 4:
        return sprintf('%0.5f ', func(X2[:,1:4]))
    elif part_id == 5:
        return sprintf('%0.5f ', func(X2, Y2, np.array([0.1, 0.2, 0.3, 0.4])))
    elif part_id == 6:
        return sprintf('%0.5f ', func(X2, Y2, np.array([-0.1, -0.2, -0.3, -0.4]), 0.01, 10))
    elif part_id == 7:
        return sprintf('%0.5f ', func(X2, Y2))
Exemple #23
0
def output(part_id):
    X = np.column_stack((np.ones(20),
                          (np.exp(1) * np.sin(np.linspace(1, 20, 20))),
                          (np.exp(0.5) * np.cos(np.linspace(1, 20, 20)))))
    Y = np.sin(X[:,0] + X[:,1]) > 0

    fname = srcs[part_id-1].rsplit('.',1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        return sprintf('%0.5f ', func(X))
    elif part_id == 2:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X, Y))
    elif part_id == 3:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X, Y))
    elif part_id == 4:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X))
    elif part_id == 5:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X, Y, 0.1))
    elif part_id == 6:
        return sprintf('%0.5f ', func(np.array([0.25, 0.5, -0.5]), X, Y, 0.1))
Exemple #24
0
def output(part_id):
    # Random Test Cases
    n_u = 3
    n_m = 4
    n = 5
    X = np.sin(np.arange(1, n_m * n + 1)).reshape((n, n_m)).T
    Theta = np.cos(np.arange(1, n_u * n + 1)).reshape((n, n_u)).T
    Y = np.sin(np.arange(1, 2.0 * n_m * n_u, 2.0)).reshape((n_u, n_m)).T
    R = Y > 0.5
    pval = np.hstack((np.abs(Y.T.flatten()), 0.001, 1.0))
    yval = np.hstack((R.T.flatten(), 1.0, 0.0)).astype('bool')
    params = np.hstack((X.T.flatten(), Theta.T.flatten()))

    fname = srcs[part_id - 1].rsplit('.', 1)[0]
    mod = __import__(fname, fromlist=[fname], level=1)
    func = getattr(mod, fname)

    if part_id == 1:
        mu, sigma2 = func(X)
        return sprintf('%0.5f ', np.hstack(
            (mu.T.flatten(), sigma2.T.flatten())))
    elif part_id == 2:
        bestEpsilon, bestF1 = func(yval, pval)
        return sprintf('%0.5f ', np.hstack((bestEpsilon, bestF1)))
    elif part_id == 3:
        J, grad = func(params, Y, R, n_u, n_m, n, 0.0)
        return sprintf('%0.5f ', J)
    elif part_id == 4:
        J, grad = func(params, Y, R, n_u, n_m, n, 0.0)
        return sprintf('%0.5f ', grad.T.flatten())
    elif part_id == 5:
        J, grad = func(params, Y, R, n_u, n_m, n, 1.5)
        return sprintf('%0.5f ', J)
    elif part_id == 6:
        J, grad = func(params, Y, R, n_u, n_m, n, 1.5)
        return sprintf('%0.5f ', grad.T.flatten())