Untitled
unknown
plain_text
3 years ago
1.8 kB
10
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...