Đồ án tìm HIỂU về MACHINE LEARNING và ỨNG DỤNG vào THẨM ĐỊNH GIÁ cả

157 262 2
Đồ án tìm HIỂU về MACHINE LEARNING và ỨNG DỤNG vào THẨM ĐỊNH GIÁ cả

Đ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 ĐỒ ÁN ĐỀ TÀI: “TÌM HIỂU VỀ MACHINE LEARNING VÀ ỨNG DỤNG VÀO THẨM ĐỊNH GIÁ CẢ” Sinh viên thực hiện: Nguyễn Chí Thành 18520360 Tăng Khánh Chương 18520010 Giảng viên hướng dẫn: ThS Trần Anh Dũng Tp Hồ Chí Minh, ngày 30 tháng năm 2021 Phụ lục A Giới thiệu đề tài I Bối cảnh II Mục đích III Ý nghĩa IV Nhiệm vụ B Cơ sở lý thuyết I Một số thuật toán machine learning: 3 Các thuật toán Hồi quy 1.1 Hồi quy đơn thức: 1.1.1 Thuật toán 1.1.2 Ứng dụng 11 1.2 Hồi quy đa biến: 17 1.2.1 Thuật toán 17 1.2.2 Ứng dụng 17 1.3 Hồi quy đa thức: 21 1.3.1 Thuật toán 21 1.3.2 Ứng dụng 23 1.4 Support Vector Regression: 25 1.4.1 Thuật toán 25 1.4.2 Ứng dụng 29 Các thuật toán Phân loại: 34 2.1 Logistic Regression: 98 2.1.1 Thuật toán 34 2.1.2 Ứng dụng: 45 2.2 K-Nearest Neighbors: 49 2.2.1 Thuật toán: 49 2.3.2 Ứng dụng: 54 2.3 Support Vector Machine: 57 2.3.1.Thuật toán: 57 2.3.2 Ứng dụng: 64 2.4 Decision Tree: 98 2.4.1 Thuật toán: 67 2.4.2 Ứng dụng: 96 2.6 Random Forest: 98 2.6.1 Thuật toán: 98 2.6.2 Ứng dụng: 100 Thuật toán phân cụm: 104 3.1 K-Mean Clustering: 104 3.1.1 Thuật toán: 104 3.1.2 Ứng dụng: 113 II Các thư viện python hỗ trợ machine learning Pandas: 116 124 1.1 Giới thiệu: 116 1.2 Ứng dụng: 120 Numpy: 124 2.1 Giới thiệu: 120 2.2 Ứng dụng: 124 Sklearn: 124 3.1 Giới thiệu: 124 3.2 Các thuật toán thư viện: 125 Matplotlib: 127 4.1 Giới thiệu: 127 4.2 Thành phần: 127 C Ứng dụng: 128 Thu thập liệu: 128 Tiền xử lý liệu: 131 Huấn luyện model: 145 Kết thử nghiệm: 150 Danh mục tham khảo 152 A Giới thiệu đề tài I 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 ngơi 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 chuyên 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 chuyên gia khơng may vị chun 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 Ngồ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ộ II Mục đích Đề tài thực nhằm hai mục đích: ● Tìm hiểu Machine Learning thuật tốn sử dụng Machine Learning ● Tìm hiểu thị trường bất động sản, cách hoạt động mục đích việc thẩm định giá bất động sản III Ý nghĩa Trước hết, đề tài TÌM HIỂU VỀ MACHINE LEARNING VÀ ỨNG DỤNG VÀO THẨM ĐỊNH GIÁ CẢ đề 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 đỡ thầy Trần Anh Dũng 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 IV Nhiệm vụ 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 B Cơ sở lý thuyết I Một số thuật toán machine learning Các thuật toán Hồi quy 1.1 Hồi quy đơn thức 1.1.1 Thuật toán Là thuật tố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ự đốn giá trị dựa hàm tuyến tính để tìm kết Hàm dự đoán liên quan đến yếu tố dự đoá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 Trong trường hợp Salary y Experience x, số lương phụ thuộc vào vào số năm kinh nghiệm Experience biến độc lập Salary biến phụ thuộc Thuật toán tìm vơ số đường thẳng tìm đến khoảng cách điểm liệu thật đến đường thẳng(đường thẳng dự đoán) bé Ở 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 139 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 140 Ở 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: 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 141 Ta xử lý cột district: 142 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 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 143 Ta chuyển tập liệu thành dummies variable: 144 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: 145 146 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 cịn gọi feature scaling 147 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 148 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 149 Kết thử nghiệm: Thử dự đoá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: 150 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ự đoán model: 151 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-learningnormalization-standardization [5] https://scikit-learn.org LinearRegression.html /stable/ modules/ generated/ sklearn.linear_model [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-learningnormalization-standardization 152 [12] A Tour of Machine Learning Algorithms by Jason Brownlee on August 12, 2019 in Machine Learning Algorithms https:// machinelearningmastery.com/ a-tour- of-machinelearning-algorithms/ [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 /datascience/ regression/simple-linear-regression 153 ... cách hoạt động mục đích việc thẩm định giá bất động sản III Ý nghĩa Trước hết, đề tài TÌM HIỂU VỀ MACHINE LEARNING VÀ ỨNG DỤNG VÀO THẨM ĐỊNH GIÁ CẢ đề tài thể việc áp dụng kiến thức thầy cô trường... mua dự đoán tương đối xác giá trị các bất động sản loại chung cư hộ II 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... 2.4.1 Thuật toán: 67 2.4.2 Ứng dụng: 96 2.6 Random Forest: 98 2.6.1 Thuật toán: 98 2.6.2 Ứng dụng: 100 Thuật toán phân cụm: 104 3.1 K-Mean Clustering: 104 3.1.1 Thuật toán: 104 3.1.2 Ứng dụng: 113

Ngày đăng: 05/09/2021, 20:47

Từ khóa liên quan

Mục lục

  • A. Giới thiệu đề tài

    • I. Bối cảnh

    • II. Mục đích

    • III. Ý nghĩa

    • IV. Nhiệm vụ

    • B. Cơ sở lý thuyết

      • I. Một số thuật toán machine learning

        • 1. Các thuật toán Hồi quy

          • 1.1. Hồi quy đơn thức

            • 1.1.1. Thuật toán

            • 1.1.2. Ứng dụng

            • 1.2. Hồi quy đa biến:

              • 1.2.1. Thuật toán

              • 1.2.2 Ứng dụng

              • 1.3. Hồi quy đa thức:

                • 1.3.1. Thuật toán

                • 1.3.2 Ứng dụng

                • 1.4. Support Vector Regression:

                  • 1.4.1. Thuật toán

                  • 1.4.2. Ứng dụng

                  • 2. Các thuật toán Phân loại:

                    • 2.1. Logistic Regression:

                      • 2.1.1. Thuật toán

                      • 2.1.2. Ứng dụng:

                      • 2.2. K-Nearest Neighbors:

                        • 2.2.1. Thuật toán:

                        • 2.3.2. Ứng dụng:

                        • 2.3. Support Vector Machine:

                          • 2.3.1.Thuật toán:

                          • 2.3.2. Ứng dụng:

                          • 2.4. Decision Tree:

                            • 2.4.1. Thuật toán:

                            • 2.4.2. Ứng dụng:

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

Tài liệu liên quan