Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import matplotlib.pyplot as pl
- import numpy as np
- import math
- A = 1.
- B = 0.5
- sigma = 0.3
- xmax = 4.
- numberOfClassEl = 200
- data = []
- sumx =0
- sumg = 0
- sumxg =0
- sumxx =0
- for rowNum in range(numberOfClassEl):
- X = random.random()*xmax
- sumx = sumx + X
- G = A+B*X+random.gauss(0,sigma)
- sumg = sumg + G
- sumxg = X*G + sumxg
- sumxx = X*X + sumxx
- data.append([X, G])
- b = (sumxg/200 - sumx/200*sumg/200)/(sumxx/200 - (sumx/200)**2)
- a = -b*sumx/200 + sumx/200
- print(a, b)
- MSE = 0
- i = 0
- for i in range(numberOfClassEl):
- MSE += (data[i][1] - (a+ b*data[i][0]))**2
- MSE = MSE / 200
- i = 0
- for i in range(numberOfClassEl):
- MAE = abs(data[i][1] - (a + b*data[i][0]))
- MAE = MAE / 200
- RMSE = math.sqrt(MSE)
- print(MSE, RMSE, MAE)
- f = np.linspace(0, 4, 200)
- pl.plot(f, a+b*f)
- pl.scatter([data[i][0] for i in range(len(data))],[data[i][1] for i in range(len(data))],)
- pl.savefig('genLRdata.png')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement