# -*- coding: utf-8 -*-
"""
Created on Mon Feb 24 11:13:17 2020

@author: Márton
"""


# Szükséges Python könyvtárak beolvasása
import numpy as np;
import matplotlib.pyplot as plt;
from sklearn import linear_model;

# Globális paraméterek
n_train = 700;
n_test = 300;
a = 3;
b = 2;
sig = 0.3;

# A tanító regressziós modell
X_train = np.linspace(1,10,n_train);
eps = np.random.normal(0,sig,n_train);
Y_train = a + b*X_train + eps;

# Tanítás scikit-learn osztállyal
reg = linear_model.LinearRegression();
X_train2D = X_train.reshape(-1, 1);
Y_train2D = Y_train.reshape(-1, 1);
reg.fit(X_train2D,Y_train2D);
ahat = reg.intercept_;
bhat = reg.coef_;

# A teszt adatállomány
X_test = np.linspace(1,10,n_test);
eps = np.random.normal(0,sig,n_test);
Y_test = a + b*X_test + eps;

# Prediktálás a tesztállományra

Y_pred = reg.predict(X_test.reshape(-1, 1));

xline = np.linspace(4.8,25,2);
plt.figure(1);
plt.title("Predikció jósága");
plt.xlabel("Igazi Y érték");
plt.ylabel("Prediktált Y érték");
plt.plot(xline,xline,color="red");
plt.scatter(Y_test,Y_pred,color="blue");
plt.show(); 