1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Đề tài dự Đoán giá nhà ở khu vực thành phố hồ chí minh

70 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Dự đoán giá nhà ở khu vực thành phố Hồ Chí Minh
Tác giả Trần Huỳnh Trung Hiếu, Nguyễn Thị Thanh Huyến, Nguyễn Thị Huyền My
Người hướng dẫn Nguyễn Ngọc Duy
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo
Năm xuất bản 2024
Thành phố Hồ Chí Minh
Định dạng
Số trang 70
Dung lượng 8,32 MB

Cấu trúc

  • I. HIỂU VÀ KHÁM PHÁ DỮ LIỆU (EXPLORATORY DATA ANALYSIS -EDA) (6)
    • 1. GIỚI THIỆU ĐỀ TÀI (6)
    • 2. THU NHẬP DỮ LIỆU (7)
    • 3. CÔNG CỤ (7)
    • 4. NẠP DỮ LIỆU (8)
    • 5. TIỀN XỬ LÝ DỮ LIỆU (DATA PRE-PROCESSING) (8)
    • 6. TRỰC QUAN HÓA DỮ LIỆU (DATA VISUALIZATION) (24)
    • 7. XỬ LÝ NGOẠI LỆ (31)
  • II. XỬ LÝ VÀ TIỀN XỬ LÝ DỮ LIỆU (DATA PREPROCESSING) (35)
    • 1. Mã hóa dữ liệu dạng chuỗi (Categorical Data Encoding) (35)
    • 2. Chuẩn hóa và biến đổi dữ liệu (Normalization and Scaling) (39)
    • 3. Chia tập dữ liệu (train-test-split) (43)
  • III. ĐÁNH GIÁ MÔ HÌNH (MODEL EVALUATION) (44)
    • 1. Đo lường hiệu suất mô hình hồi quy (44)
    • 2. Cross-Validation: Kỹ thuật kiểm tra chéo (46)
  • IV. XÂY DỰNG VÀ HUẤN LUYỆN MÔ HÌNH (MODEL BUILDING AND TRAINING) (47)
    • 1. Linear Regression (hồi quy tuyến tính) (47)
    • 2. Ridge Regression (50)
    • 3. Lasso Regression (53)
    • 4. Random Forest (55)
    • 5. XGBoost (58)
    • 6. LightGBM (61)
    • 7. KNN (K-Nearest Neighbors) (63)
    • 8. Neural Networks (66)
  • V. TRIỂN KHAI (DEPLOYMENT) (69)

Nội dung

 Xác định được các thuộc tính chính có trong bộ dữ liệu, hiểu rõ ý nghĩa của từngcột. Hiểu được các đặc trưng của từng biến, bao gồm biến dạng số numericalfeatures, biến phân loại cate

HIỂU VÀ KHÁM PHÁ DỮ LIỆU (EXPLORATORY DATA ANALYSIS -EDA)

GIỚI THIỆU ĐỀ TÀI

a Lý do chọn đề tài

Thị trường bất động sản đang trải qua sự phát triển mạnh mẽ, đặc biệt tại các thành phố lớn như Hồ Chí Minh Định giá nhà đất chính xác đóng vai trò quan trọng trong quyết định mua bán, đầu tư và vay vốn thế chấp Tuy nhiên, nhiều người gặp khó khăn trong việc xác định giá trị thực của bất động sản do ảnh hưởng của nhiều yếu tố phức tạp như diện tích, vị trí, pháp lý và tiện ích xung quanh.

Dự đoán giá nhà là một thách thức lớn, bởi việc tự định giá hoặc hoàn toàn phụ thuộc vào nhà môi giới có thể gây ra sai lệch và thiếu minh bạch Nhiều yếu tố như thay đổi quy hoạch, gia tăng dân số và hạ tầng xung quanh đều tác động đến giá trị bất động sản, khiến cho việc định giá trở nên phức tạp và khó khăn hơn.

Ứng dụng công nghệ trong dự đoán bất động sản ngày càng trở nên quan trọng nhờ sự phát triển của trí tuệ nhân tạo và học máy Các mô hình dự đoán giá nhà được xây dựng dựa trên dữ liệu lịch sử và các yếu tố ảnh hưởng, giúp phân tích dữ liệu phức tạp và đưa ra dự đoán chính xác hơn Điều này hỗ trợ các bên liên quan trong việc đưa ra quyết định tốt hơn trong lĩnh vực bất động sản Mục tiêu nghiên cứu là khai thác tiềm năng của công nghệ để nâng cao hiệu quả dự đoán giá nhà.

Dự án xây dựng mô hình dự đoán giá nhà sẽ phát triển một hệ thống học máy (Machine Learning) để dự đoán giá trị bất động sản dựa trên các yếu tố như diện tích, số tầng, số phòng ngủ, số phòng tắm và các yếu tố pháp lý liên quan.

Phân tích các yếu tố ảnh hưởng đến giá nhà không chỉ nhằm dự đoán giá trị mà còn giúp xác định những yếu tố có tác động mạnh mẽ nhất đến giá nhà Điều này sẽ hỗ trợ người mua và người bán nắm bắt rõ hơn về thị trường bất động sản, từ đó đưa ra quyết định thông minh hơn trong giao dịch.

Dự án sẽ tiến hành tối ưu hóa và đánh giá nhiều mô hình học máy nhằm xác định phương pháp có độ chính xác cao nhất.

Kết quả của dự án có thể được ứng dụng trong các hệ thống tư vấn bất động sản tự động, mang lại cho người mua và nhà đầu tư khả năng nhanh chóng ước lượng chính xác giá trị tài sản mà họ đang quan tâm.

THU NHẬP DỮ LIỆU

- Dữ liệu được lấy từ trang web batdongsan.com.vn

- Các trường dữ liệu chính:

 Địa chỉ: Thông tin về vị trí của bất động sản

 Diện tích: Diện tích bất động sản

 Mức giá: Giá của căn bất động sản

 Mặt tiền: Chiều rộng mặt tiền

 Hướng nhà: Hướng mà ngôi nhà quay về

 Số tầng, số phòng ngủ, số toilet: Thông tin về cấu trúc căn nhà

 Pháp lý: Tình trạng pháp lý của căn nhà

 Nội thất: Trang bị nội thất trong nhà

 Các tiện ích: siêu thị, cửa hàng tiện lợi, trường học, …. b Phương pháp thu nhập

- Web Scraping: Sử dụng công cụ Selenium để tự động thu thập dữ liệu từ các trang rao bán nhà trực tuyến.

CÔNG CỤ

a Ngôn ngữ và thư viện

- Python: là ngôn ngữ mạnh mẽ và linh hoạt, có nhiều thư viện hỗ trợ cho việc xử lý dữ liệu, học máy, trực quan hóa dữ liệu

 Pandas: Sử dụng để thao tác và xử lý dữ liệu (đọc/lưu fikle csv, làm sạch và chuyển đổi dữ liệu).

 Numpy: Để thực hiện các tính toán số học và xử lý mảng dữ liệu.

Matplotlib và Seaborn là những công cụ mạnh mẽ cho việc trực quan hóa dữ liệu, giúp người dùng dễ dàng nhận diện các xu hướng và mối quan hệ giữa các biến Những thư viện này không chỉ hỗ trợ trong việc tạo ra hình ảnh đẹp mắt mà còn nâng cao khả năng phân tích dữ liệu trong môi trường phát triển.

Jupyter Notebook là công cụ lý tưởng cho việc viết mã và thực hiện các đoạn mã nhỏ trong dự án, giúp người dùng dễ dàng thực hiện phân tích tương tác và kiểm tra kết quả từng bước một cách hiệu quả.

- IDE(VS Code, Anaconda Navigator): Được sử dụng nếu cần môi trường lập trình lớn hơn với các tính năng hỗ trợ phát triển phần mềm đầy đủ.

NẠP DỮ LIỆU

Trước khi bắt tay vào xử lý và phân tích dữ liệu, việc cài đặt các thư viện cần thiết là rất quan trọng Trong Python, những thư viện phổ biến thường được sử dụng cho phân tích dữ liệu bao gồm NumPy, Pandas, Matplotlib và Seaborn.

NumPy (import numpy as np) là một thư viện mạnh mẽ, chuyên dụng cho các phép toán số học và thao tác trên mảng Thư viện này hỗ trợ thực hiện các phép tính khoa học và xử lý ma trận một cách hiệu quả.

Thư viện Pandas (import pandas as pd) là công cụ chính để xử lý dữ liệu dạng bảng, cung cấp các chức năng mạnh mẽ cho việc đọc, ghi, lọc và phân tích dữ liệu hiệu quả.

Matplotlib là một thư viện trực quan hóa dữ liệu mạnh mẽ trong Python, cho phép người dùng vẽ nhiều loại biểu đồ khác nhau như biểu đồ phân tán, đường, cột và nhiều hình thức biểu đồ khác Với cú pháp đơn giản, Matplotlib giúp dễ dàng tạo ra các biểu đồ trực quan để phân tích và trình bày dữ liệu hiệu quả.

Seaborn (import seaborn as sns) là một thư viện mở rộng từ Matplotlib, hỗ trợ việc trực quan hóa dữ liệu một cách dễ dàng và hiệu quả hơn, đồng thời cho phép người dùng tạo ra các biểu đồ với tính thẩm mỹ cao.

Figure 1 Cài đặt thư viện b Đọc dữ liệu

Sau khi cài đặt thư viện, bước tiếp theo là nhập dữ liệu từ tệp vào chương trình để xử lý Dữ liệu thường được lưu trữ dưới các định dạng phổ biến như CSV, Excel, JSON hoặc cơ sở dữ liệu SQL Trong dự án này, chúng tôi sẽ sử dụng ví dụ với tệp CSV.

TIỀN XỬ LÝ DỮ LIỆU (DATA PRE-PROCESSING)

a Hiểu rõ về dữ liệu:

Trước khi tiến hành xử lý và phân tích dữ liệu, việc nắm vững bản chất và nội dung của dữ liệu là điều cần thiết Hiểu rõ về dữ liệu giúp xác định các yếu tố quan trọng và hướng đi phù hợp trong quá trình phân tích.

 Xác định được các thuộc tính chính có trong bộ dữ liệu, hiểu rõ ý nghĩa của từng cột.

Hiểu rõ các đặc trưng của biến dạng số và biến phân loại là rất quan trọng, vì chúng có thể ảnh hưởng đáng kể đến quá trình phân tích và mô hình hóa sau này.

Hiểu ngữ cảnh của dữ liệu là yếu tố quan trọng để đưa ra quyết định chính xác trong xử lý Việc xác định lĩnh vực mà dữ liệu thuộc về và ý nghĩa của các biến trong bối cảnh thực tế là rất cần thiết Sự hiểu biết sâu sắc về dữ liệu không chỉ giúp ta có cái nhìn rõ ràng hơn mà còn chuẩn bị tốt hơn cho các bước tiếp theo Khám phá thông tin chi tiết kỹ thuật của bộ dữ liệu cũng là một phần không thể thiếu trong quá trình này.

Sau khi hiểu rõ về nội dung tổng thể của dữ liệu, bước tiếp theo là khám phá thông tin chi tiết kỹ thuật của bộ dữ liệu

Figure 4 Thông tin dữ liệu

- Dữ liệu sau khi thu thập được bao gồm 30123 dòng.

The collected data includes various essential attributes of residential properties: the address of the house, area measured in square meters (m2), price per square meter in millions of VND or billions of VND, frontage area in square meters, the direction the house faces, the number of floors, bedrooms, and bathrooms Additionally, it encompasses the legal status of the property, such as ownership certificates (red book, pink book, pending certificate), and whether the house is furnished, with options ranging from fully furnished to basic or unfurnished.

Khi tìm kiếm một khu vực sống lý tưởng, bạn nên xem xét các tiện ích xung quanh như trường học, siêu thị, cửa hàng tiện lợi (như Circle K, GS25), rạp chiếu phim và bệnh viện Việc kiểm tra sự hiện diện của những tiện ích này sẽ giúp bạn đánh giá tính thuận lợi và chất lượng cuộc sống trong khu vực đó.

Bước này mang lại cái nhìn tổng quát về trạng thái dữ liệu hiện tại, giúp nhận diện các vấn đề cần giải quyết trong các bước tiếp theo, như việc xử lý các giá trị null trong cột dữ liệu Ngoài ra, chúng ta cũng cần xem xét các đặc trưng cần chuẩn hóa, chuyển đổi đơn vị hoặc thực hiện các bước xử lý trước khi tiến hành phân tích.

Figure 5 Phân loại dữ liệu c Tóm tắt các chỉ số thống kê cơ bản

Tóm tắt các chỉ số thống kê cơ bản của các cột dữ liệu kiểu số (numerical

(exploratory data analysis - EDA), giúp ta có cái nhìn sâu hơn về phân bố của các biến số số học, thông qua các chỉ số thống kê như:

 Mean (Giá trị trung bình): Giá trị trung bình của cột dữ liệu.

 Median (Trung vị): Giá trị đứng giữa khi các giá trị được sắp xếp theo thứ tự.

 Standard Deviation (Độ lệch chuẩn): Đo lường sự biến động, phân tán của dữ liệu.

 Min và Max: Giá trị nhỏ nhất và lớn nhất trong cột.

 Quartiles (Q1, Q2, Q3): Phân vị, giúp hiểu rõ hơn về phân bố của dữ liệu.

Figure 6 Bảng tóm tắt thống kê

Các chỉ số thống kê không chỉ giúp phát hiện các giá trị ngoại lai mà còn xác định các đặc trưng cần chuẩn hóa trước khi đưa vào mô hình phân tích hoặc học máy Chúng cũng giúp nhận diện các đặc điểm chính của dữ liệu, chẳng hạn như giá trị trung bình của giá nhà, độ lệch chuẩn của diện tích, và giá trị lớn nhất, nhỏ nhất trong tập dữ liệu Việc làm sạch dữ liệu (Data cleaning) là một bước quan trọng trong quá trình này.

Data cleaning, hay còn gọi là làm sạch dữ liệu, là quá trình phát hiện và khắc phục các lỗi, dữ liệu không hợp lệ và không chính xác Mục tiêu chính của quá trình này là nâng cao chất lượng dữ liệu, đảm bảo tính chính xác, đầy đủ và nhất quán Nhờ đó, việc phân tích và mô hình hóa dữ liệu sẽ trở nên hiệu quả hơn.

- Tiến hành: i Tổng quan hóa giá trị thiếu (Overview of Missing Values)

Bước đầu tiên trong quá trình phân tích dữ liệu là xác định và phân tích các giá trị thiếu Những giá trị thiếu này có thể phát sinh từ nhiều nguyên nhân, chẳng hạn như lỗi trong quá trình thu thập dữ liệu hoặc việc nhập liệu không đầy đủ Việc hiểu rõ về các giá trị thiếu là rất quan trọng để đảm bảo tính chính xác và độ tin cậy của kết quả phân tích.

Mục tiêu của bài viết là xác định số lượng và tỷ lệ phần trăm các giá trị thiếu trong từng cột của bộ dữ liệu, từ đó hỗ trợ bạn trong việc lựa chọn các phương pháp xử lý phù hợp với các giá trị thiếu đó.

The chart indicates missing data columns, which include frontage, direction, number of floors, number of bedrooms, number of bathrooms, legal status, and interior details.

Figure 7 Biểu đồ các dữ liệu bị thiếu

Figure 8 Tổng quan dữ liệu

Figure 9 Phần trăm các giá trị thiếu ii Xóa các cột (Drop Columns/ Feature)

Loại bỏ các cột hoặc tính năng không cần thiết trong bộ dữ liệu là bước quan trọng trong quá trình phân tích Những cột này thường chứa quá nhiều giá trị thiếu hoặc không liên quan, ảnh hưởng đến chất lượng và độ chính xác của kết quả phân tích.

- Mục tiêu: cải thiện chất lượng dữ liệu và tăng tốc độ xử lý, đồng thời giảm thiểu độ phức tạp trong mô hình hóa.

Figure 10 Xử lý dữ liệu thiếu

Do tỷ lệ dữ liệu thiếu ở cột direction (77%) và frontage (37%) là rất cao, nên quyết định loại bỏ hai cột này được đưa ra để bảo toàn tính tổng quát của mô hình Bên cạnh đó, việc loại bỏ các giá trị trùng lặp cũng cần được thực hiện để cải thiện chất lượng dữ liệu.

- Khái niệm: loại bỏ các bản sao của dữ liệu, tức là các hàng có giá trị hoàn toàn giống nhau trong bộ dữ liệu.

- Mục đích: đảm bảo rằng không có bản sao dữ liệu gây nhiễu trong quá trình phân tích.

Figure 11 Loại bỏ dữ liệu trùng lặp iv Chuyển đổi đơn vị (Unit Conversion)

- Khái niệm: chuyển đổi các đơn vị của dữ liệu về một hệ thống thống nhất.

- Mục đích: đảm bảo rằng tất cả dữ liệu đều sử dụng cùng một đơn vị đo, giúp việc phân tích và so sánh trở nên dễ dàng hơn.

Figure 12 Xử lý giá trị Area

Figure 13 Kiểm tra các giá trị trong cột “price”

Figure 14 Xử lý giá trị trong cột "price"

- Ta sẽ chuyển đổi giá trị của cột price về một đơn vị duy nhất là “tỷ vnđ” để thống nhất dữ liệu. v Lọc dữ liệu (Data Filtering)

Lọc dữ liệu là quá trình loại bỏ các hàng không đáp ứng tiêu chí nhất định, chẳng hạn như xóa bỏ những hàng chứa giá trị không hợp lệ hoặc không đáng tin cậy.

- Mục tiêu: cải thiện chất lượng dữ liệu bằng cách loại bỏ các dữ liệu không chính xác hoặc không liên quan.

Figure 15 Xử lý cột "address"

Để đảm bảo tính chính xác trong nghiên cứu, chúng tôi sẽ chỉ tập trung vào việc xử lý các tập dữ liệu liên quan đến địa chỉ ở Hồ Chí Minh, vì vậy sẽ tiến hành lọc bỏ những dòng dữ liệu không liên quan Bước tiếp theo là chuyển đổi dữ liệu (Data Transformation) để chuẩn hóa và tối ưu hóa thông tin.

TRỰC QUAN HÓA DỮ LIỆU (DATA VISUALIZATION)

Trực quan hóa dữ liệu là phương pháp sử dụng đồ họa, hình ảnh, biểu đồ và bản đồ để giúp người xem dễ dàng hiểu và phân tích các xu hướng, mô hình và mối quan hệ trong dữ liệu Thay vì chỉ xem các con số và bảng dữ liệu, trực quan hóa giúp truyền đạt thông tin một cách rõ ràng và sinh động hơn.

Các biểu đồ, đồ thị và hình ảnh giúp người dùng dễ dàng tiếp cận và hiểu các thông tin phức tạp mà không cần có nền tảng về phân tích dữ liệu Việc trực quan hóa dữ liệu thô thành những câu chuyện rõ ràng và dễ hiểu giúp người dùng nắm bắt thông tin một cách hiệu quả hơn.

Khi phân tích biểu đồ hoặc đồ thị, người phân tích có thể nhanh chóng phát hiện các xu hướng, biến động và mối quan hệ giữa các biến số Việc nhận diện này giúp hiểu rõ hơn về dữ liệu và đưa ra những quyết định chính xác hơn.

Biểu đồ đường hữu ích trong việc phát hiện sự thay đổi theo thời gian, trong khi biểu đồ cột cho phép so sánh dữ liệu giữa các nhóm khác nhau.

Trực quan hóa dữ liệu đóng vai trò quan trọng trong việc phát hiện bất thường và sai lệch, giúp nhanh chóng nhận diện các giá trị ngoại lệ và vấn đề tiềm ẩn trong bộ dữ liệu Việc này không chỉ hỗ trợ trong quá trình làm sạch dữ liệu mà còn nâng cao độ chính xác và độ tin cậy của thông tin phân tích.

Trực quan hóa dữ liệu hỗ trợ các nhà quản lý và bên liên quan trong việc ra quyết định nhanh chóng, giúp họ dễ dàng nắm bắt thông tin mà không cần phải đọc qua các bảng biểu dài dòng Phân tích rõ ràng và cụ thể từ dữ liệu trực quan giúp cải thiện quy trình ra quyết định.

- Số quận xuất hiện trong tập dữ liệu:

Figure 36 Số Quận trong tập dữ liệu

Qua biểu đồ trên, ta có thể thấy được:

Thủ Đức là quận nổi bật nhất trong tập dữ liệu, cho thấy khu vực này có tiềm năng phát triển mạnh mẽ về bất động sản hoặc có nhiều giao dịch diễn ra tại đây.

Gò Vấp, Bình Thạnh, Tân Bình và quận 1 đều có vị trí thứ hai trong danh sách, cho thấy sự phát triển sôi động của hoạt động kinh tế và thị trường bất động sản tại những quận này.

Cần Giờ, Hóc Môn và quận 4 là ba khu vực có số liệu xuất hiện ít nhất, điều này có thể chỉ ra mức độ phát triển kinh tế thấp hoặc sự hạn chế trong các giao dịch tại những khu vực này.

Các quận như quận 2, quận 3, quận 5, quận 7, quận 10 và quận 12 có mức độ xuất hiện trung bình trong thị trường bất động sản, không nổi bật như quận Thủ Đức nhưng cũng không thấp như Cần Giờ hay Hóc Môn Điều này cho thấy các khu vực này đang có sự phát triển và giao dịch ổn định.

Các quận Thủ Đức, Gò Vấp và Bình Thạnh ghi nhận lượng dữ liệu lớn, thể hiện sự phát triển mạnh mẽ của khu vực Ngược lại, các quận Cần Giờ, Hóc Môn và quận 4 lại có ít dữ liệu hơn, cho thấy những khu vực này kém sôi động hơn.

Các quận như quận 2, quận 3 và quận 7 có sự phát triển ổn định, nằm ở mức trung bình Mặc dù không nổi bật, nhưng những khu vực này vẫn thu hút một mức độ quan tâm vừa phải từ các nhà đầu tư và người mua, cho thấy tiềm năng phát triển trong tương lai.

Qua biểu đồ giá nhà trung bình theo từng quận, ta có thể thấy:

 Quận 1 và quận 3 có giá nhà trung bình cao nhất (gần 80 tỷ)

 Quận Phú Nhuận, quận 10, quận 5, Bình Thạnh có giá nhà trung bình (hơn 30 tỷ)

 Các quận còn lại có giá nhà thấp như Cần Giờ, Hóc Môn, Củ Chi, quận 12

- Nhận xét kết hợp từ biểu đồ số quận xuất hiện và giá nhà trung bình:

Quận 1 và quận 3 là hai khu vực có giá nhà trung bình cao nhất, gần 80 tỷ đồng, nhưng số lượng giao dịch không phải là cao nhất, chỉ đứng sau quận Thủ Đức Điều này cho thấy rằng mặc dù giao dịch không nhiều, giá trị bất động sản tại đây vẫn rất cao nhờ vào vị trí trung tâm, cơ sở hạ tầng phát triển, dịch vụ tiện ích tốt và tiềm năng thương mại lớn.

Quận Phú Nhuận, quận 10, quận 5 và Bình Thạnh đang ghi nhận giá nhà trung bình trên 30 tỷ đồng, phản ánh sự phát triển ổn định và sôi động của thị trường bất động sản tại đây Các khu vực này thường xuyên xuất hiện trong dữ liệu, cho thấy nhu cầu cao về nhà ở và đầu tư, nhờ vào vị trí thuận lợi gần trung tâm và các tiện ích xung quanh.

Cần Giờ, Hóc Môn, Củ Chi và quận 12 là những quận có giá nhà trung bình thấp nhất, đồng thời xuất hiện ít trong dữ liệu Điều này cho thấy sự chênh lệch rõ rệt về mức độ phát triển và sự quan tâm của nhà đầu tư Các quận này chủ yếu nằm ở vùng ven, với cơ sở hạ tầng chưa phát triển bằng các khu vực trung tâm, dẫn đến nhu cầu mua bán bất động sản và giá nhà thấp hơn.

XỬ LÝ NGOẠI LỆ

Figure 38 Biểu đồ phân tán của từng mẫu dữ liệu

Biểu đồ cho thấy sự phân bố giá trị bất động sản không đồng đều, với một số giá trị vượt mức bình thường (trên 600 tỷ VND) Những giá trị cao này có thể được giải thích bởi các yếu tố như vị trí địa lý và sự hiện diện của tiện ích, do đó không nên coi đây là hiện tượng ngoại lai mà là phản ánh thực tế của thị trường.

Các mẫu dữ liệu chủ yếu tập trung trong khoảng diện tích từ 0 đến 4000 m², tuy nhiên có một vài mẫu có diện tích lớn hơn 4000 m².

Figure 39 1 Lọc dữ liệu ngoại biên

Lý do chọn cách xử lý này:

Việc chọn ngưỡng từ 0.05 đến 0.95 là một phương pháp hợp lý và có cơ sở, vì nó dựa trên phân phối dữ liệu thay vì cảm tính Sử dụng các percentiles giúp loại bỏ ngoại lệ ở hai đầu phân phối mà không cần kiểm tra thủ công từng giá trị, từ đó duy trì tính khách quan trong xử lý dữ liệu.

Khi lựa chọn ngưỡng hợp lý từ 0.05 đến 0.95, bạn có thể giữ lại 90% dữ liệu trung tâm bằng cách loại bỏ 5% giá trị thấp nhất và 5% giá trị cao nhất Phương pháp này giúp loại bỏ các giá trị ngoại lệ một cách hợp lý mà không làm mất quá nhiều dữ liệu quan trọng, từ đó không ảnh hưởng đáng kể đến quá trình phân tích hoặc huấn luyện mô hình sau này.

Hạn chế ngoại lệ là một bước quan trọng trong việc xử lý dữ liệu, giúp loại bỏ những giá trị ít xuất hiện (outliers) để giảm thiểu sai lệch và các trạng thái không mong muốn khác Những giá trị quá lớn hoặc quá nhỏ có thể ảnh hưởng tiêu cực đến các mô hình học máy, vì vậy việc giới hạn dữ liệu trong khoảng ngưỡng hợp lý là cần thiết để đảm bảo chất lượng dữ liệu đầu vào.

Phương pháp tự động hóa giúp tiết kiệm thời gian và công sức so với việc phân tích thủ công từng dòng dữ liệu để xác định ngoại lệ Bằng cách áp dụng phương pháp này, bạn vẫn có thể đảm bảo hiệu quả trong việc làm sạch dữ liệu.

- Biểu đồ phân tán giá bất động sản và diện tích sau khi đã lọc giá trị ngoại biên:

Sau khi loại bỏ các giá trị ngoại biên, dữ liệu đã được cải thiện về tính đồng đều, giảm thiểu ảnh hưởng của các giá trị bất thường Quá trình này giúp làm sạch dữ liệu, tăng độ tin cậy và từ đó nâng cao độ chính xác trong các bước phân tích và huấn luyện mô hình tiếp theo.

XỬ LÝ VÀ TIỀN XỬ LÝ DỮ LIỆU (DATA PREPROCESSING)

Mã hóa dữ liệu dạng chuỗi (Categorical Data Encoding)

- Dữ liệu phân loại (categorical data) là các dữ liệu dạng chuỗi hay nhãn Như tên thành phố, con vật, thời tiết, bằng cấp,…

- Có 2 loại dữ liệu phân loại chính: a Dữ liệu thứ tự (ordinal data)

Dữ liệu thường được sắp xếp theo thứ tự hoặc xếp hạng, và khi làm việc với loại dữ liệu này, cần chú ý đến thứ bậc để tránh nhầm lẫn trong mô hình Ví dụ, bằng cấp thể hiện kinh nghiệm và trình độ của cá nhân, trong khi mức đánh giá sản phẩm phản ánh sự hài lòng của người dùng Bên cạnh đó, dữ liệu danh nghĩa (nominal data) cũng đóng vai trò quan trọng trong việc phân loại thông tin mà không có thứ tự cụ thể.

Dữ liệu danh nghĩa là loại dữ liệu mà thứ tự không quan trọng, bao gồm các thông tin như giới tính (nam, nữ), tên các tỉnh (An Giang, Đồng Tháp, Long An, Quảng Ngãi,…) và màu sắc (xanh, đỏ, tím).

Data encoding transforms data from categorical to numerical formats that machine learning algorithms can interpret Common encoding methods include one-hot encoding, label encoding, ordinal encoding, and target encoding One-hot encoding is specifically used for nominal data, creating binary columns for each category.

Phương pháp này chuyển đổi dữ liệu phân loại thành các vector nhị phân, giúp biểu diễn các giá trị không có thứ tự thành dạng số Khi có n giá trị khác nhau trong một cột dữ liệu, sau khi mã hóa, chúng sẽ được chuyển thành n cột riêng biệt, với giá trị tương ứng là 1.

Sử dụng các thư viện như pandas hoặc scikit-learn, việc triển khai trở nên đơn giản và dễ dàng Hơn nữa, dữ liệu được chuyển đổi thành vector nhị phân giúp các thuật toán tránh hiểu nhầm về thứ tự giữa các giá trị.

Nhược điểm của việc sử dụng vector trong dữ liệu phân loại là khi có nhiều giá trị trong một cột, kích thước ma trận dữ liệu sẽ tăng lên, dẫn đến việc tiêu tốn nhiều bộ nhớ Điều này có thể gây ra tình trạng "Curse of Dimensionality" khi cột dữ liệu chứa nhiều giá trị phân loại như quốc gia hay tỉnh thành.

Kỹ thuật chuyển đổi dữ liệu phân loại thành các giá trị số nguyên là một phương pháp hiệu quả, trong đó mỗi giá trị phân loại được gán một số nguyên duy nhất.

Dữ liệu được lưu trữ dưới dạng số nguyên giúp tiết kiệm bộ nhớ hiệu quả hơn so với phương pháp One-Hot encoding Ngoài ra, một số mô hình như Decision Trees và Random Forests có khả năng hoạt động tốt với dữ liệu được mã hóa bằng số nguyên.

Kỹ thuật target encoding có nhược điểm là tạo ra mối quan hệ thứ tự giữa các giá trị phân loại, điều này có thể dẫn đến sự hiểu nhầm cho mô hình Các thuật toán như hồi quy tuyến tính (Linear Regression) và hồi quy logistic (Logistic Regression) có thể cho ra kết quả sai lệch do ảnh hưởng của mối quan hệ thứ tự này.

Phương pháp mã hóa dữ liệu phân loại dựa trên giá trị mục tiêu là một kỹ thuật hiệu quả, trong đó mỗi giá trị phân loại được gán với giá trị trung bình hoặc thống kê của biến mục tiêu tương ứng.

Mã hóa giá trị mục tiêu mang lại lợi ích cho mô hình trong việc nắm bắt mối quan hệ giữa biến phân loại và biến mục tiêu Phương pháp này đặc biệt hiệu quả với dữ liệu có nhiều giá trị phân loại Bên cạnh đó, việc chuyển đổi biến phân loại thành số thực giúp các thuật toán tuyến tính khai thác thông tin một cách tối ưu hơn.

Nhược điểm của việc áp dụng ordinal encoding là nếu không xử lý phù hợp, mô hình có thể gặp vấn đề quá khớp với dữ liệu (overfitting) khi sử dụng trên toàn bộ tập huấn luyện Phương pháp này cũng phụ thuộc vào biến mục tiêu, và để hạn chế ảnh hưởng của các giá trị hiếm gây sai lệch trong quá trình mã hóa, cần áp dụng thêm kỹ thuật regularization.

 Là một kỹ thuật mã hóa dữ liệu phân loại thành các số nguyên, trong đó thứ tự của các giá trị có ý nghĩa.

 Ưu điểm: o Tiết kiệm bộ nhớ hơn One-Hot encoding o Phù hợp với các dữ liệu có thứ tự, cấp bậc.

Nhược điểm của việc sử dụng Ordinal encoding là nếu giá trị không có thứ tự, mô hình có thể hiểu sai Phương pháp này cũng không phù hợp với các mô hình tuyến tính.

Kỹ thuật mã hóa dữ liệu phân loại này tính toán giá trị trung bình của biến mục tiêu cho từng giá trị phân loại Mỗi giá trị phân loại được gán với giá trị trung bình tương ứng, giúp mô hình dễ dàng nhận diện mối liên hệ giữa biến phân loại và biến mục tiêu.

Giúp nắm bắt mối liên hệ giữa biến phân loại và biến mục tiêu. o Phù hợp với các mô hình tuyến tính và các thuật toán như Gradient Boosting.

 Nhược điểm: o Dễ dẫn đến overfitting nếu không áp dụng đúng cách. o Phụ thuộc lớn vào biến mục tiêu. o Cần thêm K-fold Encoding hay Smoothing để tránh overfitting.

Do vậy, các cột dữ liệu như “district”, “ward”, “interior” cần phải được mã hóa thành dữ liệu số để phù hợp với các mô hình học máy.

Vì “district” và “ward” là tên các quận huyện, phường xã thuộc địa phận thành phố

Hồ Chí Minh là một kiểu dữ liệu phân loại không có thứ tự, và chúng ta có thể áp dụng các kỹ thuật như One-hot, Target, và Mean encoding cho hai cột đặc trưng này.

Chuẩn hóa và biến đổi dữ liệu (Normalization and Scaling)

Normalization và Scaling là những kỹ thuật thiết yếu trong việc chuẩn bị dữ liệu cho các mô hình Học máy Các phương pháp này giúp chuẩn hóa dữ liệu, đảm bảo rằng các mô hình có thể hoạt động hiệu quả và chính xác hơn Việc áp dụng Normalization và Scaling không chỉ cải thiện hiệu suất của mô hình mà còn giảm thiểu sự thiên lệch trong quá trình học.

Normalization và Scaling giúp cải thiện hiệu suất của các mô hình học máy bằng cách giảm ảnh hưởng của các đặc trưng có phạm vi lớn Điều này cho phép các mô hình tập trung vào các mẫu cơ bản trong dữ liệu, thay vì bị chi phối bởi những đặc trưng có giá trị lớn.

Normalization và Scaling giúp cải thiện khả năng trực quan hóa dữ liệu bằng cách chuyển đổi dữ liệu về một phạm vi chung, từ đó làm cho việc hình dung và so sánh các đặc trưng khác nhau trở nên dễ dàng hơn.

Mục đích của việc điều chỉnh giá trị là để đưa chúng vào một phạm vi cụ thể, thường từ 0 đến 1 Quá trình này giúp đảm bảo rằng giá trị trung bình đạt 0 và độ lệch chuẩn được điều chỉnh phù hợp.

1 mà không nhất thiết phải giới hạn trong một phạm vi cụ thể.

Phạm vi giá trị chuyển đổi dữ liệu sang thang đo chung giúp duy trì hình dạng phân phối ban đầu Quá trình này đặt dữ liệu vào khoảng từ 0 và thực hiện chia tỷ lệ dựa trên độ lệch chuẩn, đồng thời cũng xem xét ảnh hưởng của các ngoại lệ (outliers).

Các phương pháp tính toán có độ nhạy cảm khác nhau với các giá trị ngoại lai Cụ thể, những phương pháp sử dụng giá trị tối thiểu (min) và tối đa (max) sẽ nhạy cảm hơn với các outliers, trong khi các phương pháp dựa trên giá trị trung bình và độ lệch chuẩn lại ít nhạy cảm hơn với các giá trị này.

Khả năng tương thích với các thuật toán Thường được sử dụng với các thuật toán dựa trên phép đo khoảng cách như KNN hay SVM.

Các thuật toán như tối ưu hóa dựa trên PCA hoặc giảm dần độ dốc thường giả định rằng dữ liệu có tâm bằng 0 Việc tính toán giá trị tối thiểu và tối đa cho mỗi tính năng có thể trở nên tốn kém về mặt tính toán, đặc biệt khi làm việc với các tập dữ liệu lớn.

Việc tính toán giá trị trung bình và độ lệch chuẩn cho từng đặc trưng giúp tăng hiệu quả trong phân tích dữ liệu Đồng thời, phương pháp này bảo toàn sự phân phối, giữ nguyên hình dạng của phân phối ban đầu và duy trì mối quan hệ tương đối giữa các điểm dữ liệu.

Có thể thay đổi phân phối một chút, đặc biệt nếu dữ liệu có phân phối không theo chuẩn Gauss.

Kiểu dữ liệu phù hợp với các đặc trưng có phạm vi giới hạn hoặc khi giá trị tuyệt đối của các đặc trưng mang ý nghĩa quan trọng.

Phù hợp với các đặc trưng có phạm vi không giới hạn hoặc giá trị trung bình và phương của các đặc trưng có ý

Dùng khi nào? Đặc biệt hữu ích khi thuật toán không đưa ra giả định về phân phối dữ liệu.

Khi các đặc trưng có đơn vị hoặc tỷ lệ khác nhau, việc chuẩn hóa chúng là cần thiết để đảm bảo mỗi đặc trưng đóng góp một cách công bằng vào quá trình phân tích Các phương pháp chuẩn hóa (Normalization) sẽ giúp điều chỉnh các giá trị này, tạo điều kiện cho việc so sánh và phân tích chính xác hơn.

Min-max scaling là phương pháp điều chỉnh tỷ lệ dữ liệu sao cho nằm trong khoảng từ 0 đến 1 Quá trình này được thực hiện bằng cách trừ giá trị tối thiểu và chia cho phạm vi của dữ liệu Phương pháp này đặc biệt hữu ích cho các tập dữ liệu thưa thớt, giúp cải thiện hiệu suất của các thuật toán học máy.

Z-score standardization là quá trình điều chỉnh dữ liệu để đạt được giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1 Phương pháp này loại bỏ giá trị trung bình và chia dữ liệu theo phương sai đơn vị, giúp xử lý hiệu quả các giá trị ngoại lai (outliers).

Log-transform là phương pháp áp dụng hàm logarit cho dữ liệu có độ lệch lớn, giúp giảm thiểu độ lệch và cải thiện khả năng xử lý của các mô hình tăng trưởng theo cấp số nhân Ngoài ra, còn có nhiều phương pháp Scaling khác để chuẩn hóa dữ liệu, đảm bảo tính chính xác và hiệu quả trong phân tích.

 Min-max scaling: thay đổi tỷ lệ phạm vi thành 0 – 1 bằng cách trừ giá trị min và chia cho giá trị max trừ đi giá trị min.

Chuẩn hóa là quá trình điều chỉnh giá trị dữ liệu sao cho giá trị trung bình trở thành 0 và độ lệch chuẩn là 1 Điều này được thực hiện bằng cách trừ đi giá trị trung bình và chia cho độ lệch chuẩn, giúp dữ liệu trở nên đồng nhất và dễ dàng so sánh hơn.

Tập dữ liệu bao gồm các đặc trưng số với các giá trị dao động trong các khoảng khác nhau Chẳng hạn, đặc trưng "area" có giá trị dao động từ 1.0 đến 200.0.

“num_of_bedrooms” và “num_of_floors” có phạm vi trong khoảng từ 1 – 20.

Chia tập dữ liệu (train-test-split)

Khi xây dựng mô hình học máy, việc phân chia dữ liệu thành các tập riêng biệt là bước thiết yếu để đảm bảo hiệu suất tối ưu và khả năng tổng quát của mô hình.

- Thông thường, tập dữ liệu sẽ được chia làm 2 phần là train (dữ liệu huấn luyện) và test (dữ liệu kiểm thử). a Lợi ích

Khi huấn luyện và kiểm tra mô hình trên cùng một tập dữ liệu, nguy cơ overfitting sẽ xuất hiện, dẫn đến việc mô hình chỉ ghi nhớ dữ liệu thay vì học được các quy luật tổng quát của tập dữ liệu.

Việc chia tập dữ liệu là cần thiết để đánh giá chính xác khả năng hoạt động của mô hình trên dữ liệu chưa thấy, đảm bảo rằng mô hình không chỉ học thuộc mà còn có khả năng dự đoán các dữ liệu mới.

Các tập dữ liệu thường được phân chia theo tỷ lệ hợp lý, với 80% dành cho dữ liệu huấn luyện và 20% cho dữ liệu kiểm tra Đối với các tập dữ liệu lớn, tỷ lệ 90% cho huấn luyện và 10% cho kiểm tra cũng được áp dụng.

Phân chia dữ liệu thành ba tập train, validation và test là rất quan trọng trong quá trình huấn luyện mô hình Tập train được sử dụng để huấn luyện mô hình, trong khi tập validation giúp tinh chỉnh và chọn lựa các siêu tham số, đồng thời đánh giá mô hình và phát hiện sớm hiện tượng overfitting Cuối cùng, tập test được sử dụng sau khi huấn luyện hoàn tất để đánh giá khả năng tổng quát hóa của mô hình trên các dữ liệu chưa từng gặp.

Cross-Validation (K-Fold Validation) là phương pháp hữu ích khi làm việc với tập dữ liệu hạn chế Phương pháp này chia dữ liệu thành K phần, trong đó mỗi phần sẽ lần lượt được sử dụng làm tập test, trong khi K-1 phần còn lại được dùng làm tập train Cách tiếp cận này giúp giảm thiểu độ lệch do cách chia dữ liệu cố định và đảm bảo rằng mỗi mẫu dữ liệu được sử dụng làm tập test ít nhất một lần.

Tập dữ liệu thu thập được cho bài toán dự đoán giá nhà gồm khoảng 30,000 dòng, một con số hợp lý cho nghiên cứu bất động sản tại một khu vực cụ thể Dữ liệu này sẽ được chia thành hai phần: 80% dành cho tập huấn luyện (train) và 20% cho tập kiểm tra (test).

Tỷ lệ 80/20 là một phương pháp phổ biến trong việc phân chia dữ liệu, cho phép mô hình học từ 80% dữ liệu trong khi giữ lại 20% để kiểm tra khả năng tổng quát trên dữ liệu mới.

ĐÁNH GIÁ MÔ HÌNH (MODEL EVALUATION)

Đo lường hiệu suất mô hình hồi quy

Trong các bài toán hồi quy, việc đánh giá hiệu suất mô hình là rất quan trọng để xác định khả năng dự đoán trên dữ liệu thực tế Các chỉ số phổ biến để đo lường hiệu suất của mô hình hồi quy bao gồm Mean Absolute Error (MAE), Mean Squared Error (RMSE) và R-squared (R^2) Trong đó, Mean Absolute Error (MAE) là một chỉ số quan trọng giúp đo lường độ chính xác của dự đoán bằng cách tính trung bình giá trị tuyệt đối của sai số giữa giá trị dự đoán và giá trị thực tế.

- MAE đo lường độ lệch trung bình tuyệt đối giữa giá trị thực tế và giá trị dự đoán của mô hình.

 yi là giá trị thức tế tại điểm dữ liệu thứ i.

 y^I là giá trị dự đoán tại điểm dữ liệu thứ i.

MAE (Mean Absolute Error) là một chỉ số đo lường độ chính xác của dự đoán, thể hiện sai số trung bình giữa giá trị dự đoán và giá trị thực tế Tuy nhiên, MAE không phân biệt giữa các lỗi lớn và nhỏ, nghĩa là tất cả các sai số đều được tính như nhau trong quá trình đánh giá.

- Đơn vị của MAE giống như biến mục tiêu, ví dụ nếu biến mục tiêu là giá nhà (đơn vị: tỷ đồng), MAE sẽ có đơn vị triệu đồng.

 MAE dễ hiểu và dễ tính toán.

Không bị ảnh hưởng mạnh bởi outliers như MSE. b Mean Squared Error (MSE)

- MSE đo lường trung bình bình phương sai số, tức là mức độ chênh lệch giữa giá trị dự đoán và giá trị thực tế được bình phương lên.

MSE, hay Trung bình Sai số Bình phương, là một chỉ số quan trọng trong việc đánh giá hiệu suất của mô hình hồi quy Chỉ số này đặc biệt chú trọng đến các lỗi lớn, bởi vì sai số được bình phương, dẫn đến việc các giá trị ngoại lệ (outliers) có tác động mạnh mẽ hơn đến kết quả đánh giá.

- Đơn vị: MSE có đơn vị là bình phương của đơn vị biến mục tiêu (ví dụ: triệu đồng²).

- Ưu điểm: Nhạy cảm với các lỗi lớn, giúp làm nổi bật các trường hợp dự đoán sai nghiêm trọng. c Root mean Squared Error (RMSE)

- RMSE là căn bậc hai của MSE, giúp đưa đơn vị đo về cùng loại với đơn vị của biến mục tiêu.

 RMSE tương tự như MSE nhưng dễ diễn giải hơn vì nó có cùng đơn vị với giá trị dự đoán (ví dụ: triệu đồng).

 Cũng như MSE, nhạy cảm với lỗi lớn hơn MAE.

- Ưu điểm: Đơn vị giống với biến mục tiêu, nên dễ hiểu và trực quan hơn. d R-squared (R^2)

- R² hay hệ số xác định là một chỉ số để đánh giá mức độ mà mô hình giải thích được biến thiên của dữ liệu.

 yi là giá trị thực tại điểm dữ liệu thứ i.

 y^i là giá trị dự đoán tại điểm dữ liệu thứ i.

 y- là giá trị trung bình của các giá trị thực tế.

- Ý nghĩa: R² thể hiện tỷ lệ phần trăm biến thiên của giá trị mục tiêu được mô hình giải thích Giá trị của R² nằm trong khoảng từ 0 đến 1:

 R² = 1: Mô hình dự đoán hoàn hảo.

 R² = 0: Mô hình không dự đoán tốt hơn so với mô hình đơn giản chỉ dự đoán giá trị trung bình.

 Dễ hiểu và là thước đo phổ biến để đánh giá khả năng giải thích của mô hình.

 Không phụ thuộc vào đơn vị đo lường của biến mục tiêu.

Cross-Validation: Kỹ thuật kiểm tra chéo

Cross-validation (kiểm tra chéo) là một kỹ thuật quan trọng trong học máy, giúp đánh giá mô hình một cách ổn định và ngăn ngừa hiện tượng overfitting Khi dữ liệu được chia thành các tập huấn luyện và kiểm tra, mô hình có thể hoạt động tốt trên tập huấn luyện nhưng lại kém trên dữ liệu mới Kỹ thuật cross-validation đánh giá mô hình trên nhiều tập con khác nhau của dữ liệu, từ đó giảm thiểu nguy cơ overfitting Một trong những phương pháp phổ biến là K-Fold Cross-Validation, giúp cải thiện độ tin cậy của kết quả đánh giá mô hình.

Trong K-Fold Cross-Validation, dữ liệu được phân chia thành K phần có kích thước đồng đều Mô hình sẽ trải qua quá trình huấn luyện K lần, trong đó mỗi lần sử dụng K-1 phần dữ liệu để huấn luyện và phần còn lại để kiểm tra hiệu suất của mô hình.

1 phần để kiểm tra Kết quả của mô hình được đánh giá bằng cách tính trung bình các kết quả qua tất cả K lần huấn luyện và kiểm tra.

- Quy trình K-Fold Cross Validation:

 Chia tập dữ liệu thành K phần.

 Huấn luyện mô hình K lần, mỗi lần lấy 1 phần làm tập test và K-1 phần còn lại làm tập train.

 Tính toán các chỉ số đánh giá trên tập test sau mỗi lần huấn luyện.

 Cuối cùng, tính trung bình các chỉ số từ K lần lặp để có đánh giá ổn định về mô

- Ưu Điểm của K-Fold Cross-Validation:

K-fold cross-validation là một phương pháp hiệu quả hơn so với việc chỉ chia dữ liệu một lần (train-test-split), vì nó đảm bảo rằng tất cả dữ liệu đều được sử dụng làm tập kiểm tra ít nhất một lần Phương pháp này giúp tăng độ tin cậy của mô hình bằng cách đánh giá nó trên nhiều tập dữ liệu khác nhau.

 K-Fold Cross-Validation cho phép sử dụng toàn bộ dữ liệu vừa để huấn luyện, vừa để kiểm tra, giúp tận dụng tối đa dữ liệu.

Kết quả được tính trung bình qua K lần kiểm tra, mang lại đánh giá mô hình chính xác và khách quan hơn so với việc chỉ dựa vào một tập kiểm tra cố định Kỹ thuật Stratified K-Fold Cross-Validation giúp phân chia dữ liệu một cách đồng đều, đảm bảo rằng mỗi tập con giữ tỷ lệ các lớp tương tự như trong toàn bộ dữ liệu, từ đó nâng cao độ tin cậy của kết quả đánh giá mô hình.

Stratified K-Fold là một biến thể của K-Fold Cross-Validation, rất hữu ích cho việc xử lý dữ liệu phân loại có sự mất cân bằng giữa các lớp Phương pháp này đảm bảo rằng mỗi phần dữ liệu được chia ra có tỷ lệ các lớp tương tự như tỷ lệ trong tập dữ liệu gốc, giúp cải thiện độ chính xác của mô hình.

Khi dữ liệu không cân bằng, như trong bài toán phân loại với số lượng mẫu thuộc các lớp không đồng đều, phương pháp Stratified K-Fold đảm bảo rằng mỗi phần dữ liệu đều có đại diện cho tất cả các lớp Điều này giúp cải thiện độ chính xác trong quá trình huấn luyện và đánh giá mô hình.

Trong bài toán dự đoán giá nhà, thuộc loại hồi quy, mục tiêu chính là dự đoán giá trị liên tục của nhà ở Việc chọn phương pháp đánh giá mô hình cần dựa vào độ chính xác, ảnh hưởng của các sai số lớn và khả năng giải thích mô hình Do đó, các phương pháp như MAE, MSE, RMSE và R² được xem là phù hợp nhất để thực hiện đánh giá.

RMSE, MSE và MAE là ba chỉ số quan trọng trong việc đánh giá độ chính xác của mô hình Trong đó, RMSE và MSE tập trung vào việc xác định ảnh hưởng của các lỗi lớn, trong khi MAE cung cấp cái nhìn trực quan về sai số trung bình.

R² có thể bổ sung để đo lường khả năng giải thích biến động giá nhà của mô hình.

XÂY DỰNG VÀ HUẤN LUYỆN MÔ HÌNH (MODEL BUILDING AND TRAINING)

Linear Regression (hồi quy tuyến tính)

Linear Regression là phương pháp hiệu quả để mô hình hóa mối quan hệ tuyến tính giữa các biến đầu vào và biến mục tiêu Mô hình này nhằm xây dựng một đường thẳng (đối với hai biến) hoặc siêu mặt phẳng (trong không gian nhiều chiều), với mục tiêu giảm thiểu tổng bình phương sai số giữa giá trị dự đoán và giá trị thực tế.

 y^ là giá trị dự đoán.

 w0, w1,…,wn là các hệ số của mô hình.

 x1, x2,…,x3 là các đặc trưng của mẫu dữ liệu.

Mục tiêu chính của thuật toán là tối ưu hóa hàm mất mát (loss function) nhằm điều chỉnh các hệ số w, giúp mô hình đạt được độ chính xác cao nhất trong dự đoán Tuy nhiên, việc này cũng đi kèm với những ưu điểm và nhược điểm riêng, cần được xem xét kỹ lưỡng.

 Linear Regression là một trong những mô hình đơn giản nhất trong học máy.

 Hoạt động tốt khi mối quan hệ giữa các đặc trưng và nhãn là tuyến tính.

 Kết quả dự đoán có thể được giải thích một cách trực quan bằng các hệ số w.

 Không thể mô hình hóa các mối quan hệ phức tạp không tuyến tính giữa các biến.

 Các giá trị outliers có thể ảnh hưởng đáng kể đến hiệu suất của mô hình.

 Linear Regression yêu cầu các đặc trưng độc lập tuyến tính với nhau. c Code và tối ưu mô hình

Thời gian huấn luyện mô hình được rút ngắn nhờ vào cấu trúc đơn giản của nó, cho phép tối ưu hóa thông qua việc điều chỉnh các đặc trưng nhằm làm nổi bật mối quan hệ giữa các biến đặc trưng và biến đầu ra.

Trong hồi quy tuyến tính, giá trị dự đoán có thể là âm do không có ràng buộc nào về giá trị đầu ra Điều này khác với một số mô hình như hồi quy logistic, nơi giá trị dự đoán được giới hạn trong một khoảng cụ thể, ví dụ như xác suất.

Ridge Regression

Ridge Regression là một biến thể của Linear Regression, được thiết kế để giải quyết vấn đề overfitting khi có sự đa cộng tuyến giữa các đặc trưng Mô hình này duy trì các đặc trưng quan trọng và không loại bỏ quá nhiều đặc trưng không quan trọng bằng cách thêm một thành phần chuẩn hoá L2 vào hàm mất mát của Linear Regression.

 L Rigde là hàm mất mát của Ridge Regression.

 yi là giá trị thực tế của mẫu dữ liệu thứ i.

 y^i là giá trị dự đoán của mô hình cho mẫu dữ liệu thứ i.

 α là siêu tham số (hyperparameter) được điều chỉnh để kiểm soát mức độ phạt (regularization).

 wj là các hệ số của mô hình.

Ridge Regression nhằm tối ưu hóa hàm mất mát để điều chỉnh các hệ số w, giúp mô hình dự đoán chính xác hơn và giảm thiểu sự phụ thuộc vào các đặc trưng không quan trọng Phương pháp này có những ưu điểm như khả năng xử lý đa cộng tuyến và cải thiện độ chính xác của mô hình, nhưng cũng tồn tại nhược điểm như không thể loại bỏ hoàn toàn các biến không cần thiết.

 Giúp giảm thiểu hiện tượng overfitting bằng cách kiểm soát các hệ số của mô hình.

 Phù hợp khi có đa cộng tuyến giữa các đặc trưng.

 Kết quả dự đoán có thể dễ dàng giải thích nhờ các hệ số w.

 Ridge Regression vẫn giả định mối quan hệ tuyến tính giữa các biến.

 Cần thử nghiệm và điều chỉnh α để có mô hình tối ưu. c Code và tối ưu mô hình

Mô hình sử dụng PolynomialFeatures nhằm tạo ra các đặc trưng bậc cao để tối ưu hóa hiệu suất của mô hình Trong khi đó, RFE là một kỹ thuật hiệu quả để lựa chọn các đặc trưng quan trọng nhất bằng cách loại bỏ dần các đặc trưng không cần thiết.

Ridge Regression là một phương pháp hồi quy tuyến tính, dựa trên giả định về mối quan hệ tuyến tính giữa các biến độc lập và biến phụ thuộc Tuy nhiên, khi mối quan hệ giữa các biến là phi tuyến, mô hình có thể không đưa ra dự đoán chính xác, dẫn đến khả năng xuất hiện giá trị âm.

Lasso Regression

Lasso Regression là một biến thể của hồi quy tuyến tính, nhằm giảm bớt số lượng các đặc trưng không quan trọng trong mô hình Phương pháp này điều chỉnh các hệ số của mô hình về gần hoặc bằng không bằng cách thêm thành phần chuẩn hóa L1 vào hàm mất mát của hồi quy tuyến tính.

 L Lasso là hàm mất mát của Lasso Regression.

 yi là giá trị thực tế của mẫu dữ liệu thứ i.

 y^i là giá trị dự đoán của mô hình cho mẫu dữ liệu thứ i.

 α là siêu tham số (hyperparameter) được điều chỉnh để kiểm soát mức độ phạt (regularization).

 wj là các hệ số của mô hình.

Lasso Regression nhằm tối ưu hóa hàm mất mát để điều chỉnh các hệ số w, giúp cải thiện độ chính xác của mô hình dự đoán Phương pháp này tự động loại bỏ các đặc trưng không quan trọng bằng cách đưa các hệ số tương ứng về giá trị bằng không Tuy nhiên, Lasso Regression cũng có những ưu điểm và nhược điểm riêng cần được cân nhắc.

 Lasso Regression tự động loại bỏ các đặc trưng không quan trọng, giúp đơn giản

 Phù hợp khi có đa cộng tuyến giữa các đặc trưng.

 Kết quả dự đoán có thể dễ dàng giải thích nhờ các hệ số w.

 Lasso Regression vẫn giả định mối quan hệ tuyến tính giữa các biến.

 Cần thử nghiệm và điều chỉnh α để có mô hình tối ưu.

 Không phù hợp với các biến có độ dài cao và phân tán nhỏ. c Code và tối ưu mô hình

Mô hình sử dụng PolynomialFeatures để tạo ra các đặc trưng bậc cao nhằm tối ưu hóa hiệu suất của mô hình Bên cạnh đó, SelectFromModel là một kỹ thuật tự động lựa chọn biến, giúp xác định các đặc trưng quan trọng dựa trên trọng số của mô hình Lasso.

Lasso Regression hiệu quả hơn hồi quy tuyến tính đơn giản trong việc xử lý vấn đề đa cộng tuyến Tuy nhiên, nếu vẫn tồn tại sự tương quan cao giữa các biến, nó có thể gây ra các hệ số không ổn định Điều này làm tăng khả năng dự đoán sai, đặc biệt khi một hoặc nhiều biến có hệ số âm.

Random Forest

Random Forest là một thuật toán học máy dựa trên cây quyết định, kết hợp nhiều cây quyết định để tạo ra một mô hình dự đoán mạnh mẽ và ổn định hơn so với từng cây quyết định riêng lẻ.

Thuật toán hoạt động bằng cách xây dựng nhiều cây quyết định độc lập từ các tập con dữ liệu ngẫu nhiên (bootstrap sample) và một số lượng nhỏ các đặc trưng ngẫu nhiên (feature subset) Dự đoán cuối cùng được tính toán bằng cách kết hợp các dự đoán từ tất cả các cây quyết định Ưu điểm của phương pháp này là khả năng giảm thiểu overfitting và cải thiện độ chính xác, trong khi nhược điểm có thể là thời gian tính toán lâu hơn và yêu cầu tài nguyên lớn hơn.

 Random Forest thường cho kết quả dự đoán tốt hơn so với nhiều mô hình học máy khác.

 Tốt cho các tập dữ liệu lớn và có nhiều đặc trưng.

 Không cần phải lo lắng về đa cộng tuyến vì mô hình tự động chọn các đặc trưng ngẫu nhiên cho từng cây quyết định.

 Thời gian huấn luyện lâu do phải xây dựng nhiều cây quyết định.

 Khó để giải thích quyết định của mô hình do tính ngẫu nhiên và phức tạp của nó. c Code và tối ưu mô hình

Tham số random_state đóng vai trò quan trọng trong việc đảm bảo tính ngẫu nhiên có thể tái tạo khi xây dựng các cây quyết định Nếu không chỉ định tham số này, mỗi lần thực hiện mô hình sẽ có thể tạo ra kết quả khác nhau do sự ngẫu nhiên trong quá trình phân chia dữ liệu.

Số lượng cây quyết định trong mô hình Random Forest được xác định bởi tham số n_estimators Giá trị n_estimators bằng 200 thường giúp cải thiện độ chính xác của mô hình, tuy nhiên, nó cũng làm tăng thời gian tính toán.

Tham số min_samples_split=2 xác định số lượng mẫu tối thiểu cần thiết để một nút trong cây quyết định có thể được chia thành các nút con Điều này giúp đảm bảo rằng mỗi nút có đủ dữ liệu để đưa ra quyết định chính xác, từ đó cải thiện hiệu suất của mô hình.

Giá trị min_samples_leaf=1 chỉ định số lượng mẫu tối thiểu cần có trong một nút lá Nếu số mẫu trong một nút thấp hơn giá trị này, nút đó sẽ không được chia Với giá trị 1, không có giới hạn nào cho số lượng mẫu trong nút lá.

Tham số max_features='sqrt' xác định số lượng biến tối đa được xem xét khi tìm kiếm phân chia tốt nhất cho một nút trong mô hình Bằng cách sử dụng 'sqrt', số biến được xem xét sẽ là căn bậc hai của tổng số biến trong dữ liệu, giúp giảm thiểu sự tương quan giữa các cây và nâng cao tính tổng quát của mô hình.

Tham số max_depth0 xác định độ sâu tối đa của mỗi cây quyết định, giúp ngăn chặn hiện tượng overfitting Việc giới hạn độ sâu của cây quyết định là cần thiết, vì các cây quá sâu có thể học được cả những mẫu dữ liệu nhiễu, không phản ánh đúng đặc điểm của dữ liệu tổng thể.

Random Forest giảm thiểu nguy cơ overfitting so với việc chỉ sử dụng một cây quyết định đơn lẻ nhờ vào việc kết hợp nhiều cây quyết định Điều này giúp mô hình tổng quát hơn và có thể dự đoán tốt trên dữ liệu chưa thấy, từ đó tăng cường độ tin cậy và chính xác của mô hình.

XGBoost

XGBoost là một thuật toán học máy tiên tiến, sử dụng kỹ thuật Gradient Boosting nhằm tối ưu hóa hiệu suất cho các mô hình học máy, đặc biệt là trong dự báo dựa trên cây quyết định.

XGBoost hoạt động bằng cách xây dựng nhiều cây quyết định theo cách tuần tự, với mỗi cây được tạo ra nhằm giảm thiểu hàm mất mát từ các cây trước đó Mô hình này tối đa hóa độ chính xác thông qua kỹ thuật tăng cường gradient, cho phép nó được tùy chỉnh để giải quyết các vấn đề dự báo như phân loại và dự đoán giá Tuy nhiên, XGBoost cũng có những ưu và nhược điểm riêng cần được cân nhắc khi áp dụng.

 XGBoost thường cho kết quả dự đoán tốt hơn so với nhiều thuật toán khác, đặc biệt là trên các bộ dữ liệu lớn.

 Có nhiều siêu tham số để tinh chỉnh và cải thiện hiệu suất mô hình.

 XGBoost có thể xử lý tốt các giá trị thiếu trong dữ liệu.

XGBoost yêu cầu nhiều tài nguyên tính toán hơn so với các thuật toán đơn giản do cần xây dựng nhiều cây quyết định và tinh chỉnh nhiều tham số.

 Cần điều chỉnh các siêu tham số một cách cẩn thận để tránh overfitting. c Code và tối ưu mô hình

Tham số 'reg:squarederror' xác định mục tiêu tối ưu hóa cho mô hình hồi quy, nhằm giảm thiểu sai số bình phương Việc này giúp cải thiện độ chính xác trong việc ước lượng giá trị mục tiêu.

Tham số colsample_bytree=0.7 quy định rằng 70% số biến sẽ được sử dụng trong mỗi cây quyết định, giúp giảm thiểu overfitting và tăng tính tổng quát của mô hình Tham số learning_rate=0.1 kiểm soát kích thước bước điều chỉnh trong quá trình học, cho phép mô hình học từ từ và có thể cải thiện độ chính xác, mặc dù có thể cần nhiều lần lặp hơn Cuối cùng, hệ số alpha là tham số điều chỉnh L1 (Lasso regularization) giúp ngăn chặn overfitting bằng cách giảm bớt các hệ số không cần thiết xuống gần 0, với giá trị 10 có thể làm mượt các giá trị dự đoán.

XGBoost là một thuật toán tối ưu hóa gradient boosting, nổi bật với khả năng đạt độ chính xác cao Nó có khả năng học từ dữ liệu phức tạp và phát hiện các mối quan hệ phi tuyến giữa các biến độc lập và biến mục tiêu "price".

LightGBM

LightGBM là một thuật toán học máy tiên tiến, được phát triển bởi Microsoft, dựa trên kỹ thuật Gradient Boosting Thuật toán này tối ưu hóa hiệu suất cho các mô hình dự báo sử dụng cây quyết định, đặc biệt hiệu quả trong việc xử lý các bài toán với dữ liệu lớn.

LightGBM hoạt động bằng cách xây dựng nhiều cây quyết định theo cách tuần tự, với mỗi cây nhằm cải thiện dự đoán so với cây trước đó Khác với các thuật toán khác sử dụng phương pháp cắt cành (level-wise), LightGBM áp dụng chiến lược phân chia cây dựa trên lề (leaf-wise), giúp tăng tốc độ xây dựng cây và tiết kiệm bộ nhớ Tuy nhiên, bên cạnh những ưu điểm này, LightGBM cũng có nhược điểm cần được xem xét.

 LightGBM thường cho kết quả dự đoán tốt hơn so với nhiều thuật toán khác, đặc biệt là trên các bộ dữ liệu lớn.

LightGBM áp dụng chiến lược phân chia cây theo cách leaf-wise, điều này giúp tối ưu hóa thời gian xử lý và giảm thiểu mức tiêu thụ bộ nhớ so với các thuật toán khác.

 Có nhiều siêu tham số để tinh chỉnh và cải thiện hiệu suất mô hình.

 Cần điều chỉnh các siêu tham số một cách cẩn thận để tránh overfitting.

LightGBM yêu cầu nhiều tài nguyên tính toán hơn so với các thuật toán đơn giản do cần xây dựng nhiều cây quyết định và điều chỉnh nhiều tham số Việc tối ưu hóa mô hình và mã code cũng đóng vai trò quan trọng trong quá trình này.

- boosting_type='gbdt': 'gbdt' (Gradient Boosting Decision Tree) là thuật toán chính của LightGBM Ngoài ra, còn có các loại khác như dart và goss.

Tham số 'objective' trong mô hình được chỉ định là 'regression', điều này có nghĩa là mô hình sẽ được tối ưu hóa để giải quyết bài toán hồi quy.

LightGBM nổi bật với tốc độ huấn luyện nhanh hơn so với các thuật toán boosting truyền thống như XGBoost Nhờ vào phương pháp dựa trên histogram, LightGBM giảm thiểu tài nguyên tính toán và tăng cường tốc độ xử lý.

KNN (K-Nearest Neighbors)

KNN, hay K-Nearest Neighbors, là một thuật toán học máy không tham số, được áp dụng cho cả phân loại và dự đoán Nguyên tắc hoạt động của KNN là dự đoán giá trị của một điểm dữ liệu mới bằng cách dựa vào các điểm dữ liệu trong tập huấn luyện gần nhất, được gọi là các "hàng xóm" gần nhất.

- KNN hoạt động như sau:

 Để dự đoán cho một điểm mới, thuật toán tính khoảng cách giữa điểm mới này với tất cả các điểm trong tập huấn luyện.

 Chọn ra K điểm gần nhất (các hàng xóm) dựa trên khoảng cách tính được.

Dự đoán nhãn cho điểm mới có thể thực hiện bằng cách tính trung bình các nhãn của các hàng xóm trong trường hợp dự đoán giá trị liên tục, hoặc sử dụng phương pháp bầu chọn cho dự đoán phân loại Phương pháp này có những ưu điểm và nhược điểm riêng, cần được xem xét kỹ lưỡng để áp dụng hiệu quả trong từng tình huống cụ thể.

 KNN là một thuật toán đơn giản và dễ hiểu.

 KNN là một thuật toán phi parametric, không yêu cầu giả định về phân phối của dữ liệu.

 KNN có thể cho kết quả tốt khi tập dữ liệu nhỏ và số lượng đặc trưng ít.

 Việc tính toán khoảng cách giữa điểm mới và tất cả các điểm trong tập huấn luyện có thể làm tăng độ phức tạp tính toán.

 KNN có thể bị ảnh hưởng bởi các đặc trưng không quan trọng hoặc outliers. c Code và tối ưu mô hình

Mô hình với tham số n_neighbors=3 sẽ dựa vào ba hàng xóm gần nhất để dự đoán giá trị mục tiêu Khi có một điểm dữ liệu mới, mô hình sẽ xác định ba điểm gần nhất trong tập huấn luyện và tính toán trung bình hoặc trung vị của các giá trị mục tiêu của chúng để đưa ra dự đoán chính xác.

KNN có thể gặp khó khăn về tốc độ trong giai đoạn dự đoán, đặc biệt khi làm việc với tập dữ liệu lớn Mỗi khi cần dự đoán cho một điểm mới, mô hình phải tính toán khoảng cách từ điểm đó đến tất cả các điểm trong tập huấn luyện, dẫn đến việc tiêu tốn thời gian đáng kể.

Neural Networks

- Mạng nơ-ron là một mô hình học máy được lấy cảm hứng từ cấu trúc của não người.

Nó bao gồm các lớp nơ-ron kết nối với nhau, mỗi nơ-ron có khả năng tính toán và truyền thông tin qua các lớp.

- Kiến trúc mạng nơ-ron: Mạng nơ-ron bao gồm nhiều lớp (layer) gồm các nơ-ron (neuron) Các lớp được chia thành ba loại chính:

 Lớp Input (Đầu vào): Nhận dữ liệu đầu vào, chẳng hạn như các đặc trưng của một bức ảnh.

 Lớp Hidden (Ẩn): Các lớp này chứa các nơ-ron tính toán bên trong mô hình và thực hiện các phép biến đổi dữ liệu.

 Lớp Output (Đầu ra): Đưa ra kết quả dự đoán cuối cùng, ví dụ như loại ảnh được phân loại.

Mạng nơ-ron hoạt động bằng cách học từ dữ liệu thông qua việc điều chỉnh trọng số giữa các nơ-ron nhằm tối ưu hóa hàm mất mát Quá trình này thường được thực hiện bằng thuật toán lan truyền ngược và điều chỉnh gradient, cùng với các biến thể của nó Mặc dù mạng nơ-ron có nhiều ưu điểm như khả năng học sâu và xử lý dữ liệu phức tạp, nhưng cũng tồn tại một số nhược điểm như yêu cầu tài nguyên tính toán lớn và nguy cơ overfitting nếu không được điều chỉnh hợp lý.

 Neural Networks có thể học và mô hình hóa các mối quan hệ phức tạp giữa các đặc trưng.

 Có thể áp dụng cho nhiều loại bài toán từ phân loại cho đến dự đoán và sinh ảnh.

 Neural Networks thường cho kết quả tốt trên các bộ dữ liệu lớn khi được huấn luyện đúng cách.

 Neural Networks cần một lượng lớn dữ liệu huấn luyện để tránh overfitting và đạt được hiệu suất tốt.

 Việc thiết kế và điều chỉnh Neural Networks có thể rất phức tạp và đòi hỏi nhiều kiến thức chuyên sâu.

 Huấn luyện mạng nơ-ron có thể tốn nhiều thời gian và tài nguyên tính toán. c Code và tối ưu mô hình

Tham số hidden_layer_sizes=(150,) xác định cấu trúc của các tầng ẩn trong mạng nơ-ron, với 150 neuron trong một tầng ẩn Tầng ẩn này đóng vai trò quan trọng trong việc giúp mô hình học các đặc trưng phi tuyến từ dữ liệu.

max_iterP0 là tham số quy định số lượng vòng lặp tối đa trong quá trình huấn luyện mô hình Quá trình huấn luyện sẽ dừng lại khi đạt đủ 500 vòng lặp hoặc khi mô hình hội tụ trước thời gian đó.

The activation function used in the hidden layers is 'tanh', which stands for hyperbolic tangent This function effectively maps the output values of each neuron to a range between -1 and 1.

Hệ số điều chuẩn L2 (regularization) với giá trị alpha=0.01 giúp mô hình tránh hiện tượng overfitting bằng cách thêm chi phí cho các trọng số lớn Mức alpha này được coi là trung bình, đảm bảo rằng mô hình không trở nên quá phức tạp.

Tham số learning_rate='constant' xác định tốc độ học của mô hình, trong đó 'constant' có nghĩa là tốc độ học sẽ không thay đổi trong suốt quá trình huấn luyện.

Bộ giải 'adam' là một phương pháp tối ưu hóa hiệu quả cho việc điều chỉnh trọng số trong mạng nơ-ron Dựa trên stochastic gradient descent, 'adam' cải tiến quá trình tối ưu hóa bằng cách kết hợp mô men và tỷ lệ học thích ứng, giúp tăng cường khả năng hội tụ và hiệu suất của mô hình.

Mạng nơ-ron có khả năng tự động học các đặc trưng ẩn từ dữ liệu thông qua các tầng ẩn, giúp chúng trở nên hiệu quả trong việc xử lý các bài toán với nhiều biến đầu vào mà không cần phải tạo ra nhiều tính năng thủ công.

Ngày đăng: 16/02/2025, 15:07

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN