TÌM HIỂU VỀ MACHINE LEARNING VÀỨNG DỤNG VÀO VIỆC DỰ ĐOÁN GIÁ NHÀ (Báo cáo đồ án 2 )

136 48 0
TÌM HIỂU VỀ MACHINE LEARNING VÀỨNG DỤNG VÀO VIỆC DỰ ĐOÁN GIÁ NHÀ (Báo cáo đồ án 2 )

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: “TÌM HIỂU VỀ MACHINE LEARNING VÀ ỨNG DỤNG VÀO VIỆC DỰ ĐOÁN GIÁ NHÀ” Sinh viên thực hiện: Nguyễn Chí Thành 18520360 Giảng viên hướng dẫn: Nguyễn Thị Thanh Trúc Tp Hồ Chí Minh, Tháng năm 2022 Nhận xét giảng viên: Phụ lục: Chương Giới thiệu đề tài 1.1 Bối cảnh 1.2 Mục đích 1.3 Ý nghĩa 1.4 Nhiệm vụ 1 2 Chương Cơ sở lý thuyết 2.1 Các thuật toán Hồi quy 2.1.1 Hồi quy đơn thức a Thuật toán b Ứng dụng 2.1.2 Hồi quy đa biến: a Thuật toán b Ứng dụng 2.1.3 Hồi quy đa thức: a Thuật toán b Ứng dụng 2.1.4 Support Vector Regression: a Thuật toán b Ứng dụng 2.2 Các thuật toán Phân loại: 2.2.1 Logistic Regression: a Thuật toán b Ứng dụng: 2.2.2 Decision Tree: a Thuật toán: b Ứng dụng: 2.3 Thuật toán phân cụm: 2.3.1 K-Mean Clustering: a Thuật tốn: b.Ứng dụng: Chương Tìm hiểu toán phổ biển 3.1 Recommend System – Hệ thống gợi ý 3.1.1 Sơ lược hệ thống gợi ý 3.1.2 Các thành phần hệ gợi ý 3.1.3 Phân loại hệ thống gợi ý 3.1.4 Xây dựng hệ thống gợi ý 3 11 17 17 17 21 21 23 25 25 29 34 34 34 45 49 49 78 80 80 80 89 92 92 92 93 94 95 3.2 Phân loại bình luận tích cực, tiêu cực 3.2.1 Sơ lược 3.2.2 Xây dựng tính 102 102 103 Chương Ứng dụng thuật toán tìm hiểu vào dự đốn giá nhà 4.1 Thu thập liệu: 4.2 Tiền xử lý liệu: 4.3 Huấn luyện model: 4.4 Kết thử nghiệm: 106 106 109 123 127 Chương Tổng kết 5.1 Kết đạt đạt được: 5.2 Hướng phát triển: 129 129 129 Danh mục tham khảo 130 Chương Giới thiệu đề tài 1.1 Bối cảnh Số tiền dành cho mua nhà khơng nhỏ, việc người mua quan tâm không việc lựa chọn nhà ưng ý mà cịn xem giá có hợp lý hay không Việc đánh giá giá trị bất động sản việc dễ dàng Để đánh giá xác giá nhà, người ta khơng địi hỏi hiểu biết chun môn thị trường bất động sản (một thị trường biến động) mà đòi hỏi hiểu biết thật tường tận thân thuộc tính bất động sản Những kiến thức thường lưu trữ đại lý kinh doanh bất động sản Nếu nắm bắt kiến thức cách thu thập liệu, sử dụng liệu mở, tận dụng giúp sức thuật tốn, chương trình máy tính, kiến thức trở nên dễ tiếp cận với người dân bình thường, giúp đưa định mà khơng cần dựa vào chun gia khơng may vị chuyên gia tư vấn theo chiều hướng có lợi cho họ Ước lượng giá bất động sản vấn đề quan trọng quy hoạch thành phố lớn Việt Nam Hiện nay, Việt nam chủ yếu ước lượng giá bất động sản dựa phương pháp truyền thống phương pháp so sánh trực tiếp, chiết trừ, thu nhập, thặng dư, hệ số điều chỉnh Các phương pháp chủ yếu nhờ phân tích can thiệp nhân viên định giá nên khó tránh khỏi sai lầm chủ quan không minh bạch Ngoài phương pháp truyền thống, giới nghiên cứu áp dụng rộng rãi phương pháp có sử dụng đến mơ hình tốn học để xác định giá trị bất động sản Với kinh tế giàu tiềm phát triển nước, Tp.HCM xem thị trường động lĩnh vực bất động sản, thu hút ý đầu tư nhiều doanh nghiệp nước đánh giá cao khu vực Tiềm quận trung tâm thành phố, trở thành vị trí vàng cho đầu tư bất động sản Đối với khu vực thành phố, dân cư đông đúc, việc sống hộ, chung cư trở nên khơng cịn xa lạ với chúng ta, trở thành loại hình đầu tư phổ biến bậc Chính vậy, đối tượng mà nhóm hướng tới nghiên cứu mơ hình học máy nhằm giúp người mua dự đốn tương đối xác giá trị các bất động sản loại chung cư hộ 1.2 Mục đích Đề tài thực nhằm hai mục đích: ● Tìm hiểu Machine Learning thuật toán sử dụng Machine Learning ● Tìm hiểu thị trường bất động sản, cách hoạt động dự đốn giá bất động sản 1.3 Ý nghĩa Trước hết, đề tài TÌM HIỂU VỀ MACHINE LEARNING VÀ ỨNG DỤNG VÀO DỰ ĐOÁN GIÁ NHÀ đề tài thể việc áp dụng kiến thức thầy cô trường Đại học Công nghệ Thông tin nhiệt tình truyền thụ lại cho chúng em Và đặc biệt theo dõi quan tâm giúp đỡ cô Nguyễn Thị Thanh Trúc suốt thời gian nhóm chúng em thực đề tài Thứ hai, kinh nghiệm mà nhóm có q trình thực đề tài hành trang giúp ích nhiều cho công việc sau thành viên nhóm 1.4 Nhiệm vụ ● Tìm hiểu thuật toán machine learning ● Huấn luyện module nhằm giúp người dùng dự đốn cách tương đối giá bất động sản dựa thuộc tính Chương Cơ sở lý thuyết 2.1 Các thuật toán Hồi quy 2.1.1 Hồi quy đơn thức a Thuật toán Là thuật toán đầu Machine Learning, thuộc nhóm Supervised learning ( Học có giám sát ) Hồi quy tuyến tính đơn thức mơ hình hồi quy gồm hai biến biến độc lập biến phụ thuộc, liên quan đến điểm mẫu không gian hai chiều cho từ biến độc lập ta tìm biến phụ thuộc tương ứng nhờ vào hàm tuyến tính (một đường thẳng), xác có thể, dự đoán giá trị dựa hàm tuyến tính để tìm kết Hàm dự đốn liên quan đến yếu tố dự đốn Mơ hình hồi quy mơ tả mối quan hệ biến cách vẽ đường thẳng đường thẳng để khít với quan sát với liệu quan sát Các mơ hình hồi quy tuyến tính sử dụng đường thẳng, mơ hình hồi quy logistic phi tuyến tính sử dụng đường cong Hồi quy cho phép ước tính cách biến phụ thuộc thay đổi (các) biến độc lập thay đổi Hồi quy đơn thức biến nghĩa ta tìm đường thẳng(cơng thức) để fit với tập liệu có Hồi quy tuyến tính đơn biến sử dụng để ước tính mối quan hệ hai biến định lượng Sử dụng hồi quy tuyến tính đơn biến bạn muốn biết: -Mối quan hệ chặt chẽ hai biến số (ví dụ mối quan hệ lượng mưa xói mịn đất) -Giá trị biến phụ thuộc giá trị định biến độc lập (ví dụ: lượng đất xói mịn mức độ mưa định) Ví dụ: Một nhà nghiên cứu xã hội quan tâm đến mối quan hệ thu nhập hạnh phúc(thu nhập độ hạnh phúc nào) Họ khảo sát 500 người có thu nhập từ 15 nghìn USD/năm đến 75 nghìn USD/năm yêu cầu họ xếp hạng mức độ hạnh phúc họ thang điểm từ đến 10 Biến độc lập (thu nhập) biến phụ thuộc (hạnh phúc) bạn định lượng(biến độc lập thu nhập quy định biến phụ thuộc hạnh phúc), ta thực phân tích hồi quy để xem mối quan hệ tuyến tính chúng Nếu có nhiều biến độc lập, sử dụng hồi quy tuyến tính đa biến để thay thay hồi quy tuyến tính đơn biển Đi tìm mơ hình hồi quy tuyến tính đơn biến tìm mơ hình có dạng theo cơng thức: Trong đó: Y biến phụ thuộc X1 biến độc lập B0 : số B1 : hệ số Chẳng hạn lương phụ thuộc vào số kinh nghiệm Khi ta làm việc lâu, lương tăng lên kinh nghiệm nâng lên Chiếu từ số năm kinh nghiệm lên điểm liệu từ điểm liệu chiều qua trục tung ta thấy số lương tương ứng Vậy mối quan hệ biểu thức đâu y đâu x Ở ta thấy cột bathrooms có dịng liệu null Có cách để ta xử lý Một xóa ln dịng null có hàng nên việc xóa liệu không ảnh hưởng đến tập liệu Hai thay giá trị null giá trị trung bình Ở em chọn cách xóa dịng có giá trị null Sau xóa xong ta kiểm tra lại, số giá trị null cột bathroom 0, ta xử lý cột bathroom Ta thấy trường floors( tầng thứ bao nhiêu) trích rút liệu có nhiều giá trị null( trống) để xử lý trường này? Tương tự trường bathroom ta có hai cách để xử lý trường floors 117 Về mặt lý thuyết, ta xóa dịng giá trị null đi, có q nhiều dịng nên xóa ảnh hướng đển tập liệu Ở ta thấy có đến 4804 dịng liệu mà trường floors null Chính nên em thay giá trị null thành giá trị trung bình cột Còn cột furniture status: 118 Cột “furniture status” có giá trị khơng có nội thất, nội thất đầy đầy đủ nội thất Nếu để nguyễn vậy, rõ ràng đem training bị error model hiểu số mà thơi, ta chuyển thành số liệu Ta thấy giá trị có có giá trị ưu tiên: hộ khơng có nội thất giá thấp so với hộ có nội thất diện tích, căng hộ có nội thất thấp so với hộ có đầy đủ nội thất có diện tích Chính ta gán số cho khơng có nội thất, số cho nội thất số cho đầy đủ nội thất 119 Ta xử lý cột district: Cột district dạng string, để máy không hiểu, ta gắn quân 0, quận bình thạnh 1, quận tân bình 2, Nếu ta gắn vậy, khơng 120 giá trị quận 9, quận bình thạnh, quận tân bình, giá trị ngang nhau, gắn thuật tốn chạy khơng xác Ở dùng phương pháp One Hot Encoding hay cịn có tên khác dummies variable Nó tính giá trị riêng biệt cột, có nhiêu giá trị riêng biệt chuyển thành nhiêu cột, cột giá trị bật lên Ví dụ: ví dụ ta thấy có giá trị riêng biệt cột pet cat, dog,turtle,fish nên cột Nếu hàng cat giá trị cat bật lên 121 Ta chuyển tập liệu thành dummies variable: 122 4.3 Huấn luyện model: Đầu tiên ta từ tập liệu lớn ban đầu lớn thành tập liệu: Dữ liệu đầu vào liệu đầu Và cụ thể liệu đầu giá nhà(price) liệu đầu vào trường lại liệu sau làm sạch: 123 Sau tách tập liệu đầu vào X thành phần X train, X test Y thành phần Y train, Y test Sau tiến hành giảm chiều liệu Sở dĩ cần phải giảm chiều liệu trường mà ta dự đốn giá nhà, có giá trị khoảng từ 1~10 cột khác balcony có giá trị , giá trị cột diện tích lớn( khoảng từ 10 - 100) vector liệu chênh lệch lớn, nên ta phải giảm chiều liệu hay gọi feature scaling 124 Có cách để chuẩn hóa liệu standardisation normalistion Normalisation áp dụng trường hợp tập liệu phân phối hết cột phân phối giảm chiều liệu xuống, giá trị bị giảm chiều nằm khoảng [0,1] Cịn standardisation áp dụng cho tất trường hợp bao gồm cho trường hợp normalisation luôn, phương pháp giảm chiều liệu xuống, giá trị nằm miền giá trị [-3,3] Tập liệu mà nhóm em nghiên cứu khơng phân phối nên nhóm em áp dụng phương pháp chuẩn hóa standardization 125 Vì tốn nhóm nghiên cứu dự đoán giá trị (dự đoán giá nhà dựa thuộc tính ban đầu) Nên thuật tốn hồi quy (Regression) áp dụng Cụ thể nhóm dùng thuật tốn support vector regression Thật dùng hồi quy đa thức thuật toán vẽ lên đường cong khơng gian cố tìm cách cho đường thẳng fit so với tập liệu mà ta huấn luyện Nhưng support vector regression tối ưu khơng gian đa chiều, hiệu việc lưu trữ nhớ Nên nhóm dùng support vector regression để huấn luyện 126 4.4 Kết thử nghiệm: Thử dự đốn kết từ dịng liệu ban đầu: dòng dòng Dòng 0: ngơi nhà quận 9, số phịng ngủ 1, diện tích 47.0 m2 có giá 1.79 tỷ Thử dự đốn model: 127 Dịng 1: ngơi nhà quận 9, số phịng ngủ 2, diện tích 59.1 m2 có giá 2.27 tỷ Dự đốn model: 128 Chương Tổng kết 5.1 Kết đạt đạt được: - Đã tìm hiểu thuật tốn machine learning trong tốn học có giám sát (học có liệu) - Tìm hiểu biết lĩnh vực bất động sản - Sử dụng framework python trích rút liệu, làm huấn luyện liệu - Dự đoán giá hộ xác 5.2 Hướng phát triển: - Thu thập thêm liệu từ nhiều trang bất động sản Càng nhiều liệu, model cho kết xác - Tối ưu thuật tốn để tăng độ xác việc dự đốn đốn - Tìm hiểu thêm thuật tốn để sử dụng hiệu - Tìm hiểu thêm tốn thực tế recommend system, dự đốn bình luận tích cực hay tiêu cực để làm tiền đề cho khóa luận tốt nghiệp 129 Danh mục tham khảo [1] Alakh Sethi “Support Vector Regression In Machine Learning” in https://www.analyticsvidhya.com/blog/2020/03/support-vector-regression-tutorial-formachine-learning [2] Csurka, Gabriella, et al “Visual categorization with bags of keypoints.” Workshop on statistical learning in computer vision, ECCV Vol No 1-22 2004 [3] Https://www kdnuggets com/2019/04/ normalization - vs - standardization quantitative - analysis html [4] Aniruddha Bhandari “Feature Scaling for Machine Learning: Understanding the Difference Between Normalization vs Standardization” in https://www.analyticsvidhya.com/blog/2020/04/feature-scaling-machine-learning-nor malization-standardization [5] https://scikit-learn.org /stable/ modules/ generated/ sklearn.linear_model LinearRegression.html [6] Support Vector Machine - Regression (SVR) https:// www.saedsayad.com/ support_vector_machine_reg.htm [7] Multiple Linear Regression in http:// www.stat.yale.edu/ Courses/ 1997-98/101/ linmult.html [8] Nagesh Singh Chauhan “Decision Tree Algorithm, Explained - KDnuggets” in https:// www.kdnuggets.com/ 2020/01/ decision-tree-algorithm- explained.html [9] Reena Shaw “The Top 10 Machine Learning Algorithms for ML Beginners” in https:// www.dataquest.io/blog/ top-10-machine- learning-algorithms- for-beginners/ [10] Https://www kdnuggets com/ normalization - vs - standardization quantitative - analysis html [11] “Feature Scaling for Machine Learning: Understanding the Difference Between Normalization vs Standardization” in https://www.analyticsvidhya.com/blog/2020/04/feature-scaling-machine-learning-nor malization-standardization [12] A Tour of Machine Learning Algorithms by Jason Brownlee on August 12, 2019 in Machine Learning Algorithms https:// machinelearningmastery.com/ a-tourof-machine- learning-algorithms/ 130 [13] Need Help Getting Started with https://machinelearningmastery.com/start-here [14] Applied Machine Learning? Understanding K-means Clustering in Machine Learning Dr Michael J Garbade https:// towardsdatascience.com/ understanding-k - means -clustering -in-machine -learning-6a6e67336aa1 [15] Rajasekhar “Simple Linear Regression” in https:// www.excelr.com /blog /data-science/ regression/simple-linear-regression 131 ... 17 17 21 21 23 25 25 29 34 34 34 45 49 49 78 80 80 80 89 92 92 92 93 94 95 3 .2 Phân loại bình luận tích cực, tiêu cực 3 .2. 1 Sơ lược 3 .2. 2 Xây dựng tính 1 02 1 02 103 Chương Ứng dụng thuật toán tìm... Thuật toán b Ứng dụng 2. 1.4 Support Vector Regression: a Thuật toán b Ứng dụng 2. 2 Các thuật toán Phân loại: 2. 2.1 Logistic Regression: a Thuật toán b Ứng dụng: 2. 2 .2 Decision Tree: a Thuật toán:... cảnh 1 .2 Mục đích 1.3 Ý nghĩa 1.4 Nhiệm vụ 1 2 Chương Cơ sở lý thuyết 2. 1 Các thuật toán Hồi quy 2. 1.1 Hồi quy đơn thức a Thuật toán b Ứng dụng 2. 1 .2 Hồi quy đa biến: a Thuật toán b Ứng dụng 2. 1.3

Ngày đăng: 16/06/2022, 20:38

Tài liệu cùng người dùng

Tài liệu liên quan