Đánh giá xu hướng giá bất động sản dựa trên tiếp cận máy học

94 21 0
Đánh giá xu hướng giá bất động sản dựa trên tiếp cận máy họ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 TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN NGỌC NHẬT MINH TRẦN DUY MINH KHÓA LUẬN TỐT NGHIỆP ĐÁNH GIÁ XU HƯỚNG GIÁ BẤT ĐỘNG SẢN DỰA TRÊN TIẾP CẬN MÁY HỌC A MACHINE LEARNING APPROACH TO PREDICT OF REAL ESTATE PRICES KỸ SƯ/ CỬ NHÂN NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN NGỌC NHẬT MINH – 16520742 TRẦN DUY MINH - 16520752 KHÓA LUẬN TỐT NGHIỆP ĐÁNH GIÁ XU HƯỚNG GIÁ BẤT ĐỘNG SẢN DỰA TRÊN TIẾP CẬN MÁY HỌC A MACHINE LEARNING APPROACH TO PREDICT OF REAL ESTATE PRICES KỸ SƯ/ CỬ NHÂNNGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN TS DƯƠNG MINH ĐỨC TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin – Chủ tịch – Thư ký – Ủy viên – Ủy viên ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: ĐÁNH GIÁ XU HƯỚNG GIÁ BẤT ĐỘNG SẢN DỰA TRÊN TIẾP CẬN MÁY HỌC Cán hướng dẫn: Nhóm SV thực hiện: Nguyễn Ngọc Nhật Minh 16520742 Trần Duy Minh 16520752 TS Dương Minh Đức Đánh giá Khóa luận Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung:Khóa luận đạt/khơng đạt yêu cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp l Giỏi/ Khá/ Trung bình Điểm sinh viên: Nguyễn Ngọc Nhật Minh :……… /10 Trần Duy Minh :……… /10 Người nhận xét (Ký tên ghi rõ họ tên) TS.Dương Minh Đức ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: ĐÁNH GIÁ XU HƯỚNG GIÁ BẤT ĐỘNG SẢN DỰA TRÊN TIẾP CẬN MÁY HỌC Cán hướng dẫn: Nhóm SV thực hiện: Nguyễn Ngọc Nhật Minh 16520742 Trần Duy Minh 16520752 TS Dương Minh Đức Đánh giá Khóa luận Về báo cáo: Số trang _ Số chương _ Số bảng số liệu _ Số hình vẽ _ Số tài liệu tham khảo _ Sản phẩm _ Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung:Khóa luận đạt/khơng đạt u cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp l Giỏi/ Khá/ Trung bình Điểm sinh viên: Nguyễn Ngọc Nhật Minh:……… /10 Trần Duy Minh :……… /10 Người nhận xét (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Lời đầu tiên, xin trân trọng cảm ơn Thầy hướng dẫn nhóm TS Dương Minh Đức, thầy tận tình hướng dẫn nhóm q trình học tập việc hoàn thành luận văn Xin chân thành cảm ơn Thầy, Cô thuộc khoa Công nghệ phần mềm trường Đại Học Công Nghệ Thông Tin – Đại học Quốc Gia Tp.HCM tận tình giảng dạy cho thời gian học tập Xin cảm ơn thầy cô đọc luận văn cho nhận xét q báu, chỉnh sửa sai sót tơi thảo luận văn Do giới hạn kiến thức khả lý luận thân nhiều thiếu sót hạn chế, kính mong dẫn đóng góp Thầy, Cơ để luận văn tơi hồn thiện Xin chân thành cảm ơn! 3.2.3 Thiết kế API cho dự đoán 3.2.3.1 Nghiệp vụ Việc triển khai server có nghiệp vụ sau - Lấy toàn khu vực - Thuật tốn đường trung bình động - Thuật tốn tiên tri - Thuật toán LSTM 3.2.3.2 Sơ đồ lớp Lớp Region : Thể giá trị khu vực Mô tả Tên ID Giá trị id khu vực Name Tên khu vực Lớp Data : Thể giá trị phần giá trị train, dự đoán xác thực Mô tả Tên Time Mốc thời gian Value Giá trị ZHVI thời gian xác định 62 3.3 Tạo môi trường triển khai server 3.3.1 Tải mã nguồn Chúng ta sử dụng git để clone mã nguồn qua đường dẫn nguyenngocnhatminh/RealEstatePredict (github.com) 3.3.2 Khởi tạo môi trường ảo cài đặt gói 3.3.2.1 Cài đặt Python  Các bạn tải python : https.//www.python.org/downloads/, chọn phiên bạn cần cài đặt chương trình bình thường * Lưu ý: bạn nhớ tick chọn add python vào Path không bạn phải cấu hình vào biến mơi trường windows cách thủ công 63 3.3.2.2 Cài đặt môi trường ảo Có số để cài đặt mơi trường ảo :  Sử dụng thẳng command line windows để cài đặt gói nhóm tơi khơng khuyến khích sau việc gỡ bỏ nâng cấp phức tạp  Sử dụng conda docker để quản lý gói Nhóm tơi dùng conda Các bạn tải : Installing on Windows — Anaconda documentation *Lưu ý: Nên tick chọn add anaconda vào Path windows thay cài đặt thủ công  Sau cài đặt xong bạn sử dụng anaconda prompt để cài đặt gói sử dụng anaconda navigator để quản lý gói cài đặt 64 3.3.2.3 Cài đặt gói cần thiết  Chúng tơi cài đặt gói cách gõ copy câu lệnh vào anaconda prompt search google tên gói + anaconda tên gói + pip câu lệnh cài đặt  Danh sách gói : nên cài đặt theo thứ tự để tránh xảy lỗi o Pandas : conda install -c anaconda pandas o Numpy : conda install -c anaconda numpy o Pytorch : conda install -c pytorch pytorch o Fastai : pip install fastai o Pystan : conda install -c -conda-forge pystan o Fbprophet: conda install -c conda-forge fbprophet o Tensorflow: pip install tensorflow  Ngồi cài đặt thêm phần hỗ trợ GPU để trải nghiệm mượt nhanh theo link hướng dẫn GPU support | TensorFlow 3.3.2.4 Cài đặt IDE  Hiện có nhiều ide sử dụng để code python, bạn tùy ý chọn IDE phù hợp với thân  Một số IDE phổ biến : Jupyter notebook, Pycharm …  Ở sử dụng Pycharm Các bạn sử dụng mail sinh viên để đăng ký sử dụng Pycharm education  Link : PyCharm: the Python IDE for Professional Developers by JetBrains 65 3.3.3 Định dạng URL API Các URL Rest Service cần phải trực quan, dễ đoán dễ hiểu Ở Server có API sau : - Lấy toàn khu vực : http://127.0.0.1:5000/region với phương thức GET - Dự đoán với thuật toán đường trung bình 127.0.0.1:5000/predict/moving_avage/?id= với phương thức GET 66 động : - Dự đoán với thuật toán tiên tri 127.0.0.1:5000/predict/prophet/?id= với phương thức GET - Dự đoán với thuật toán LSTM 127.0.0.1:5000/predict/lstm/?id= với phương thức GET 67 Chương TÌM HIỂU CỘNG NGHỆ XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG ANDROID 4.1 Tìm hiểu Android số cơng nghệ liên quan để xây dựng ứng dụng phía client 4.1.1 Giới thiệu hệ điều hành Android Android hệ điều hành mã nguồn mở, dựa Linux Kernel, dành cho thiết bị di động nói chung (điện thoại, máy tính bảng, đồng hồ thơng minh, máy nghe nhạc,…) Có nghĩa Android khơng giới hạn phạm vi hệ điều hành cho điện thoại! Nó nhà sản xuất cài đặt lên đồng hồ, máy nghe nhạc, thiết bị định vị GPS, chí ô tô (các thiết bị Android Auto) Hiện Android thương hiệu Google Có khả tùy biến cao chạy nhiều thiết bị, nhiều kiến trúc vi xử lý (ARM / x86) 4.1.2 Kiến trúc hệ điều hành Tóm tắt tầng kiến trúc sau (từ xuống):  Tầng Applications: Là tầng chứa ứng dụng Danh bạ, Gọi điện, Trình duyệt, Nghe nhạc,… ứng dụng thường mua máy có sẵn  Tầng Framework: Là tầng chứa API để làm việc với hệ điều hành lấy thông tin danh bạ, quản lý Activity (Activity chưa cần quan tâm, sau giải thích kĩ), quản lý địa điểm, quản lý View (cũng chưa cần quan tâm)  Tầng Libraries: Chứa thư viện, API gần cốt lõi Android, bao gồm quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ họa phức tạp),… 68  Tầng Android Runtime: Chứa thư viện lõi Android máy ảo Dalvik Virtual Machine (từ Android trở lên có thêm máy ảo ART)  Tầng Kernel: Là nhân lõi hệ điều hành, chứa tập lệnh, driver giao tiếp phần cứng phần mềm Android Trong trình làm việc, gần làm việc với tầng Applications , Application Framework Libraries Chương trình Android viết ngơn ngữ Java máy ảo DVM / ART thiết bị Android biên dịch mã máy 4.1.3 Ưu điểm, nhược điểm lý lựa chọn Có nhiều lý ta lựa chọn xây dựng ứng dụng phía Client Android thay website hay ứng dụng IOS Android có tính phong phú hơn, tiêu chuẩn thiết kế cao hơn, khả tùy chỉnh cao nhờ mã nguồn mở Android có tảng khách hàng lớn sức ảnh hưởng mạnh Nhiều người học lập trình di động lựa chọn Android sở hữu nhiều tính công nghệ thú vị, phù hợp với người ưa thích trải nghiệm Khả tích hợp tương tác Android lên thiết bị khác nhanh phổ biến Mặc dù việc phát triển ứng dụng Android có gặp phải nhiều khó khăn thời điểm trước khơng đồng thư viện phiên Android khác việc thư viện dễ dàng xung đột cập nhật lên phiên khác nhau, bên cạnh tài liệu Android chia thành nhiều phần thường không thống quy chuẩn chung Nhưng thời điểm sau Google công bố Android Jetpack với AndroidX việc xây dựng ứng dụng Android trở nên dễ dàng nhiều dễ kiểmsoát phát triển mở rộng sau Các tài liệu viết cách đầy đủ quán Qua cải thiện suất làm việc cho người phát triển chất lượng sản phẩm cho người sử dụng 69 4.1.4 Cài đặt Android Studio ,Android SDK, máy ảo Bước 1: Chúng ta cần có JDK (Java Development Kit) trước làm việc với Android máy Truy cập vào link bên dưới: https://www.oracle.com/java/technologies/javase-downloads.html Bước 2: Chuẩn bị Android Studio Android SDK Truy cập vào link bên để tải cài đặt Android Studio https://developer.android.com/studio Sau cài đặt thành công Android Studio, tiếp tục vào Android Studio cài đặt phiên Android SDK phù hợp với ứng dụng Bước 3: Cài đặt máy ảo Android Android Studio hỗ trợ Trình quản lý máy ảo kèm Android Studio có tên Android Virtual Device Manager ( hỗ trợ nhiều phiên Android) Ngồi cài đặt số máy ảo khác Genymotion, link cài đặt : https://www.genymotion.com/download/ 70 4.1.5 Thư viện Volley 4.1.5.1 Giới thiệu thư viện Volley Volley thư viện dùng để gửi nhận phản hồi từ server sử dụng giao thức HTTP Volley có điểm bật đây:      Tự động lập lịch cho yêu cầu Phản hồi vào nhớ đệm Hỗ trợ đặt độ ưu tiên cho yêu cầu Hỗ trợ nhiều kết trả (String, JSONObject, JSONArray, Bitmap, ) Có thể hủy Request Các lớp sử dụng Volley:  RequestQueue: hàng đợi để giữ yêu cầu  Request: lớp sở Request Volley chứa thông tin yêu cầu HTTP  StringRequest: kế thừa từ Request lớp đại diện cho yêu cầu trả chuỗi  JSONObjectRequest: HTTP yêu cầu, có phản hồi trả JSONObject  JSONArrayRequest: HTTP yêu cầu, có phản hồi trả JSONArray  ImageRequest: HTTP yêu cầu, có phản hồi trả Bitmap 4.1.5.2 Cài đặt thư viện Volley Sử dụng thư viện Volley Android Studio: Thêm dependencies vào build,gradle , Sync Now để Android Studio tải nạp thư viện vào project dependencies { implementation 'com.android.volley:volley:1.2.0' } Để sử dụng Volley phải cấp quyền internet AndroidManifest.xml sau: 71 4.1.6 Thư viện MPAndroidChart 4.1.6.1 Giới thiệu thư viện MPAndroidChart Thư viện MPAndroidChart thư viện mã nguồn mở mạnh mẽ chuyên dùng để thiết kế biểu đồ, đồ thị cho ứng dụng Android Ngồi thư viện cịn có hỗ trợ cho IOS Thư viện sử dụng giấy phép Apache License, Version 2.0 nên sử dụngvà chỉnh sửa thư viện tùy ý sử dụng Mặc dù thư viện hoàn thiện tài liệu hướng dẫn sử dụng thư viện tài liệu có tính phí nên việc sử dụng thiết kế lại giao diện cho biểu đồ nhóm gặp phải nhiều khó khăn 4.1.6.2 Cài đặt thư viện MPAndroidChart Sử dụng thư viện MPAndroidChart Android Studio: Thêm dependencies vào build,gradle , Sync Now để Android Studio tải nạp thư viện vào project repositories { maven { url 'https://jitpack.io' } } dependencies { implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' } Cài đặt cập nhật phiên link sau: https://weeklycoding.com/mpandroidchart/ Ví dụ tham khảo minh hoạ việc sử dụng LineChart thư viện MPAndroidChart 72 4.2 Xây dựng triển khai ứng dụng 4.2.1 Giới thiệu Ứng dụng tập trung vào phần phân tích biểu đồ giá bất động sản dựa ba thuật toán đường trung bình động , tiên tri LSTM với liệu train, xác thực , dự đốn 4.2.2 Màn hình ứng dụng Danh sách hiển thị phân vùng bất động sản 73 Danh sách lựa chọn thuật toán Biểu đồ phân tích giá bất động sản 74 Chương 5.1 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt - Hiểu nắm rõ công nghệ sử dụng dự án - Nắm vững tối ưu thuật toán sử dụng đề tài - Xây dụng ứng dụng di động cho dự án - Áp dụng kiến thức học vào thực tế - Cải thiện kỹ làm việc nhóm 5.2 - Hướng phát triển Cải thiện UX UI nâng cao trải nghiệm người dùng Xây dụng ứng dụng thương mại điện tử bất động sản với nhiều tính mua bán, cho thuê … Sử dụng liệu từ sàn thương mại ứng dụng để dự đốn thay sử dụng bên thứ ba Áp dụng mơ hình tuyến tính để dự đốn giá nhà cho Xây dựng mạng xã hội bất động sản 75 TÀI LIỆU THAM KHẢO [1] S&P 500 Stock Price Prediction Using Machine Learning and Deep Learning | by Shiyan Boxer | Shiyan Boxer | Medium [Online] Available at: https://medium.com/shiyan-boxer/s-p-500-stock-price-prediction-usingmachine-learning-and-deep-learning-328b1839d1b6 [Acessed Aug 16, 2019] [2] Understanding LSTM Networks colah's blog [Online] Available at : https://colah.github.io/posts/2015-08-Understanding-LSTMs/ [Accessed August 27, 2015] [3] Prophet: forecasting at scale - Facebook Research (fb.com) [Online] Available at : https://research.fb.com/blog/2017/02/prophet-forecasting-atscale/ [Accesed February 23, 2017] [4] Housing Data - Zillow Research [Online] Available at : https://www.zillow.com/research/data/ [Update every month] [5] The Difference Between AI, Machine Learning, and Deep Learning? | NVIDIA Blog [6] Welcome to Flask — Flask Documentation (1.1.x) (palletsprojects.com) [Online] Available at : https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificialintelligence-machine-learning-deep-learning-ai/ [Accesed July 29, 2016 by MICHAEL COPELAND [7] https://weeklycoding.com/mpandroidchart/ [Online] 76 ... khóa luận: ĐÁNH GIÁ XU HƯỚNG GIÁ BẤT ĐỘNG SẢN DỰA TRÊN TIẾP CẬN MÁY HỌC Cán hướng dẫn: Nhóm SV thực hiện: Nguyễn Ngọc Nhật Minh 16520742 Trần Duy Minh 16520752 TS Dương Minh Đức Đánh giá Khóa luận... Bất động sản lĩnh vực phổ biến này, máy học phương pháp có tiềm dự đốn, phân tích lớn Vì vậy, khóa luận đề xu? ??t sử dụng phương pháp tiếp cận máy học để đánh giá xu hướng thị trường bất động sản. .. tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: ĐÁNH GIÁ XU HƯỚNG GIÁ BẤT ĐỘNG SẢN DỰA TRÊN TIẾP CẬN MÁY HỌC Cán hướng dẫn: Nhóm SV thực hiện: Nguyễn Ngọc Nhật Minh

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

Mục lục

    Chương 1. TỔNG QUAN ĐỀ TÀI

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

    1.2. Mục tiêu và phạm vi

    1.2.2. Phạm vi thực hiện

    1.3. Các nghiên cứu liên quan

    Chương 2. CƠ SỞ LÝ THUYẾT

    2.1. Các kiến thức nền tảng

    2.1.3. Đào tạo mạng Neurual

    2.2. Các mô hình máy học

    2.2.1. Thuật toán đường trung bình động (Moving Average)

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

  • Đang cập nhật ...

Tài liệu liên quan