search

Linear Regression

Thuật toán Hồi quy tuyến tính: Đi tìm đường xu hướng chung nhất cho dữ liệu.

Phương trình:y = 0.00x + 0.50

Python Lab

Thực thi mô hình dựa trên trực quan hóa.

main.py
import numpy as np
from sklearn.linear_model import LinearRegression

# Tập dữ liệu (X_train và y_train)
X = np.array([])
y = np.array([])

# Khởi tạo thuật toán
model = LinearRegression()

# Khớp đường thẳng (Training)
model.fit(X, y)

# Lấy hệ số m (Coefficient) và b (Intercept)
m_coef = model.coef_[0]
b_intercept = model.intercept_

print(f">> Mô hình Hồi quy Tuyến tính đã sẵn sàng.")
print(f">> Phương trình: y = {m_coef:.2f}x + {b_intercept:.2f}")
// Kết quả (Output) sẽ xuất hiện ở đây khi nhấn Run...

show_chartNguyên lý hoạt động

Thuật toán Linear Regression (Hồi quy tuyến tính) đi tìm mối quan hệ giữa 2 biến số $X$ và $y$ thông qua một đường thẳng cơ bản nhất.

Mục tiêu của thuật toán là cực tiểu hóa hàm mất mát (Loss Function - thường là MSE: Mean Squared Error), tức là làm sao cho tổng độ dài các râu (nét đứt) nối từ điểm tới đường thẳng là ngắn nhất có thể.

Trong đó: $y = mx + b$. $m$ là hệ số góc (độ dốc) và $b$ là điểm cắt trục tung.

smart_toyỨng dụng thực tế

  • real_estate_agentDự đoán giá nhà: ($X$) là diện tích nhà và ($y$) là giá trị. Bạn chấm diện tích lên biểu đồ, đường thẳng sẽ chỉ ra giá trị tương ứng.
  • trending_upDự báo doanh thu: Ước tính doanh thu tháng tới dựa vào chi phí chạy Ads.

codeTip lập trình

Phương pháp này phù hợp nếu dữ liệu có tính chất tuyến tính. Nếu hình dạng phân bổ của dữ liệu bị lượn sóng (ví dụ biểu đồ hình sin), bạn phải cần đến Polynomial Regression (Hồi quy đa thức) hoặc Mạng Nơ ron thay vì đường thẳng.