Ejemplo n.º 1
0
 def test_least_squares_err(self):
     x_train = TEST_DATA['ls']['x_train']
     y_train = TEST_DATA['ls']['y_train']
     M = TEST_DATA['ls']['M']
     err = TEST_DATA['ls']['err']
     _, err_computed = least_squares(x_train, y_train, M)
     self.assertAlmostEqual(err, err_computed, 8)
Ejemplo n.º 2
0
 def test_least_squares_w(self):
     x_train = TEST_DATA['ls']['x_train']
     y_train = TEST_DATA['ls']['y_train']
     M = TEST_DATA['ls']['M']
     w = TEST_DATA['ls']['w']
     w_computed, _ = least_squares(x_train, y_train, M)
     max_diff = np.max(np.abs(w - w_computed))
     self.assertAlmostEqual(max_diff, 0, 6)
Ejemplo n.º 3
0
    def test_least_squares_err(self):
        x_train = TEST_DATA['ls']['x_train']
        y_train = TEST_DATA['ls']['y_train']
        M = TEST_DATA['ls']['M']
        err_expected = TEST_DATA['ls']['err']

        _, err = least_squares(x_train, y_train, M)

        self.assertEqual(np.size(err), 1)
        self.assertAlmostEqual(err, err_expected)
Ejemplo n.º 4
0
    def test_least_squares_w(self):
        x_train = TEST_DATA['ls']['x_train']
        y_train = TEST_DATA['ls']['y_train']
        M = TEST_DATA['ls']['M']
        w_expected = TEST_DATA['ls']['w']

        w, _ = least_squares(x_train, y_train, M)

        self.assertEqual(np.shape(w), (7, 1))
        np.testing.assert_almost_equal(w, w_expected)
Ejemplo n.º 5
0
    # Ladowanie danych
    with open(os.path.join(os.path.dirname(__file__), 'data.pkl'),
              mode='rb') as file:
        data = pickle.load(file)
    x_plot = np.arange(0, 1.01, 0.01)
    y_obj = target_output(x_plot)

    # Dopasowanie wielomianow metoda najmniejszych kwadratow
    print('\n--- Dopasowanie wielomianow metoda najmniejszych kwadratow ---')
    print('-------------- Liczba punktow treningowych N=8. --------------')
    fig = plt.figure(figsize=(12, 6),
                     num='Zadanie najmniejszych kwadratow dla N=8')

    for i in range(8):
        w, err = least_squares(data['x_train_8'], data['y_train_8'], i)
        y_model = polynomial(x_plot, w)
        sub = fig.add_subplot(2, 4, i + 1)
        plot_model(data['x_train_8'], data['y_train_8'], x_plot, y_obj,
                   y_model)
        sub.set_title("M = {}".format(i))

    plt.tight_layout()
    plt.draw()
    print('\n--- Wcisnij klawisz, aby kontynuowac ---')
    plt.waitforbuttonpress(0)

    print('\n--- Dopasowanie wielomianow metoda najmniejszych kwadratow ---')
    print('-------------- Liczba punktow treningowych N=50. --------------')
    fig = plt.figure(figsize=(12, 6),
                     num='Zadanie najmniejszych kwadratow dla N=50')
import content as cn
import numpy as np
from utils import *
import os
import pickle

x = np.array([2, -1, -2, 0, -3, -6, -10, 5, 1, 8, 10, -14]).reshape(12, 1)
y = np.array([4, 3, 0, 1.5, -1, 2, 0, 5, 3, 10, 15, 0]).reshape(12, 1)

x2 = np.array([-3, -2, -1, 0, 1, 2, 3]).reshape(7, 1)
y2 = np.array([-27, -8, -1, 0, 1, 8, 27]).reshape(7, 1)

d = cn.least_squares(x, y, 3)
print(d)
print()
print()

xs = [i for i in range(3)]
print(xs)