Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

import numpy as np

import matplotlib.pyplot as plt

x1 = np.array([42,33,33,45,39,36,32,41,40,38])

x2 = np.array([272,226,259,292,311,183,173,236,230,235])

y = np.array([95,77,80,100,97,70,50,80,92,84])

m = len(x1)

Sx1kuadrat=sum(x1**2)

Sx1x2=np.dot(x1,x2)

Sx1 = sum(x1)

Sx1y = np.dot(x1,y)

Sx2kuadrat=sum(x2**2)

Sx2=sum(x2)

Sx2y=np.dot(x2,y)

Sy=sum(y)

A=np.array([[Sx1kuadrat,Sx1x2,Sx1],[Sx1x2,Sx2kuadrat,Sx2],[Sx1,Sx2,m]])

B=np.array([Sx1y,Sx2y,Sy])

w =np.linalg.solve(A,B)

w1 = w[0]

w2 = w[1]

b = w[2]

print(w)

yhat = w1*x1+w2*x2+b

J = 1/(2*m)*sum((y-yhat)**2)

print(J)

ax = plt.axes(projection='3d')

xs1 = np.arange(30,45,0.1)

xs2 = np.arange(150,300,1)
X1,X2 = np.meshgrid(xs1,xs2)

Y = w1*X1 + w2*X2 + b

ax.plot_surface(X1,X2,Y,cmap='viridis')

ax.scatter3D(x1,x2,y,c=y,cmap='Blues')

plt.show()

You might also like