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

báo cáo đồ án môn học đề tài canifornia housing prices prediction

46 0 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 đề Canifornia Housing Prices Prediction
Tác giả Đinh Hồng Anh, Nguyễn Thị Thanh Mai, Hàng Đức Phú, Võ Lê Hậu
Người hướng dẫn ThS. Vũ Thị Hạnh
Trường học Phân Hiệu Trường Đại Học Thủy Lợi
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án môn học
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 46
Dung lượng 5,55 MB

Nội dung

Kỹ thuật dự đoán giá nhà có thể được ứng dụng trong các dự đoán thực tế như hỗ trợ việc quyết định mua bán nhà, đầu tư bất động sản,.v.v.- Thực hiện dự đoán giá nhà bằng dữ liệu thực tế

Trang 1

BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN PHÂN HIỆU TRƯỜNG ĐẠI HỌC THỦY LỢI

BỘ MÔN CÔNG NGHỆ THÔNG TIN

Trang 2

BỘ NÔNG

NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN

PHÂN HIỆU TRƯỜNG ĐẠI HỌC THỦY LỢI

HỌ VÀ TÊNĐinh Hồng AnhNguyễn Thị Thanh MaiHàng Đức Phú

Võ Lê Hậu

California Housing Prices Prediction

Ngành: CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN: ThS Vũ Thị Hạnh

Giảng viên hướng dẫn: ThS Vũ Thị Hạnh

Sinh viên thực hiện: Đinh Hồng Anh

Nguyễn Thị Thanh Mai Hàng Đức Phú

Võ Lê Hậu

Trang 3

HỒ CHÍ MINH, NĂM 2023

LỜI CAM ĐOAN

Nhóm 3 xin cam đoan đây là Đồ án môn học của nhóm chúng em Các kết quả trong Đồ

án môn học này là trung thực, và không sao chép từ bất kỳ một nguồn nào và dưới bất kỳhình thức nào Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn vàghi nguồn tài liệu tham khảo đúng quy định

Trang 5

N i dung

LỜI CAM ĐOAN 3

LỜI CÁM ƠN 4

PHẦN 1 : TỔNG QUAN VỀ ĐỀ TÀI 6

1.1 Lý do chọn đề tài : 6

1.2 Giới thiệu về bộ dữ liệu California Housing Price 6

1.3 Mục tiêu và phạm vi của đề tài 7

PHẦN 2 CƠ SỞ LÝ THUYẾT 8

2.1 Học máy (Machine Learning) là gì? 8

2.2 Tại sao cần học Học máy? 9

2.3 Máy học có bao nhiêu phương pháp? 9

2.4 Các chức năng của học máy? 10

2.5 Vậy học máy có những ứng dụng gì? 11

PHẦN 3 Xây dựng và đánh giá mô hình dự đoán 11

3.1 Tiền xử lý dữ liệu 11

- Đọc dữ liệu từ file csv 12

- Xem dữ liệu: 13

- Kiểm tra shape của dữ liệu: 14

- Kiểm tra và xóa missing data 15

- Kiểm tra và xóa những giá trị trùng lặp: 16

- Handle outlier values: 17

3.2 Understanding and Visualize 22

Visualize cách phân bổ dân số và giá nhà dọc theo bản đồ California: 24

Phân phối giá trị trung bình: 27

3.3 Phân chia dữ liệu huấn luyện 28

3.3.1 Split data 28

3.3.2 Scaling 29

3.4 Mô hình dự đoán giá nhà Linear Regression, Decision Regression Tree và Random Forest 29

3.4.1 Linear Regression 29

3.4.2 Decision Regression Tree 31

3.4.3 Random Forest 36

3.5 Đánh giá trên dữ liệu thử nghiệm 41

3.5 Kết luận dự án 44

Trang 6

PH N 1 : T NG QUAN V Đ TÀI Ầ Ổ Ề Ề

Sau một thời gian tham khảo về các đề tài về dự đoán và nhận dạng trên Kaggle cũng như các nền tảng khác, chúng em đã quyết định lựa chọn một đề tài về bài toán dự đoán giá nhà tại California vì những lý do sau:

- Bộ dữ liệu California Housing Prices chứa nhiều thông tin về giá nhà tại nhiều khu vực khác nhau ở California Chúng em sẽ có cơ hội thực hiện phân tích và

dự đoán giá nhà dựa trên nhiều yếu tố như độ tuổi trung bình của nhà, thu nhậptrung bình, số phòng ngủ,.v.v

- Dự đoán giá nhà là một thách thức thực tế và có ứng dụng rộng rãi trong thị trường bất động sản Kỹ thuật dự đoán giá nhà có thể được ứng dụng trong các

dự đoán thực tế như hỗ trợ việc quyết định mua bán nhà, đầu tư bất động sản,.v.v

- Thực hiện dự đoán giá nhà bằng dữ liệu thực tế giúp sinh viên chúng em trau dồi, phát triển kỹ năng phân tích dữ liệu, xử lý dữ liệu và xây dựng mô hình dựđoán Sẽ có cơ hội được làm việc nhiều với các thuật toán của machine learning như hồi quy,.v.v

- Và cuối cùng, đa số các nhóm khác đều chọn đề tài về nhận dạng nên chúng

em quyết định sẽ chọn một bài toán khác là dự đoán để làm đa dạng hơn về các

đề tài trong bài báo cáo môn học Chúng em hy vọng rằng kết quả của đề tài sẽ không chỉ là thành tựu cá nhân mà còn mang lại giá trị và ý nghĩa cho cộng đồng và ngành công nghiệp mà chúng em hướng đến Điều này là nguồn động viên lớn, giúp chúng em không ngừng nỗ lực để đạt được những kết quả tích cực và bổ ích nhất từ đề tài này

Bộ dữ liệu California Housing Price là một tập dữ liệu chi tiết về giá nhà ở

California, Hoa Kỳ Đây là một nguồn dữ liệu quan trọng trong lĩnh vực dự đoán giá nhà

và phân tích thị trường bất động sản Dữ liệu này được cung cấp trên Kaggle, một nền tảng chuyên về kho dữ liệu trong lĩnh vực khoa học dữ liệu

Trang 7

Thông tin cơ bản:

- Nguồn dữ liệu: Kaggle

- Link đến Dataset: housing-prices

https://www.kaggle.com/datasets/camnugent/california-Cấu trúc dữ liệu:

Bộ dữ liệu này một tập hợp các thuộc tính khác nhau, chủ yếu là các yếu tố ảnh hưởng đến giá nhà Dưới đây là một số thuộc tính chính:

- Median Income (Mức thu nhập trung bình): Thu nhập trung bình của các hộ

gia đình trong khu vực nhất định

- Housing Median Age (Độ tuổi trung bình nhà ở): Độ tuổi trung bình của các

ngôi nhà trong khu vực

- Total Room (Tổng số phòng): Tổng số phòng trong một một khu vực.

- Total Bedroom (Tổng số phòng ngủ): Tổng số phòng ngủ trong một khu vực.

- Population (Số dân): Tổng số người cư trú trong một khu vực.

- Household (Hộ gia đình): Tổng số hộ gia đình cư trú trong một khu vực.

- Median House Value (Giá nhà trung bình): Giá trị nhà trung bình của các hộ

gia đình trong một khu vực nhất định (Tính bằng Dollar)

- Ocean Proximity (Gần đại dương): Vị trí của căn nhà có gần đại dương/ biển

hay không

- Longitude (Kinh độ): Là giá trị tọa độ địa lý theo hướng đông sang tây.

- Latitude (Vỹ độ): Là giá trị xác định vị trí của một điểm nào đó trên bề mặt

Trái Đất

Mục tiêu chính của bài tập là xây dựng một mô hình dự đoán giá nhà tại California bằng những thuộc tính trên như mức thu nhập trung bình, tổng số phòng, vị trí gần biển,.v.v Mô hình này sẽ học từ những dự liệu và áp dụng để dự đoán giá nhà tại California hoặc tất cả các quận khác ở Hoa Kỳ dựa trên những thuộc tính đã cung cấp.Phạm vi của dự án bao gồm việc tiền xử lý dữ liệu, xây dựng mô hình học máy, dự đoán bằng dataset testing và đánh giá mô hình đã xây dựng

Trang 8

PH N 2 C S LÝ THUY T Ầ Ơ Ở Ế

- Học Máy (Machine Learning - ML) là một lĩnh vực của trí tuệ nhân tạo (AI) tập trung vào việc phát triển và nghiên cứu các phương pháp và mô hình máy học có khả năng tự động học từ dữ liệu Trong khi các hệ thống máy học truyền thống thường yêu cầu sự can thiệp của con người để định rõ các quy tắc

và quy luật, Học Máy giúp máy tính "học" từ kinh nghiệm và dữ liệu mà khôngcần sự lập trình cụ thể

- Ba khái niệm chính trong Học Máy :

o Huấn luyện (Training): Quá trình huấn luyện máy tính bao gồm cung cấp cho nó một tập dữ liệu huấn luyện, trong đó mỗi mẫu dữ liệu được gán nhãn (label) hoặc có giá trị đầu ra mong muốn Máy tính sẽ sử dụngcác thuật toán học máy để tìm hiểu các mẫu và xây dựng một mô hình

dự đoán

o Mô hình (Model): Mô hình học máy là một biểu diễn toán học hoặc thuật toán mà máy tính sử dụng để dự đoán hoặc phân loại dữ liệu mới dựa trên thông tin đã học từ quá trình huấn luyện Mô hình có thể là mộtcây quyết định, một mạng neural, một phương trình toán học, hoặc một thuật toán khác

o Dự đoán (Prediction): Sau khi máy tính đã được huấn luyện, nó có thể

sử dụng mô hình đã xây dựng để dự đoán hoặc phân loại dữ liệu mới mà

nó chưa từng thấy trước đó Quá trình này gọi là dự đoán hoặc gán nhãn(labeling) dữ liệu

- Trong học máy, một hệ thống máy tính được huấn luyện thông qua việc xem xét các dữ liệu đầu vào và tìm hiểu các mẫu, quy tắc hoặc cấu trúc ẩn trong dữ liệu đó Máy tính sử dụng thông tin đã học được để tự động dự đoán hoặc đưa

ra quyết định cho các dữ liệu mới mà nó chưa từng thấy trước đó

Trang 9

2.2 T i sao c n h c H c máy?ạ ầ ọ ọ

Học Máy đóng vai trò quan trọng trong việc giải quyết những thách thức phức tạp

và khám phá những tri thức ẩn sau dữ liệu lớn mà con người không thể xử lý một cáchhiệu quả bằng các phương pháp truyền thống Một trong những đặc điểm quan trọng củaHọc Máy là khả năng tự học và cải thiện theo thời gian mà không cần phải lập trình cụthể cho từng tác vụ

Học Máy đã và đang thay đổi cách chúng ta làm việc và tư duy về dữ liệu Trong lĩnh vực y tế, Học Máy có thể giúp dự đoán và chẩn đoán bệnh, tìm kiếm phác đồ điều trị tối ưu, và phát hiện sớm các nguy cơ sức khỏe Trong ngành công nghiệp, Học Máy hỗ trợ quá trình tự động hóa, tối ưu hóa chuỗi cung ứng, và dự báo nhu cầu thị trường Trongtài chính, nó giúp phân tích rủi ro, dự đoán xu hướng thị trường, và tối ưu hóa quyết định đầu tư

Học Máy còn đóng vai trò lớn trong các ứng dụng hàng ngày như trích xuất thông tin từ văn bản, nhận diện giọng nói, và thậm chí là trong xe tự lái Khả năng "học" từ dữ liệu và áp dụng kiến thức đã học để đưa ra dự đoán hoặc quyết định làm cho Học Máy trởthành một công cụ mạnh mẽ và linh hoạt

Các mô hình học máy được chia thành ba loại chính:

Như trong dự án, chúng em sử dụng phương pháp học có giảm sát Trong trường hợp của bài đồ án môn học dự đoán giá nhà, đầu vào (features) là các thuộc tính như độ tuổi trung bình nhà, số phòng ngủ,.v.v Đầu ra (Label): sẽ là giá nhà, vì giá nhà là biến cần được dự đoán

Học máy không giám sát:

Trang 10

Học không giám sát, còn được gọi là học máy không giám sát, sử dụng các thuật toán học máy để phân tích và phân cụm các tập dữ liệu không được gán nhãn Các thuật toán này phát hiện ra các mẫu hoặc nhóm dữ liệu ẩn mà không cần sự can thiệp của con người.

Khả năng phát hiện ra những điểm tương đồng và khác biệt trong dữ liệu của phương pháp này khiến nó trở nên lý tưởng cho việc phân tích dữ liệu khám phá, chiến lược bán chéo, phân tích phân khúc khách hàng,.v.v

Nó cũng được sử dụng để giảm số lượng các tính năng trong một mô hình thông qua quá trình giảm kích thước Phân tích thành phần chính (PCA-Principal component analysis) và phân tích giá trị đơn lẻ

Các thuật toán khác được sử dụng trong học tập không giám sát bao gồm phân cụm k-means và các phương pháp phân cụm theo xác suất

Học tập bán giám sát

Học tập bán giám sát là sự kết hợp giữa có giám sát và học không giám sát Trong quá trình đào tạo, nó sử dụng một tập dữ liệu có nhãn nhỏ hơn học có giám sát để hướng dẫn phân loại, trích xuất tính năng từ một tập dữ liệu lớn hơn, không được gắn nhãn Học bán giám sát có thể giải quyết vấn đề trong trường hợp không có đủ dữ liệu được gán nhãn cho thuật toán học có giám sát

2.4 Các ch c năng c a h c máy?ứ ủ ọ

Dưới đây là các chức năng chính của học máy:

- Dự đoán và phân loại:

o Dự đoán (Regression): Dự đoán một giá trị liên tục, ví dụ giá nhà dựa trên các thuộc tính nhất định

o Phân loại (Classification): Phân loại dữ liệu vào các lớp hoặc nhóm khác nhau, ví dụ như phân loại email là spam hay không spam

- Tự động hóa (Supervised Learning): Mô hình được huấn luyện trên tập dữ liệu

có đầu vào và đầu ra được gán nhãn để học cách ánh xạ từ đầu vào đến đầu ra

- Phân tích cụm (Clustering):

o Tìm ra các nhóm tự nhiên trong dữ liệu mà không cần thông tin nhãn trước

Trang 11

o Phân tích cụm giúp xác định sự tương đồng giữa các điểm dữ liệu và phân loại chúng vào các nhóm khác nhau.

- Ngoài ra còn nhiều chức năng khác nữa nhưng chúng em sẽ không nêu ra hết tất cả chúng, một vài như: Tối ưu hóa (Optimization), học tăng cường (Reinforcement Learning),.v.v

Các chưc năng ở trên đóng vai trò quan trọng, đại diện cho sự đa dạng và sức mạnh của học máy, giúp học máy trở thành một công cụ quan trọng trong nhiều lĩnh vực như khoa học dữ liệu, trí tuệ nhân tọa và phân tích dữ liệu

2.5 V y h c máy có nh ng ng d ng gì?ậ ọ ữ ứ ụ

Học máy (Machine Learning - ML) đã ngày càng trở thành một công nghệ quan trọng và

có ảnh hưởng sâu rộng đến nhiều lĩnh vực cuộc sống và doanh nghiệp Dưới đây là một

Tổ Chức Dữ Liệu và Phân Loại

Tự Động Hóa Sản Xuất và Quy Trình Sản Xuất

Dự Đoán Đối Tượng Khách Hàng và Tiếp Thị

Ô Tô Tự Lái và Giao Thông Thông Minh

PH N 3 Xây d ng và đánh giá mô hình d đoán

Trang 12

Nguồn dữ liệu: Kaggle https://www.kaggle.com/

Công cụ hỗ trợ tra cứu, tham khảo: ChatGPT

Ở bước đầu tiên của dự án, chúng em tiến hành tải dữ liệu California Housing

https://www.kaggle.com/datasets/camnugent/california-housing-prices Sau khi có dữliệu, tiến hành tải dữ liệu file csv lên trên Google Colab, một dịch vụ, công cụ giúp ngườidùng thực hiện viết và chia sẻ mã nguồn Python thông qua trình duyệt web

Kế tiếp, việc hiểu và biết cách sử dụng các thư viện của Python về hỗ trợ phân tích

dữ liệu cũng hết sức quan trọng Ở đây, em sẽ sử dụng một vài thư viện cơ bản hỗ trợ nhưpandas, sklearn, numpy, matplotlib, seaborn:

- Numpy: là một thư viện cơ bản cho tính toán số học và đại số tuyến tính, cungcấp các đối tượng mảng mạnh mẽ và các hàm thực hiện các phép toán lênchúng

- Pandas: là thư viện sử dụng rộng rãi để xử lý và phân tích dữ liệu có cấu trúc,

nó cung cấp các đối tượng như Dataframe và Series giúp chúng làm việc hiệuquả với dữ liệu bảng

- Matplotlib: là thư viện trực quan hóa dữ liệu cơ bản cho Python Nó cho phép

vẽ đồ thị, biểu đồ, và hình vẽ chất lượng cao

- Seaborn: là thư viện trực quan hóa dựa trên Matplotlib, được thiết kế để làmviệc cho việc vẽ đồ thị thống kê dễ dàng hơn

- Sklearn: là thư viện hỗ trợ trong quá trình phát triển các mô hình học máy, nócung cấp một loạt các công cụ và thuật toán cho nhiều tác vụ khác nhau, từphân loại và hồi quy tuyến tính đến clusterring,…

Với việc đọc dữ liệu từ 1 file csv, em khai báo thư viện pandas giúp việc đọc filedata như sau:

- Đọc dữ liệu từ file csv

Trang 23

Hình 9 Bản đồ địa lý Hoa Kỳ

Hình 10 Bang Califonia nằm ở phía Tây nước Mỹ

Trang 24

California nằm ở phía Tây của Hoa Kỳ, giáp biển Đại Tây Dương, phía bắc tiếpgiáp quận Oregon và phía nam tiếp giáp Mexico.

Visualize cách phân b dân s và giá nhà d c theo b n đ California:ổ ố ọ ả ồ

Ta sử dụng thư viện `matplotlib` và `pandas` để tạo ra một đồ thị phân tán (scatterplot) từ dữ liệu trong DataFrame (` `) Với trục x là longitude, y là latitude, với kíchdfthước của các điểm dựa trên chỉ số population / 100 và màu sắc của các điểm sẽ được đặttheo thuộc tính median_house_value

Hình 11 Biểu đồ phân tán phân bổ dân số và dân số dọc theo bản đồ California

Trang 25

Nhìn vào đồ thị phân tán ta và bản đồ bang California ở hình 9 và 10 trên, ta dễdàng thấy được, giá nhà có xu hướng tăng mạnh ở những khu vực gần và giáp biển ĐạiTây Dương Vì vậy chưa cần phân tích sâu xa, ta nhận xét được cột `ocean proximity`,

`latitude` và `longitude` có ảnh hưởng đến giá nhà

Vì là thuộc tính ảnh hưởng đến giá nhà, điều mà chúng ta đang muốn dự đoán.Tuy nhiên `ocen proximity` lại là categorical feature, chúng ta sẽ không thể training mô

hình dự đoán với dự liệu nào khác ngoài numberical data Vì vậy, việc Encode categorical values là rất quan trọng.

Trước khi encode categorical values về dạng số, ta hãy xem feature `oceanproximity` có những gì:

Hình 12 Biểu đồ tròn các giá trị categorical

Trang 26

Hình 13 Biểu đồ hình hộp phân phối của giá nhà dựa trên ocean proximity

Nhìn vào biểu đồ hình hộp, ta hiểu được giá nhà cao nhất là khoảng từ300.000 - 450.000 USA với ISLAND chiếm khoảng 60-75 % Giá nhà trung bìnhrơi vào khoảng từ 170.000 – dưới 300.000 USA Giá nhà ở đất liền `INLAND` làthấp nhất

Tiến hành encoding biến ocean proximity, sử dụng LabelEncoder củasklearn.processing:

Các biến có thuộc tính đã được gán giá trị từ 0 – 4 cho năm giá trị

Trang 27

Phân ph i giá tr trung bình:ố ị

Trang 28

3.3 Phân chia d li u hu n luy nữ ệ ấ ệ

3.3.1 Split data

Quá trình `split data` là quá trình phân dữ liệu làm hai hoặc nhiều phần phụ khácnhau, thường là để sử dụng phần sử dụng một phần để huấn luyện mô hình và phần cònlại để kiểm thử mô hình

Phân chia dữ liệu thành 2 phần:

- `X`: là tập dữ liệu chứa các đặc trưng (features) mà bạn muốn sử dụng để huấnluyện mô hình

- `y`: là tập dữ liệu chức các nhãn (labels) tương ứng, trong trường hợp này thì là

“median_house_value”

Sau đó, tách dữ liệu training ra thành 4 biến sau:

Ngày đăng: 15/05/2024, 18:46

HÌNH ẢNH LIÊN QUAN

Hình 9. Bản đồ địa lý Hoa Kỳ - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 9. Bản đồ địa lý Hoa Kỳ (Trang 23)
Hình 10. Bang Califonia nằm ở phía Tây nước Mỹ - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 10. Bang Califonia nằm ở phía Tây nước Mỹ (Trang 23)
Hình 11. Biểu đồ phân tán phân bổ dân số và dân số dọc theo bản đồ California - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 11. Biểu đồ phân tán phân bổ dân số và dân số dọc theo bản đồ California (Trang 24)
Hình 12. Biểu đồ tròn các giá trị categorical - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 12. Biểu đồ tròn các giá trị categorical (Trang 25)
Hình 13. Biểu đồ hình hộp phân phối của giá nhà dựa trên ocean proximity - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 13. Biểu đồ hình hộp phân phối của giá nhà dựa trên ocean proximity (Trang 26)
Hình 13. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực Linear Regression - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 13. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực Linear Regression (Trang 30)
Hình 14. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực Regression Tree - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 14. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực Regression Tree (Trang 33)
Hình 15. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực Regression Tree CV - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 15. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực Regression Tree CV (Trang 35)
Hình 16. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực RandomForest - báo cáo đồ án môn học đề tài canifornia housing prices prediction
Hình 16. Mô hình sự chênh lệch giữa giá trị dự đoán và giá trị thực RandomForest (Trang 38)

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

TÀI LIỆU LIÊN QUAN

w