Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Trang Chủ Hướng Dẫn Đồ Án Dự đoán giá nhà bằng mô hình tuyến tính trong sklearn
Hướng Dẫn Đồ ÁnLập Trình AI

Dự đoán giá nhà bằng mô hình tuyến tính trong sklearn

Chia sẻ
Chia sẻ

Dự đoán giá nhà là một bài toán phổ biến trong học máy, giúp người học nắm vững quy trình xây dựng mô hình từ thu thập dữ liệu, huấn luyện đến đánh giá. Nếu bạn chưa quen với cách xây dựng mô hình, hãy tham khảo bài Hướng dẫn xây dựng mô hình dự đoán điểm thi bằng Machine Learning để hiểu cách thiết lập một pipeline cơ bản.

Ngoài ra, bài Giải thích đơn giản về hồi quy tuyến tính trong ML sẽ giúp bạn hiểu rõ hơn về nguyên lý của phương pháp hồi quy tuyến tính mà chúng ta sắp áp dụng. Để có thêm nhiều lựa chọn dữ liệu khác nhau cho đồ án, bạn cũng nên xem qua Tổng hợp các loại tập dữ liệu mở cho đồ án AI để tìm các bộ dataset phù hợp.

Tổng quan bài toán dự đoán giá nhà

Bài toán đặt ra là: từ các đặc trưng của ngôi nhà (số phòng, diện tích, tỷ lệ tội phạm khu vực,…) dự đoán giá trị nhà trung bình. Đây là bài toán hồi quy (regression) vì đầu ra là một giá trị liên tục.

Trong hướng dẫn này, chúng ta sẽ sử dụng bộ dữ liệu California Housing – một bộ dữ liệu phổ biến cung cấp thông tin về nhà cửa ở California, với hơn 20.000 mẫu và 8 đặc trưng. Mục tiêu là dự đoán giá nhà trung bình theo từng khu vực.

Cài đặt và chuẩn bị môi trường làm việc

Google Colab là môi trường lý tưởng cho người mới vì không cần cài đặt phần mềm phức tạp. Bạn chỉ cần truy cập Google Colab và tạo một notebook mới.

Đầu tiên, cài đặt các thư viện cần thiết:

# Cài đặt scikit-learn nếu chưa có
!pip install scikit-learn matplotlib pandas

Import các thư viện cần dùng:

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

Tải và kiểm tra dữ liệu

Sử dụng dữ liệu California Housing từ sklearn:

# Tải dữ liệu California Housing
housing = fetch_california_housing(as_frame=True)
df = housing.frame

# Hiển thị 5 dòng đầu tiên
print(df.head())

# Kiểm tra thông tin dữ liệu
print(df.info())

Dataset này gồm 8 cột đặc trưng và 1 cột mục tiêu (MedHouseVal – giá nhà trung bình). Bạn cần đảm bảo dữ liệu không có giá trị thiếu trước khi huấn luyện mô hình.

Tách dữ liệu và huấn luyện mô hình

Chia dữ liệu thành tập huấn luyện và tập kiểm tra:

# X và y
X = df.drop('MedHouseVal', axis=1)
y = df['MedHouseVal']

# Tách tập train và test (80% train, 20% test)
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 tuyến tính và huấn luyện:

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

# Huấn luyện mô hình
model.fit(X_train, y_train)

Xem hệ số của mô hình:

# Hệ số và intercept
print("Intercept:", model.intercept_)
print("Hệ số (coefficients):")
for name, coef in zip(X.columns, model.coef_):
    print(f"{name}: {coef}")

Đánh giá mô hình

Dự đoán trên tập kiểm tra và tính toán các chỉ số đánh giá:

# Dự đoán
y_pred = model.predict(X_test)

# Tính MSE và R²
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"Mean Squared Error (MSE): {mse:.2f}")
print(f"R² Score: {r2:.2f}")

Trực quan hóa kết quả:

# Vẽ biểu đồ so sánh giá thực tế và dự đoán
plt.scatter(y_test, y_pred, alpha=0.5)
plt.xlabel("Giá thực tế")
plt.ylabel("Giá dự đoán")
plt.title("So sánh giá nhà thực tế và dự đoán")
plt.show()

Biểu đồ giúp bạn quan sát mối quan hệ giữa giá trị thực và giá trị mô hình dự đoán được.

Kết luận

Linear Regression trong sklearn là một phương pháp đơn giản nhưng mạnh mẽ để giải quyết bài toán dự đoán giá nhà. Qua bài viết này, bạn đã học cách tải dữ liệu, xử lý, xây dựng và đánh giá mô hình hồi quy tuyến tính.

Bước tiếp theo, bạn có thể thử các mô hình phức tạp hơn như Random Forest hoặc Gradient Boosting để cải thiện độ chính xác, cũng như áp dụng kỹ thuật chuẩn hóa dữ liệu và lựa chọn đặc trưng.

Tham Gia Nhóm – Hỗ Trợ Lập Trình

Hỗ Trợ Đồ Án – ThueDoAn.vn

Liên quan
Hướng Dẫn Đồ Án

Checklist 10 bước kiểm tra cuối cùng trước khi nhấn nút nộp đồ án

Thời điểm chuẩn bị nhấn nút nộp đồ án luôn mang lại...

Hướng Dẫn Đồ Án

Tuyệt chiêu đối phó với những giảng viên hướng dẫn ‘khó tính’ nhất

Giai đoạn làm đồ án tốt nghiệp luôn đi kèm với vô...

Hướng Dẫn Đồ Án

Tại sao việc quản lý Source Code bằng Git lại quan trọng hơn bạn nghĩ?

Trong thế giới lập trình hiện đại, mã nguồn chính là linh...

Hướng Dẫn Đồ Án

Những chức năng ‘thừa’ khiến bạn tốn thời gian mà không được cộng điểm

Làm đồ án tốt nghiệp là một cuộc đua thực thụ với...

Hướng Dẫn Đồ Án

Cách xử lý khi đề tài bị trùng lặp ý tưởng với các khóa trước quá nhiều

Lựa chọn đề tài đồ án luôn là bước khởi đầu đầy...

Hướng Dẫn Đồ Án

Làm sao để giải trình với giảng viên khi code bị nghi ngờ là đi chép?

Trong quá trình thực hiện đồ án, việc tham khảo mã nguồn...

Hướng Dẫn Đồ Án

Cảnh báo: Những nguồn share code ‘rác’ trên mạng cần tuyệt đối tránh

Trong quá trình làm đồ án, việc tìm kiếm sự hỗ trợ...

Hướng Dẫn Đồ Án

Sai lầm khi chọn công nghệ quá khó so với năng lực thực tế của bản thân

Chọn đề tài và công nghệ cho đồ án luôn là bước...

Liên Hệ
Liên hệ để được tư vấn & hỗ trợ đồ án CNTT nhé bạn!