Пример #1
0
def test_ridge_regression_with_penalty_is_less_than_without_penalty():
    X = randn(2, 2)
    Y = randn(2)
    assert norm(utils.ridge_regression(X, Y, c1=2.0)[0]) <= norm(
        utils.ridge_regression(X, Y)[0])
    assert norm(utils.ridge_regression(X, Y, c1=1.0, c2=1.0)[0]) <= norm(
        utils.ridge_regression(X, Y)[0])
Пример #2
0
def test_ridge_regression_with_extreme_c2_penalty_equals_close_to_offset():
    c1 = 0.0
    c2 = 10e8
    offset = np.ones(2)
    X = randn(2, 2)
    Y = randn(2)
    assert norm(utils.ridge_regression(X, Y, c1, c2, offset)[0] - offset) < 10e-4
Пример #3
0
def test_ridge_regression_with_extreme_c1_penalty_equals_close_to_zero_vector():
    c1 = 10e8
    c2 = 0.0
    offset = np.ones(2)
    X = randn(2, 2)
    Y = randn(2)
    assert norm(utils.ridge_regression(X, Y, c1, c2, offset)[0]) < 10e-4
Пример #4
0
def test_ridge_regression_with_extreme_c2_penalty_equals_close_to_offset():
    c1 = 0.0
    c2 = 10e8
    offset = np.ones(2)
    X = randn(2, 2)
    Y = randn(2)
    assert norm(utils.ridge_regression(X, Y, c1, c2, offset)[0] - offset) < 10e-4
Пример #5
0
def test_ridge_regression_with_extreme_c1_penalty_equals_close_to_zero_vector():
    c1 = 10e8
    c2 = 0.0
    offset = np.ones(2)
    X = randn(2, 2)
    Y = randn(2)
    assert norm(utils.ridge_regression(X, Y, c1, c2, offset)[0]) < 10e-4
Пример #6
0
def test_lstsq_returns_correct_values():
    X = np.array([[-1.0, -1.0], [-1.0, 0], [-.8, -1.0],
                  [1.0, 1.0], [1.0, 0.0]])
    y = [1, 1, 1, -1, -1]
    beta,V = utils.ridge_regression(X, y)
    expected_beta = [-0.98684211, -0.07894737]
    expected_v = [[-0.03289474, -0.49342105, 0.06578947, 0.03289474, 0.49342105],
		  [-0.30263158, 0.46052632, -0.39473684, 0.30263158, -0.46052632]]
    assert(norm(beta - expected_beta) < 10e-4)
    for V_row, e_v_row in zip(V, expected_v):
       assert(norm(V_row - e_v_row) < 1e-4)
Пример #7
0
def test_lstsq_returns_correct_values():
    X = np.array([[-1.0, -1.0], [-1.0, 0], [-.8, -1.0],
                  [1.0, 1.0], [1.0, 0.0]])
    y = [1, 1, 1, -1, -1]
    beta,V = utils.ridge_regression(X, y)
    expected_beta = [-0.98684211, -0.07894737]
    expected_v = [[-0.03289474, -0.49342105, 0.06578947, 0.03289474, 0.49342105],
		  [-0.30263158, 0.46052632, -0.39473684, 0.30263158, -0.46052632]]
    assert(norm(beta - expected_beta) < 10e-4)
    for V_row, e_v_row in zip(V, expected_v):
       assert(norm(V_row - e_v_row) < 1e-4)
Пример #8
0
def test_lstsq_returns_similar_values_to_ridge_regression():
    X = randn(2, 2)
    Y = randn(2)
    expected = lstsq(X, Y, rcond=None)[0]
    assert norm(utils.ridge_regression(X, Y)[0] - expected) < 10e-4
Пример #9
0
def test_lstsq_returns_similar_values_to_ridge_regression():
    X = randn(2, 2)
    Y = randn(2)
    expected = lstsq(X, Y)[0]
    assert norm(utils.ridge_regression(X, Y)[0] - expected) < 10e-4
Пример #10
0
def test_ridge_regression_with_penalty_is_less_than_without_penalty():
    X = randn(2, 2)
    Y = randn(2)
    assert norm(utils.ridge_regression(X, Y, c1=2.0)[0]) <= norm(utils.ridge_regression(X, Y)[0])
    assert norm(utils.ridge_regression(X, Y, c1=1.0, c2=1.0)[0]) <= norm(utils.ridge_regression(X, Y)[0])
Пример #11
0
def test_lstsq_returns_similar_values_to_ridge_regression():
    offset = np.ones(2)
    X = randn(2, 2)
    Y = randn(2)
    expected = lstsq(X, Y)[0]
    assert norm(utils.ridge_regression(X, Y)[0] - expected) < 10e-4