Để phân tích và dự báo giá nhà sử dụng mô hình hồi quy tuyến tính, ta cần thu thập dữ liệu về các yếu tố liên quan đến giá nhà như diện tích, vị trí, tiện ích xung quanh, số phòng ngủ, s
TỔNG QUAN VỀ ĐỀ TÀI
Tổng Quan Về Phân Tích Dữ Liệu
1.1.1 Phân tích dữ liệu là gì
Phân tích dữ liệu là một môn học tập trung vào việc rút ra những hiểu biết sâu sắc từ dữ liệu
Phân tích dữ liệu là quá trình kiểm tra, làm sạch, chuyển đổi và mô hình hóa dữ liệu nhằm khám phá thông tin hữu ích, rút ra kết luận và hỗ trợ quyết định.
Phân tích dữ liệu là một phương pháp quan trọng được áp dụng trong nhiều lĩnh vực như khoa học dữ liệu, kinh doanh, tài chính, y tế, marketing và hành chính công Qua việc phân tích, người dùng có thể nhận diện xu hướng, mẫu số, tương quan và thông tin quan trọng, từ đó hỗ trợ cho việc ra quyết định và lập kế hoạch trong các hoạt động kinh doanh và nghiên cứu.
Các phương pháp và công cụ phân tích dữ liệu bao gồm thuật toán thống kê, khai phá dữ liệu, học máy, trực quan hóa dữ liệu, và mô hình hóa, nhằm tạo ra thông tin có ý nghĩa từ dữ liệu thu thập được.
1.1.2 Quy trình phân tích dữ liệu
Hình 1.1 Quy trình phân tích dữ liệu
Quy trình phân tích dữ liệu thường bao gồm các bước chính:
Xác định mục tiêu và thu thập dữ liệu:
Xác định mục tiêu là bước quan trọng trong việc xử lý và phân tích dữ liệu, giúp định hướng và xác định phạm vi của quá trình này Mục tiêu cụ thể cho phép chúng ta tập trung vào việc thu thập thông tin quan trọng và thực hiện các phân tích cần thiết để đáp ứng các yêu cầu hoặc nhu cầu cụ thể.
Thu thập dữ liệu là quá trình lấy thông tin từ nhiều nguồn khác nhau, bao gồm cơ sở dữ liệu, tệp tin, trang web và thiết bị cảm biến Dữ liệu có thể ở nhiều định dạng, như số liệu, văn bản, hình ảnh hoặc âm thanh.
Tiền xử lý dữ liệu là bước quan trọng trong phân tích dữ liệu, nhằm xử lý các vấn đề như nhiễu, dữ liệu thiếu hoặc không chính xác Quá trình này bao gồm tóm lược, làm sạch, tích hợp, chuyển đổi, rút gọn và rời rạc hóa dữ liệu, giúp chuẩn bị dữ liệu một cách hiệu quả cho các bước phân tích tiếp theo.
Phân tích dữ liệu là bước quan trọng giúp khám phá mối liên hệ và thông tin ẩn trong dữ liệu thông qua các kỹ thuật và kiến thức chuyên sâu Các phương pháp phân tích như phân tích mô tả, phân tích hồi quy, phân tích sự khác biệt, thống kê, machine learning, và data mining được áp dụng để tối ưu hóa quá trình này.
Dựa trên phân tích và thông tin từ dữ liệu, chúng ta có thể rút ra kết luận rõ ràng về tình hình hiện tại và đưa ra những dự đoán cho tương lai.
Tổng quan về bài toán dự báo
1.2.1 Lịch sử bài toán dự báo
Bài toán dự báo có một lịch sử lâu dài và đã trải qua nhiều giai đoạn phát triển Dưới đây là cái nhìn tổng quan về quá trình hình thành và tiến hóa của bài toán dự báo.
Trong thời kỳ tiền Công nghiệp, trước thế kỷ 18, con người chủ yếu dựa vào kinh nghiệm và tri thức truyền miệng để dự báo Các dự báo này thường được hình thành từ việc quan sát thiên văn học, thời tiết và các hiện tượng tự nhiên.
Trong thời kỳ Cách mạng Công nghiệp vào thế kỷ 18 và 19, việc sử dụng số liệu và thống kê để dự báo trở nên phổ biến Các ý tưởng về xác suất và phân phối đã được áp dụng rộng rãi trong công tác dự báo, đánh dấu bước tiến quan trọng trong lĩnh vực này.
Thế kỷ 20 chứng kiến sự bùng nổ của máy tính và kỹ thuật số hoá, mở ra nhiều cơ hội mới trong lĩnh vực dự báo Các phương pháp thống kê, mô hình toán học và kỹ thuật machine learning đã trở thành công cụ quan trọng, được áp dụng rộng rãi trong nhiều lĩnh vực để nâng cao độ chính xác của dự báo.
Thống kê Bayes và các kỹ thuật machine learning, bao gồm học máy, học sâu và học tăng cường, đã đóng vai trò quan trọng trong việc cải thiện khả năng dự báo bằng cách xử lý dữ liệu phức tạp và phát hiện các mẫu ẩn.
Trong thời đại số hóa hiện nay, việc dự báo trở nên ngày càng quan trọng và phức tạp do sự gia tăng khả năng tính toán, khối lượng dữ liệu khổng lồ và sự phát triển của trí tuệ nhân tạo Các công nghệ mới như phân tích dữ liệu lớn, học sâu và dự báo dựa trên mạng xã hội đang tạo ra nhiều cơ hội và thách thức trong lĩnh vực này.
Trong suốt quá trình phát triển, bài toán dự báo đã tiến hóa từ việc dự đoán dựa trên quan sát đơn giản sang việc áp dụng các phương pháp phức tạp nhằm xác định mối quan hệ và xu hướng từ dữ liệu Lịch sử hình thành này không chỉ thể hiện sự tiến bộ trong lĩnh vực dự báo mà còn nhấn mạnh tầm quan trọng của nó trong việc hỗ trợ quyết định và phát triển trong nhiều lĩnh vực khác nhau.
Bài toán dự báo là thách thức quan trọng trong phân tích dữ liệu, nhằm dự đoán giá trị biến mục tiêu trong tương lai dựa trên dữ liệu lịch sử và các yếu tố ảnh hưởng Mục tiêu chính là xây dựng mô hình có khả năng nhận diện và ứng dụng các mẫu, xu hướng, quy luật từ dữ liệu để thực hiện dự đoán chính xác và đáng tin cậy.
Trong thời đại số hóa hiện nay, dự báo đang đối mặt với nhiều thách thức và cơ hội mới Sự phát triển của phân tích dữ liệu lớn (big data analytics) cho phép thu thập và xử lý lượng lớn dữ liệu từ nhiều nguồn khác nhau, tạo ra cơ hội để phát hiện các mẫu và thông tin quan trọng Dự báo dựa trên mạng xã hội là một lĩnh vực mới nổi, trong đó dữ liệu từ các nền tảng mạng xã hội được sử dụng để dự đoán hành vi, xu hướng và tương tác của người dùng.
Bài toán dự báo đã trải qua một quá trình phát triển đáng kể, từ những dự đoán đơn giản dựa trên kinh nghiệm và quan sát đến việc áp dụng các phương pháp và công nghệ phức tạp Sự tiến bộ này không chỉ nâng cao khả năng hỗ trợ quyết định mà còn đóng vai trò quan trọng trong sự phát triển của nhiều lĩnh vực khác nhau Việc sử dụng dữ liệu lịch sử để phân tích và dự đoán đã trở thành một yếu tố then chốt trong việc cải thiện hiệu quả và độ chính xác của các quyết định.
1.2.2 Tình hình phát triển của bài toán dự báo ở Việt Nam
Dự báo đóng vai trò quan trọng tại Việt Nam, giúp nâng cao hiệu quả quản lý, định hướng chiến lược và tối ưu hóa nguồn lực trong nhiều lĩnh vực khác nhau.
Có một số điểm đáng chú ý về tình hình phân tích dữ liệu tại Việt Nam:
Phát triển dự báo tại Việt Nam hiện đang ở giai đoạn đầu, với nhiều lĩnh vực vẫn đang trong quá trình khám phá và thử nghiệm các phương pháp phân tích dữ liệu và dự báo mới.
Tại Việt Nam, ứng dụng công nghệ tiên tiến trong nông nghiệp và kinh tế đang ngày càng trở nên quan trọng Công nghệ này giúp dự đoán thời tiết, mùa màng và nhu cầu năng lượng, từ đó tối ưu hóa sản xuất nông nghiệp Đồng thời, nó cũng hỗ trợ trong việc dự báo tăng trưởng GDP, lạm phát và tỷ giá, góp phần vào sự phát triển bền vững của nền kinh tế.
Một trong những thách thức lớn trong việc dự báo tại Việt Nam là khả năng thu thập và quản lý dữ liệu chất lượng Dữ liệu thường không đầy đủ, dẫn đến những vấn đề về tính nhất quán và độ tin cậy, ảnh hưởng đến kết quả dự báo.
Dưới đây là một cái nhìn tổng quan về phát triển của bài toán dự báo ở Việt Nam:
1 Thời kỳ tiền Công nghiệp và Cách mạng Công nghiệp: Trước thế kỷ 18 và trong giai đoạn Cách mạng Công nghiệp, dự báo ở Việt Nam cũng dựa trên các quan sát và tri thức truyền đạt qua thế hệ, tương tự như các nước khác Những thông tin về thời tiết, thiên văn học và các hiện tượng tự nhiên được sử dụng để dự báo
CÁC PHƯƠNG PHÁP KỸ THUẬT
Phương pháp phân tích mô tả
Phân tích mô tả là phương pháp thống kê giúp tóm tắt và làm rõ các đặc điểm chính của tập dữ liệu một cách dễ hiểu Mục tiêu chính của nó là nâng cao hiểu biết về dữ liệu, nhận diện các đặc trưng quan trọng, và cung cấp cái nhìn tổng quan về phân phối và biến đổi của dữ liệu.
Phân tích mô tả thường bao gồm các khía cạnh sau:
Thống kê tóm tắt cung cấp các số liệu cơ bản như trung bình, trung vị, độ lệch chuẩn và phân vị, giúp chúng ta nắm bắt được trung tâm và mức độ phân tán của dữ liệu.
Biểu đồ là công cụ hiệu quả để trực quan hóa dữ liệu, giúp người dùng dễ dàng nhận biết sự phân bố và xu hướng của thông tin Các loại biểu đồ phổ biến như biểu đồ cột, biểu đồ đường, biểu đồ hình tròn và biểu đồ hộp đều mang lại cái nhìn rõ ràng về dữ liệu.
Phân tích phân phối dữ liệu giúp hiểu rõ tỷ lệ xuất hiện của các giá trị khác nhau trong tập dữ liệu Việc này có thể thực hiện thông qua việc tạo biểu đồ phân phối tần số hoặc xây dựng biểu đồ kernel density.
Kiểm tra sự tương quan là một phần quan trọng trong phân tích mô tả, giúp xác định mối liên hệ giữa các biến Việc này có thể được thực hiện thông qua biểu đồ tương quan hoặc bằng cách tính toán hệ số tương quan Pearson.
Phân tích mô tả là công cụ hữu ích để xác định các điểm ngoại lệ trong dữ liệu, tức là những giá trị nổi bật và khác biệt đáng kể so với phần còn lại.
Phân tích mô tả kết thúc bằng việc tổng kết và nhận xét về các đặc điểm quan trọng của dữ liệu, từ đó làm nổi bật những mẫu thú vị cùng với các điểm mạnh và điểm yếu của tập dữ liệu.
Phân tích mô tả cung cấp cái nhìn sâu sắc về tập dữ liệu ban đầu, tạo nền tảng vững chắc cho các phân tích tiếp theo như dự báo, phân tích hồi quy và machine learning.
2.1.2 Phương pháp phân tích trên từng biến
Khi phân tích một biến, mục tiêu chính là hiểu rõ các đặc điểm cơ bản của nó, bao gồm việc xác định và xử lý các giá trị ngoại lai Các giá trị ngoại lai là những dữ liệu khác biệt rõ rệt so với phần lớn các giá trị khác trong tập dữ liệu, có thể xuất hiện do lỗi nhập liệu, lỗi đo lường, hoặc do các sự kiện hiếm gặp.
Việc xác định các Outliers là rất quan trọng, đóng vai trò kết nối giữa phân tích mô tả và phân tích hồi quy Qua đó, chúng ta có thể làm sạch những giá trị này trong giai đoạn tiền xử lý dữ liệu cho phân tích hồi quy Cụ thể, cách phân tích sẽ khác nhau tùy theo từng loại dữ liệu.
- Biểu đồ Histogram: Biểu đồ hiển thị tần suất xuất hiện của các khoảng giá trị dữ liệu
Các đại lượng thống kê như trung bình (mean), độ lệch chuẩn (stdev), trung vị (median) và phân vị (quartile) là những chỉ số quan trọng giúp mô tả đặc điểm của dữ liệu Những giá trị này cung cấp cái nhìn sâu sắc về trung bình, phương sai và phân phối của tập dữ liệu, từ đó hỗ trợ phân tích và ra quyết định hiệu quả.
- Biểu đồ Box & Whisker (Boxplot): Biểu đồ hiển thị tổng quan giá trị đó bao gồm các giá trị đại lượng thống kê đã tính được
- Bảng tần suất (Frequency table): Biểu đồ liệt kê các giá trị khác nhau của biến và số lần xuất hiện của mỗi giá trị
- Biểu đồ cột (Bar chart): Biểu đồ thể hiện tần suất của từng giá trị dữ liệu dưới dạng các cột đứng
- Biểu đồ hình tròn hoặc donut (Pie chart, Donut chart): Biểu đồ thể hiện phần trăm tần suất của từng giá trị trong tổng số
2.1.3 Phương pháp phân tích trên nhiều biến
Phân tích đa biến giúp hiểu rõ mối quan hệ và tương tác giữa các biến trong tập dữ liệu, từ đó phát hiện các mẫu, xu hướng và tương quan tiềm ẩn giữa chúng.
Các mối liên hệ giữa các biến có thể xuất hiện dưới nhiều hình thức như mối tương quan tuyến tính, tương quan không tuyến tính và tương quan ngược Mỗi loại mối liên hệ này cho phép chúng ta phân tích cách các biến tương tác và ảnh hưởng lẫn nhau.
Phân tích trên nhiều biến có mối liên hệ chặt chẽ với phân tích hồi quy, giúp xác định các giá trị ngoại lai trong dữ liệu Do tính chất đa dạng của phân tích, có ba kiểu dữ liệu khác nhau: dữ liệu số, dữ liệu phi số và dữ liệu hỗn hợp (bao gồm cả số và phi số).
Biểu đồ Scatter (Biểu đồ phân tán) là công cụ trực quan hóa thể hiện mối quan hệ giữa hai biến số Mỗi điểm trên biểu đồ đại diện cho một cặp giá trị của hai biến, với trục ngang và trục dọc tương ứng.
22 dọc Biểu đồ này dùng để tìm kiếm sự tương quan giữa 2 biến số như tương quan tuyến tính hoặc không tuyến tính
+ Bảng dữ liệu thống kê (Statistical Summary Table): Tạo bảng để liệt kê các đại lượng thống kê (mean, median, stdev…) giữa các biến số của dữ liệu
Phương pháp phân tích hồi quy
2.2.1 Tổng quan về phân tích hồi quy
Phân tích hồi quy là một phương pháp thống kê quan trọng giúp ước tính mối quan hệ giữa biến phụ thuộc và các biến độc lập Các kỹ thuật này cho phép nhà nghiên cứu hiểu rõ hơn về cách mà các yếu tố khác nhau ảnh hưởng đến biến mục tiêu, từ đó đưa ra những dự đoán chính xác hơn trong các nghiên cứu và ứng dụng thực tiễn.
Nó có thể đánh giá sức mạnh mối quan hệ giữa các biến và mô hình hóa mối quan hệ tương lai của chúng.
Phân tích hồi quy là phương pháp toán học dùng để xác định các biến có ảnh hưởng thực sự đến kết quả Nó giúp xác định yếu tố nào là quan trọng nhất, yếu tố nào có thể bỏ qua và cách thức tương tác giữa các yếu tố này.
Và quan trọng nhất, chúng ta chắc chắn như thế nào về tất cả những yếu tố này?
Trong phân tích hồi quy, việc xác định biến phụ thuộc là rất quan trọng, vì đây là yếu tố chính mà chúng ta muốn hiểu hoặc dự đoán Phân tích hồi quy có thể bao gồm nhiều loại mô hình, trong đó mô hình tuyến tính và nhiều tuyến tính là phổ biến nhất Đối với các tập dữ liệu phức tạp hơn, phân tích hồi quy phi tuyến thường được áp dụng, khi mà các biến phụ thuộc và độc lập có mối quan hệ phi tuyến.
2.2.2 Các phương pháp phân tích hồi quy Để phân tích hồi quy có rất nhiều phương pháp để phân tích Dưới đây sẽ là một số phương pháp quan trọng dùng để phân tích hồi quy:
Hồi quy tuyến tính là phương pháp dự đoán giá trị mục tiêu dựa trên biến độc lập bằng cách xác định đường thẳng "tốt nhất" đi qua dữ liệu Phương pháp này thích hợp cho dữ liệu có mối quan hệ tuyến tính, nhưng có thể gặp khó khăn với dữ liệu phi tuyến và dễ bị ảnh hưởng bởi nhiễu.
Hồi quy Ridge (Ridge Regression) là một phiên bản nâng cao của hồi quy tuyến tính, trong đó hệ số điều chuẩn l2 được thêm vào hàm mất mát nhằm kiểm soát độ phức tạp của mô hình và ngăn chặn tình trạng quá khớp (overfitting) Phương pháp này không chỉ giảm thiểu overfitting mà còn hiệu quả trong việc xử lý vấn đề đa cộng tuyến Tuy nhiên, việc lựa chọn tham số điều chuẩn một cách chính xác là điều cần thiết để đạt được hiệu quả tối ưu.
Hồi quy Lasso (Lasso Regression) là một phương pháp cải tiến từ hồi quy tuyến tính, sử dụng hệ số điều chuẩn l1 thay vì l2, giúp đẩy một số hệ số về 0 Kỹ thuật này không chỉ tự động chọn biến mà còn giảm thiểu ảnh hưởng của các biến không quan trọng Tuy nhiên, để đạt hiệu quả tối ưu, Lasso yêu cầu xác định tham số điều chuẩn một cách chính xác.
Phương pháp phân tích hồi quy tuyến tính (Linear Regression) kết hợp tính đơn giản và khả năng ước lượng mối quan hệ tuyến tính, giúp dự báo và phân tích định lượng hiệu quả Phương pháp này hỗ trợ trong việc đạt được mục tiêu nghiên cứu và trả lời các câu hỏi quan trọng, vì vậy chúng tôi đã chọn hồi quy tuyến tính để giải quyết đề bài.
Công cụ phục vụ thực hiện bài toán
Python là một ngôn ngữ lập trình rất phổ biến, được sử dụng rộng rãi trong việc xây dựng trang web, phần mềm, tự động hóa tác vụ và phân tích dữ liệu Trong bối cảnh phát triển của khoa học dữ liệu, Python ngày càng trở nên quan trọng trong ngành phân tích dữ liệu (Data Analyst) Ngôn ngữ này hỗ trợ nhiều thư viện đa dạng cho các lĩnh vực như khai thác dữ liệu (Scrapy, BeautifulSoup4), xử lý và mô hình hóa dữ liệu (Pandas, Scikit-learn), cũng như trực quan hóa dữ liệu.
Hình 2.1 Ngôn ngữ lập trình Python
Matplotlib và Plotly là những thư viện tuyệt vời cho việc phân tích dữ liệu trong Python Mặc dù Python có nhiều ưu điểm như cộng đồng lập trình đông đảo, nhưng vẫn tồn tại một số nhược điểm, bao gồm tốc độ xử lý hạn chế, mức tiêu thụ bộ nhớ cao và thiếu hỗ trợ cho môi trường di động.
Ngôn ngữ R là một công cụ lập trình và môi trường tính toán thống kê phổ biến trong phân tích dữ liệu, cung cấp nền tảng mạnh mẽ cho các phân tích thống kê, xử lý dữ liệu và tạo biểu đồ Với cộng đồng mã nguồn mở lớn, người dùng có thể dễ dàng chia sẻ mã nguồn, gói phân tích và kiến thức R thuận tiện cho phân tích dữ liệu nhờ vào các thư viện phong phú và khả năng tích hợp tốt với môi trường nghiên cứu khoa học Tuy nhiên, R cũng có một số nhược điểm như độ phức tạp khi người mới bắt đầu học, khả năng xử lý dữ liệu lớn kém hơn so với một số ngôn ngữ khác, và hiệu suất không ổn định.
Hình 2.2 Ngôn ngữ lập trình R
Python và R là hai ngôn ngữ phổ biến trong phân tích dữ liệu và thống kê, và việc lựa chọn giữa chúng phụ thuộc vào mục tiêu, kinh nghiệm cá nhân, loại dữ liệu, và các thư viện hỗ trợ cần thiết Bảng so sánh dưới đây sẽ giúp bạn đưa ra quyết định phù hợp cho bài toán của mình.
Python là một ngôn ngữ lập trình đa năng, không chỉ dành riêng cho phân tích dữ liệu mà còn được ứng dụng rộng rãi trong phát triển ứng dụng, xây dựng website, tự động hóa và học máy.
Thư viện phong phú: Có nhiều thư viện mạnh mẽ giúp thực hiện các tác vụ phân tích và xử lý dữ liệu một cách hiệu quả
Cộng đồng lớn: python có cộng đồng lớn giúp việc chia sẻ, học hỏi dễ dàng hơn
R là một ngôn ngữ lập trình mạnh mẽ, được tối ưu hóa cho thống kê và phân tích dữ liệu Với các gói như dplyr, ggplot2, tidyr, và lubridate, R hỗ trợ người dùng thực hiện các tác vụ phân tích một cách chi tiết và hiệu quả.
Biểu đồ phức tạp: Gói ggplot2 trong R cho phép tạo ra biểu đồ phức tạp và tùy chỉnh một cách dễ dàng
Mặc dù Python sở hữu nhiều thư viện thống kê mạnh mẽ, R vẫn được ưa chuộng hơn trong các nghiên cứu thống kê và phân tích dữ liệu chuyên sâu.
Thiếu phổ biến: R có tính chuyên môn hơn so với Python
Sử dụng bộ nhớ: R có xu hướng sử dụng nhiều bộ nhớ hơn so với Python
Quản lý mã nguồn trong R gặp khó khăn hơn so với Python do hạn chế trong việc sử dụng mã nguồn mở và phân chia mã Khi dự án phát triển, việc quản lý và tái sử dụng mã có thể trở nên phức tạp hơn.
Bảng 2.1 So sánh ưu nhược điểm để lựa chọn công cụ
Sau khi phân tích ưu và nhược điểm của hai ngôn ngữ lập trình, chúng tôi đã quyết định chọn Python nhờ vào tính đa năng, cộng đồng người dùng rộng lớn và sự phong phú của các thư viện hỗ trợ.
THỰC NGHIỆM VÀ ĐÁNH GIÁ
Dữ liệu thực nghiệm
Trong project này, bộ dữ liệu được phân tích ở đây là file dataset (.csv) có tên là housing.csv chứa 20640 dòng thông tin về giá nhà California
Cụ thể thông tin như sau:
- Tên bộ dữ liệu: California Housing Prices
- Nguồn: https://www.kaggle.com/datasets/camnugent/california-housing- prices/data
Dữ liệu 15 dòng đầu của dataset:
Hình 3.1 15 dòng đầu của bộ dữ liệu gốc
Dataset này bao gồm các cột thông tin quan trọng như: kinh độ (longitude) và vĩ độ (latitude) của vị trí địa lý, tuổi trung bình của nhà ở trong khu vực (housing_median_age), tổng số phòng (total_rooms) và tổng số phòng ngủ (total_bedrooms) trong khu vực nhà ở.
Dân số trong khu vực nhà ở là một yếu tố quan trọng, cùng với số hộ gia đình trong khu vực đó Thu nhập trung bình của các hộ gia đình cũng đóng vai trò quan trọng trong việc đánh giá mức sống Giá trị trung bình của các ngôi nhà trong khu vực có thể là biến mục tiêu cần dự đoán, trong khi khoảng cách đến đại dương có thể là một biến phân loại cho biết sự gần gũi với đại dương hay không.
Môi trường thực nghiệm
Cấu hình máy: Chip Intel(R) Core i5, Ram 8GB, 32-bit
Công cụ hỗ trợ: thuật toán được chạy trên Python 3.11, cmd trên Windows
Tập dữ liệu sử dụng để thực nghiệm: gồm 10329 thông tin về dữ liệu của các bộ phim và 105340 dữ liệu thông tin về xếp hạng các bộ phim
Các phương pháp tham gia thực nghiệm: phương pháp KNN
Quy Trình thực nghiệm
Hình 3.2 Quy trình thực nghiệm đề tài phân tích dữ liệu
Phân tích mô tả là một công cụ quan trọng giúp thể hiện mối quan hệ giữa các giá trị của dữ liệu, từ đó đánh giá tương quan trong ngành Khoa học dữ liệu Bằng cách sử dụng các phương pháp thống kê và trực quan hóa, chúng ta có thể hiểu rõ hơn về các yếu tố ảnh hưởng đến dữ liệu và tìm ra những mẫu hình tiềm ẩn Điều này không chỉ hỗ trợ trong việc ra quyết định mà còn nâng cao khả năng dự đoán và tối ưu hóa quy trình làm việc trong lĩnh vực này.
- Phân tích hồi quy để dự báo giá nhà dựa theo mô hình hồi quytuyến tính
3.3.2 Tiền xử lý dữ liệu
Tóm lược dữ liệu trong phân tích dữ liệu là quá trình tổng hợp và trình bày thông tin quan trọng từ tập dữ liệu gốc, giúp người đọc nắm bắt những điểm chính mà không cần xem toàn bộ dữ liệu Quá trình này bao gồm hai loại đo: đo mức độ tập trung dữ liệu như trung bình, trung vị, và mô; và đo mức độ phân tán dữ liệu như tứ phân, khoảng tứ phân và độ lệch chuẩn.
Chúng tôi sẽ tổng hợp thông tin về độ tập trung và phân tán của dữ liệu, chỉ áp dụng cho các cột thông số như longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income và median_house_value Dưới đây là kết quả tóm tắt bao gồm các thuộc tính như count, mean, std, min, 25%, 50%, 75%, max, mode và median của các dữ liệu trên.
Hình 3.3 Thông tin tóm lược dữ liệu của cột dữ liệu dạng số
Làm sạch dữ liệu là quá trình loại bỏ sai sót, lỗi và thông tin không chính xác trong tập dữ liệu để đảm bảo tính đáng tin cậy và phù hợp cho phân tích Đây là bước quan trọng trong tiền xử lý dữ liệu trước khi thực hiện phân tích mô tả và phân tích hồi quy.
Một số tác vụ chính trong quá trình làm sạch dữ liệu bao gồm:
- Loại bỏ dữ liệu trùng lặp: Loại bỏ các bản ghi bị trùng lặp trong tập dữ liệu để tránh ảnh hưởng đến kết quả phân tích
- Xử lý dữ liệu thiếu: Điền vào các giá trị thiếu hoặc quyết định loại bỏ chúng dựa trên ngữ cảnh và mục tiêu của phân tích
- Sửa lỗi và sai sót: Điều tra và sửa các lỗi cú pháp, sai sót chính tả hoặc sai sót logic trong dữ liệu
- Chọn lọc đặc trưng: Xác định và lựa chọn các đặc trưng quan trọng nhất để sử dụng trong phân tích hoặc mô hình hóa
Ta sẽ kiểm tra dữ liệu bị thiếu
Hình 3.4 Kiểm tra dữ liệu bị khuyết
Hình 3.5 Xử lý dữ liệu bị khuyết
Ta sẽ điền khuyết bằng mode (tức số lần xuất hiện nhiều nhất)
Chuyển đổi dữ liệu trong phân tích dữ liệu là quá trình thay đổi cách thức biểu diễn và xử lý dữ liệu ban đầu để tạo ra dữ liệu mới có ý nghĩa hơn Quá trình này đóng vai trò quan trọng trong việc cải thiện khả năng trực quan hóa dataset, từ đó giúp việc phân tích dữ liệu trở nên thuận tiện và hiệu quả hơn.
Trong project này, ta thấy có cột duy nhất đang ở dạng Object, tức phi số, vì vậy, ta sẽ chuyển hóa cột dữ liệu này bằng dummy
Hình 3.6 Kiểm tra dữ liệu dạng phi số
Phân tích mô tả trong phân tích dữ liệu là quá trình tóm tắt và hiểu rõ các đặc điểm, mẫu thái và thông tin quan trọng của tập dữ liệu Mục tiêu của phân tích này là thực hiện phân tích đơn biến (trên từng biến) và phân tích đa biến (trên nhiều biến) thông qua việc sử dụng các biểu đồ khác nhau để trực quan hóa dữ liệu.
Hình 3.7 Thực hiện chuyển đổi dữ liệu bằng dummy
+ Biểu đồ cột thể hiện giá nhà
Hình 3.8 Biểu đồ cột thể hiện giá nhà
Dựa trên cột dữ liệu ‘median_house_value’, ta thấy sự phân phối của giá nhà sẽ chủ yếu nằm trong khoảng từ 100k đến 200k và tăng mạnh ở 500k
Biểu đồ box chart giữa các thuộc tính và giá nhà
Hình 3.9 Hình biểu đồ box chart giá nhà
Dựa theo sự phân phối trên, ta thấy các cột có mỗi quan hệ rất yếu so với cột median_house_value
Biểu đồ Scatter kết hợp đường chân chính
Ta thấy sự phân bổ của các tập dữ liệu không có sự tuyến tính so với cột median_house_value
Biểu đồ heatmap thể hiện sự tương quan giữa từng features so với cột median_house_value
Ta có thể thấy, sự tương quan giữa các features so với cột median_house_value không được mạnh
Dự án hiện tại nhằm dự báo giá trị nhà trung bình thông qua mô hình hồi quy tuyến tính, với biến mục tiêu được xác định là ‘median_house_value’ trong bộ dữ liệu.
Do mối quan hệ giữa các biến độc lập và biến phụ thuộc không khả quan, việc thực hiện 'chọn lọc đặc trưng' là cần thiết để xác định sự phụ thuộc tối ưu cho bài toán này.
Hình 3.12 Mô tả chọn lọc đặc trưng
Chúng ta sẽ sử dụng hàm SelectKBest để lựa chọn các đặc trưng tốt nhất dựa trên giá trị K Sau đó, tên của các đặc trưng này sẽ được lấy thông qua hàm 'get_support' Khi đã có các đặc trưng, chúng ta sẽ gán chúng vào biến X, trong khi biến y sẽ đại diện cho cột median_house_value.
Ta tiến hành chia dữ liệu và sau đó chuẩn hóa dữ liệu của X
Tiếp đó, ta huấn luyện bằng mô hình ‘Hồi quy tuyến tính’ được thể hiện thông qua LinearRegression()
Cuối cùng, ta đánh giá mô hình dựa trên kết quả của hàm rate
Hình 3.13 Hàm đánh giá mô hình
Hàm rate cung cấp hai chỉ số quan trọng là MSE (Mean Square Error) và R2_score, được tính toán trên cả dữ liệu huấn luyện (train) và dữ liệu thẩm định (test).
Sau đây là kết quả:
Index(['median_income'], dtype='object')
-Kết quả trên dữ liệu huấn luyện -
Index(['median_income', 'INLAND'], dtype='object')
-Kết quả trên dữ liệu huấn luyện -
Index(['median_income', '