Untitled
unknown
plain_text
3 years ago
1.8 kB
7
Indexable
import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split # Library with algos and functions needed for data and ai. # files = 1 # for n in range(files): # Iterate over each file files = 15 for n in range(files): file = np.loadtxt(f'./Dane/dane{n+1}.txt') # Getting the X column X = file[:, [1]] # Getting the Y column y = file[:, [0]] # Getting the train and test data splits. # Test is to verify the level of training done to the module with X X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1) c = np.hstack([X_train*X_train*X_train, X_train*X_train, X_train, np.ones(X_train.shape)]) print(c) v = np.linalg.pinv(c) @ y_train print("Funkcja x^3") print("Train error") e_train = y_train - (v[0]*X_train*X_train*X_train + v[1]*X_train*X_train + v[2]*X_train + v[3]) e_avg = e_train.T @ e_train / len(e_train) print(e_avg) print("Test error") e_test = y_test - (v[0]*X_test*X_test*X_test + v[1]*X_test*X_test + v[2]*X_test + v[3]) e_avg = e_test.T @ e_test / len(e_test) print(e_avg) print('------------------------------------------') print("Prosta funkcja liniowa") # Prosta funkcja liniowa c2 = np.hstack([X_train, np.ones(X_train.shape)]) v2 = np.linalg.pinv(c2) @ y_train print("Train error") e_train = y_train - (v2[0] * X_train + v2[1]) e_avg = e_train.T @ e_train / len(e_train) print(e_avg) print("Test error") e_test = y_test - (v2[0] * X_test + v2[1]) e_avg = e_test.T @ e_test / len(e_test) print(e_avg) plt.plot(X,v2[0]*X + v2[1]) plt.plot(X,v[0]*X*X*X + v[1]*X*X + v[2]*X + v[3]) # plt.plt() plt.plot(X, y, 'ro') plt.show()
Editor is loading...