Dự đoán giá thị heo với Hồi Quy tuyến tính trong Python

 

Dưới đây là một ví dụ sử dụng hồi quy tuyến tính để dự đoán giá thịt heo. Trong trường hợp này, giả sử chúng ta có một bộ dữ liệu về các yếu tố có thể ảnh hưởng đến giá thịt heo như trọng lượng heogiá thức ăn. Mô hình hồi quy tuyến tính sẽ học mối quan hệ giữa các yếu tố này và giá thịt heo để dự đoán giá trong tương lai.

Hồi quy tuyến tính trong Python là gì ?

 

1. Tạo dữ liệu mẫu

Giả sử chúng ta có dữ liệu về các yếu tố ảnh hưởng đến giá thịt heo, bao gồm trọng lượng heo (kg), giá thức ăn (VND/kg), và giá thịt heo (VND/kg). Chúng ta sẽ sử dụng các dữ liệu này để huấn luyện mô hình hồi quy tuyến tính.

2. Code ví dụ:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score

# Tạo dữ liệu mẫu (trọng lượng heo, giá thức ăn, giá thịt heo)
data = {
    'trong_luong': [80, 85, 90, 95, 100, 105, 110, 115, 120, 125],  # trọng lượng heo (kg)
    'gia_thuc_an': [25, 26, 27, 28, 29, 30, 31, 32, 33, 34],  # giá thức ăn (VND/kg)
    'gia_thit_heo': [75, 80, 85, 90, 95, 100, 105, 110, 115, 120]  # giá thịt heo (VND/kg)
}

# Chuyển đổi thành DataFrame của pandas
df = pd.DataFrame(data)

# Các đặc trưng (features): trọng lượng heo và giá thức ăn
X = df[['trong_luong', 'gia_thuc_an']]

# Biến mục tiêu (target): giá thịt heo
y = df['gia_thit_heo']

# Chia dữ liệu thành 2 phần: huấn luyện và kiểm tra (80% huấn luyện, 20% kiểm tra)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Khởi tạo mô hình hồi quy tuyến tính
model = LinearRegression()

# Huấn luyện mô hình với dữ liệu huấn luyện
model.fit(X_train, y_train)

# Dự đoán giá thịt heo từ dữ liệu kiểm tra
y_pred = model.predict(X_test)

# In các hệ số (coefficients) và hằng số (intercept) của mô hình
print(f"Hệ số (coefficients): {model.coef_}")
print(f"Hằng số (intercept): {model.intercept_}")

# Đánh giá mô hình: tính toán MSE (Mean Squared Error) và R^2 score
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"Mean Squared Error (MSE): {mse}")
print(f"R^2 score: {r2}")

# Vẽ đồ thị dự đoán so với thực tế
plt.scatter(y_test, y_pred)
plt.xlabel("Giá thịt heo thực tế")
plt.ylabel("Giá thịt heo dự đoán")
plt.title("Dự đoán giá thịt heo với hồi quy tuyến tính")
plt.plot([min(y_test), max(y_test)], [min(y_test), max(y_test)], color='red', linestyle='--')
plt.show()

Giải thích mã nguồn:

  1. Dữ liệu mẫu: Chúng ta giả sử có 10 điểm dữ liệu với các yếu tố như trọng lượng heo (kg), giá thức ăn (VND/kg), và giá thịt heo (VND/kg). Đây là dữ liệu mẫu, trong thực tế bạn sẽ có một bộ dữ liệu lớn hơn.

  2. Chia dữ liệu: Dữ liệu được chia thành hai phần: một phần huấn luyện (training) và một phần kiểm tra (testing). Mô hình sẽ được huấn luyện trên dữ liệu huấn luyện và đánh giá trên dữ liệu kiểm tra.

  3. Khởi tạo và huấn luyện mô hình: Sử dụng mô hình hồi quy tuyến tính từ thư viện scikit-learn để huấn luyện mô hình với dữ liệu huấn luyện.

  4. Dự đoán và đánh giá mô hình: Sau khi huấn luyện, mô hình sẽ dự đoán giá thịt heo cho dữ liệu kiểm tra và tính toán các chỉ số đánh giá như MSER^2 score.

  5. Vẽ đồ thị: Để trực quan hóa kết quả, chúng ta vẽ đồ thị với giá thịt heo thực tế so với giá thịt heo dự đoán từ mô hình. Đường chéo màu đỏ đại diện cho sự khớp hoàn hảo giữa giá thực tế và giá dự đoán.

Kết quả:

Khi chạy chương trình, bạn sẽ nhận được các thông tin sau:

  • Hệ số (coefficients) của các yếu tố (trọng lượng heo và giá thức ăn).

  • Hằng số (intercept) của mô hình.

  • MSE (Mean Squared Error) và R^2 score để đánh giá độ chính xác của mô hình.

Đồ thị cũng sẽ giúp bạn hình dung mối quan hệ giữa giá thịt heo thực tế và giá dự đoán từ mô hình hồi quy tuyến tính.

Kết luận:

Hồi quy tuyến tính có thể áp dụng để dự đoán giá thịt heo dựa trên các yếu tố như trọng lượng heo và giá thức ăn. Mặc dù ví dụ này rất đơn giản, nhưng trong thực tế bạn có thể sử dụng nhiều biến số khác nhau (như thị trường tiêu thụ, khí hậu, v.v.) để xây dựng mô hình phức tạp hơn nhằm dự đoán chính xác hơn.

Nếu bạn có dữ liệu thực tế, mô hình có thể được huấn luyện và tối ưu để cung cấp kết quả chính xác hơn trong dự đoán giá thịt heo.

Tham khảo lý thuyết về hồi quy tuyến tính

 

 

Nhận xét

Bài đăng phổ biến từ blog này

Vòng lặp trong Python

Học Lập Trình Python và Ứng Dụng Trong Trí Tuệ Nhân Tạo

Mảng trong python