Translate

Views

Wednesday, April 12, 2023

Hồi quy tuyến tính: Bài toán dự đoán giá nhà theo diện tích (bài toán đơn giản nhất)

  Input

Diện tích 

Giá bán

30

448.524

32.4138

509.248

34.8276,

535.104

...

...


Output

Giá nhà cho 91m^2 là :  [1375.19238926]


Code


X = [[30], [32.4138], [34.8276]]
y = [448.524, 509.248, 535.104]
import numpy as np      
X = np.array(X)
y = np.array(y)
X = np.hstack((np.ones((X.shape[0], 1)), X))

from sklearn import linear_model
LR = linear_model.LinearRegression(fit_intercept=False)
LR.fit(X, y)
theta = LR.coef_

print('\nDùng thư viện:')
print('Hệ số hồi quy: ', theta )
print('Giá nhà cho 91m^2 là: ', theta[0] + 91*theta[1])

print('\nDùng thủ công:')
theta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y) #https://machinelearningcoban.com/2016/12/28/linearregression/
print('Hệ số hồi quy: ', theta )
print('Giá nhà cho 91m^2 là: ', theta[0] + 91*theta[1])