1. Trang chủ
  2. » Cao đẳng - Đại học

Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)

106 46 0

Đ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 đề Rút Trích Và Trực Quan Hoá Dữ Liệu Trong Lĩnh Vực Bất Động Sản
Tác giả Nguyễn Công Hiếu, Vũ Cát
Người hướng dẫn ThS. Trần Anh Dũng
Trường học Đại Học Quốc Gia Tp. Hồ Chí Minh
Chuyên ngành Kỹ Sư Ngành Kỹ Thuật Phần Mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 106
Dung lượng 2,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

và đề xuất những thông tin bất động sản phù hợp với thông tin tìm kiếm và nhu cầu của người dùng  Xây dựng hệ thống với các công nghệ mới như Nodejs, Reactjs, MongoDB.. Nhóm em chọn nhữ

Trang 1

ĐẠ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 CÔNG HIẾU – 18520743

VŨ CÁT - 18520515

KHÓA LUẬN TỐT NGHIỆP

RÚT TRÍCH VÀ TRỰC QUAN HOÁ DỮ LIỆU

TRONG LĨNH VỰC BẤT ĐỘNG SẢN

Extraction and data visualization in Real Estate

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP HỒ CHÍ MINH, 2022

Trang 2

ĐẠ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 CÔNG HIẾU – 18520743

VŨ CÁT – 18520515

KHÓA LUẬN TỐT NGHIỆP

RÚT TRÍCH VÀ TRỰC QUAN HOÁ DỮ LIỆU

Trang 3

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 ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin

1 ……… – Chủ tịch

2 ……… – Thư ký

3 ……… – Ủy viên

Trang 4

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

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/PHẢN BIỆN) Tên khóa luận: RÚT TRÍCH VÀ TRỰC QUAN HOÁ DỮ LIỆU TRONG LĨNH VỰC BẤT ĐỘNG SẢN Nhóm SV thực hiện: Cán bộ hướng dẫn/phản biện: Nguyễn Công Hiếu – 18520743 Thạc sĩ: Trần Anh Dũng Vũ Cát - 18520515 Đánh giá Khóa luận 1 Về cuốn báo cáo: Một số nhận xét về hình thức cuốn báo cáo: ………

………

………

………

2 Về nội dung nghiên cứu: ………

………

………

………

Trang 5

3 Về chương trình ứng dụng:

………

………

………

………

4 Về thái độ làm việc của sinh viên: ………

………

………

………

Đánh giá chung: ………

………

………

………

Điểm từng sinh viên: Nguyễn Công Hiếu: ……… /10

Vũ Cát: ……… /10

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 6

LỜI CẢM ƠN

Trong suốt quá trình học tập tại khoa Công Nghệ Phần Mềm trường Đại học Công nghệ thông tin, chúc em luôn nhận được sự quan tâm, hướng dẫn và giúp đỡ tận tình của các thầy, cô giáo trong trong khoa cùng với sự động viên và giúp đỡ của bạn bè và mọi người xung quanh

Lời đầu tiên chúng em xin được bài tỏ lòng biết ơn sâu sắc đến ThS Trần Anh Dũng đã giúp đỡ bọn em một cách tận tình, cũng như hướng dẫn đưa ra những hướng đi đúng đắn giúp bọn em hoàn thành khoá luận lần này một cách thành công nhất

Nhân dịp này chúng em cũng xin cảm ơn thầy Lê Thanh Trọng - cố vấn học tập của bọn em suốt 4 năm qua Thầy luôn quan tâm và giúp đỡ, đưa ra những kinh nghiệm và giúp tụi em có thể hoàn thành khoá học và tiến tới thực hiện khoá luận thành công như ngày hôm nay Một lần nữa tụi

em xin cảm ơn thầy

Đề tài đã được nhóm em nghiên cứu và thực hiện thành công Tuy nhiên vẫn còn những hạn chế về năng lực và những thiếu sót trong quá trình nghiên cứu và thực hiện Nhóm em xin lắng nghe và tiếp thu những ý kiến của giáo viên phản biện để hoàn thiện sản phẩm, bổ sung kiến thức

Nhóm em xin chân thành cảm ơn

TP HCM, ngày … tháng …năm …

Nguyễn Công Hiếu

Vũ Cát

Trang 7

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT

NAM Độc Lập - Tự Do - Hạnh Phúc

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: RÚT TRÍCH VÀ TRỰC QUAN HÓA DỮ LIỆU TRONG LĨNH VỰC

BẤT ĐỘNG SẢN

(Extraction and data visualization in Real Estate)

Cán bộ hướng dẫn: Ths Trần Anh Dũng

Thời gian thực hiện: Từ ngày 28/02/2022 đến ngày 13/06/2022

Sinh viên thực hiện:

Nguyễn Công Hiếu - 18520743

 Xây dựng hệ thống cho phép người dùng có thể tìm kiếm, so sánh thông tin một

cách trực quan dựa trên dữ liệu thu thập được từ các trang thông tin khác

 Xây dựng trang web thông tin có các tin tức về thị trường bất động sản

 Xây dựng hệ thống tích hợp AI phân tích, dự đoán giá nhà đất theo từng khu vực

Trang 8

và đề xuất những thông tin bất động sản phù hợp với thông tin tìm kiếm và nhu cầu của người dùng

 Xây dựng hệ thống với các công nghệ mới như Nodejs, Reactjs, MongoDB Nhóm

em chọn những công nghệ này vì chúng có tính bao quát rộng hơn, Nodejs hỗ trợ bất đồng bộ giúp nhiều phương thức chạy động thời, MongoDB là một noSQL hỗ trợ dễ dàng trong việc thêm dữ liệu, không cần khai báo biến mà sử dụng “key: value”, còn Reactjs là một frontend mới nổi do facebook tạo ra, hỗ trợ rất nhiều thư viện, giúp dễ dàng trong việc xây dựng ứng dụng

Phạm vi:

 Phạm vi địa lý: Ứng dụng sử dụng tại Việt Nam

 Phạm vi chức năng:

Quản lý người sử dụng

Quản lý bài viết

Quản lý thông tin bất động sản

Quản lý các biểu đồ

Quản lý tìm kiếm thông tin (recommend bài viết)

Quản lý AI hệ thống

Đối tượng: Những người có nhu cầu tìm kiếm và chia sẻ thông tin bất động sản tại thị

trường Việt Nam

Phương pháp thực hiện:

 Tìm hiểu và phân tích các website bất động sản hiện có trên thị trường

 Làm việc cá nhân, sử dụng request để lấy thông tin từ những trang web cụ thể, lưu xuống database và xuất lên cho người dùng thấy

 Xậy dựng database với MongoDB

Trang 9

 Xây dựng giao diện với ReactJS

 Xây dựng hệ thống Restful API với NodeJS, Express và Django

Công nghệ sử dụng:

 ReacJs: Xây dựng Front End

 MongoDB: Xây dựng database

 Nodejs, Django: Xây dựng Back End

 ExpressJs: Xây dựng API

 Postman: Kiểm tra các API đã xây dựng

 PrimeReact, chartjs: Các Framework dùng để trực quan hóa dữ liệu

 Visual Code: IDE để thực hiện đồ án

Kết quả mong đợi:

- Hoàn thiện ứng dụng web thu thập và chia sẻ thông tin bất động sản, đáp ứng đủ các nhu cầu cơ bản

- Trực quan hóa dữ liệu thu thập được và hiển thị cho người dùng

- Tích hợp được AI dự đoán giá bất động sản theo khu vực

- Xây dựng được hệ thống có thể phát triển sử dụng rộng rãi trong tương lai

Kế hoạch thực hiện:(Mô tả kế hoạch làm việc và phân công công việc cho từng sinh viên

tham gia)

Giai đoạn 1: Tìm hiểu, nghiên cứu

Trang 10

Sprint 3 (21/03-03/04/2022)

Lựa chọn công nghệ cho phù hợp với sản

phẩm sẽ phát triển

Cả 2 thành viên:

- Đánh giá các công nghệ đã mô tả

- Lựa chọn công nghệ sẽ phát triển

- Lựa chọn công nghệ để deploy và public sản phẩm (AWS, Azure,….)

Giai đoạn 2: Triển khai

Trang 11

kế databse - Thiết kế source code

Nguyễn Công Hiếu (Back-end):

- Thiết kế source code

- Thiết kế database Sprint 5 (18/04-08/05/2022)

Xây dựng tính năng AI dự đoán giá

- Phân tích địa điểm, thời gian, nhu cầu của người dùng để đưa ra đề xuất

- Tích hợp API với giao diện chức năng gợi ý các bất động sản phù hợp với người dùng

Giai đoạn 3: Hoàn thiện, trình bày

Sprint 7+ (30/05-13/06/2022)

Cải thiện giao diện, sửa lỗi và sẵn sàng

Cả 2 thành viên

- Sửa các lỗi liên quan đến hệ thống

- Cải thiện giao diện trải nghiệm

Trang 12

Nguyễn Công Hiếu

Sinh viên 2 (Ký tên và ghi rõ họ tên)

Vũ Cát

Trang 13

MỤC LỤC

TÓM TẮT KHOÁ LUẬN 1

Chương 1 TỔNG QUAN 2

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

1.2 Tính năng mới, khác biệt 2

1.3 Giới thiệu hệ thống website “Rút trích và trực quan hóa thông tin bất động sản” 3

1.4 Mục tiêu và phạm vi đề tài 4

1.4.1 Mục tiêu 4

1.4.2 Phạm vi 4

1.4.3 Đối tượng sử dụng 5

1.4.4 Kết quả dự kiến 5

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

2.1 Nodejs 6

2.1.1 Giới thiệu về Nodejs 6

2.1.2 Tại sao nên sử dụng Nodejs 6

2.1.3 Áp dụng Nodejs vào đề tài 7

2.2 ExpressJS framework 7

2.2.1 Giới thiệu về ExpressJS 7

2.2.2 Tại sao nên sử dụng ExpressJS 9

2.2.3 Áp dụng ExpressJS vào đề tài 9

2.3 Django – Python: 9

2.3.1 Tổng quan về Django: 9

2.3.2 Những lợi thế của Django: 10

Trang 14

2.3.3 Sự phổ biến của Django: 11

2.3.4 Áp dụng Django vào đề tài: 11

2.4 MongoDB 11

2.4.1 Giới thiệu về MongoDB 11

2.4.2 Tại sao nên sử dụng hệ quản trị cơ sở dữ liệu MongoDB 12

2.4.3 Áp dụng MongoDB vào đề tài 13

2.5 Reactjs 14

2.5.1 Giới thiệu về Reactjs 14

2.5.2 Tại sao nên sử dụng Reactjs 14

2.6 Postman 16

2.6.1 Postman là gì? 16

2.6.2 Tại sao sử dụng Postman? 17

2.6.3 Áp dụng Postman vào đồ án: 17

2.7 Thuật toán Hồi quy tuyến tính: 17

2.7.1 Tổng quan về thuật toán Hồi quy tuyến tính: 17

2.7.2 Ví dụ về Hồi quy tuyến tính 18

2.7.3 Áp dụng thuật toán Hồi quy tuyến tính vào khóa luận 24

Chương 3 PHÁT BIỂU BÀI TOÁN 25

3.1 Giới thiệu hệ thống website “Rút trích và trực quan hóa thông tin bất động sản” 25

3.2 Khảo sát các hệ thống liên quan 26

3.2.1 Website batdongsan.com.vn 26

3.2.2 Website mogi.vn 28

3.2.3 Website alonhadat.com.vn 30

Trang 15

3.2.4 So sánh hệ thống với các website 31

3.3 Yêu cầu hệ thống 34

3.3.1 Yêu cầu chức năng 34

3.3.2 Yêu cầu phi chức năng 34

Chương 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 36

4.1 Sơ đồ phân rã cức năng: 36

4.2 Sơ đồ Use-case: 37

4.2.1 Danh sách các Actor: 38

4.2.2 Danh sách các Use-case: 38

4.2.3 Đặc tả một số use-case chính: 40

4.3 Các sơ đồ và luồng hoạt động 49

4.3.1 Đăng kí 49

4.3.2 Đăng nhập: 51

4.3.3 Tìm kiếm: 53

4.3.4 Sắp xếp: 55

4.3.5 Thiết lập biểu đồ: 57

4.3.6 Dự đoán giá nhà đất: 59

4.3.7 Đề xuất bài viết cho người dùng 61

4.4 Thiết kế kiến trúc: 63

4.4.1 Mô hình kiến trúc 63

4.4.2 Mô tả 63

4.4.3 Thiết kế cơ sở dữ liệu: 65

4.5 Thiết kế giao diện: 70

4.5.1 Màn hình đăng kí tài khoản: 70

Trang 16

4.5.2 Màn hình đăng nhập: 71

4.5.3 Màn hình trang chủ: 72

4.5.4 Màn hình xem thông tin tìm kiếm: 73

4.5.5 Màn hình xem chi tiết thông tin bài viết: 74

4.5.6 Màn hình xem thông tin biểu đồ: 75

4.5.7 Màn hình biểu đồ giá nhà đất trung bình theo thành phố 76

4.5.8 Màn hình dự đoán giá nhà đất trung bình theo quận (huyện): 77

4.5.9 Màn hình dự đoán giá nhà đất 78

Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 79

5.1 Ưu điểm: 79

5.2 Nhược điểm: 79

5.3 Kết quả đạt được: 79

5.3.1 Về mặt nghiên cứu: 79

5.3.2 Về mặt sản phẩm: 80

5.4 Hướng phát triển: 80

TÀI LIỆU THAM KHẢO 81

Trang 17

DANH MỤC HÌNH ẢNH

Hình 2.1 Blocking I/O (trái) và Non-Blocking I/O (phải) 7

Hình 2.2 Cấu trúc của ExpressJs 8

Hình 2.3 Lí do vì sao nên sử dụng Reactjs 16

Hình 2.4 Đường hồi quy tuyến tính 19

Hình 2.5 Đường hồi quy và đường thực tế 23

Hình 3.1 Trang chủ của batdongsan.com.vn 27

Hình 3.2 Trang chủ của mogi.vn 29

Hình 3.3 Trang chủ website alonhadat.com.vn 30

Hình 4.1 Sơ đồ phân rã chức năng 36

Hình 4.2 Sơ đồ Use-case tổng quan 37

Hình 4.3 Sơ đồ hoạt động chức năng đăng kí 49

Hình 4.4 Sơ đồ tuần tự chức năng đăng kí 50

Hình 4.5 Sơ đồ hoạt động chức năng đăng nhập 51

Hình 4.6 Sơ đồ tuần tự chức năng đăng nhập 52

Hình 4.7 Sơ đồ hoạt động chức năng tìm kiếm 53

Hình 4.8 Sơ đồ tuần tự chức năng tìm kiếm 54

Hình 4.9 Sơ đồ hoạt động chức năng sắp xếp 55

Hình 4.10 Sơ đồ tuần tự chức năng sắp xếp 56

Hình 4.11 Sơ đồ hoạt động chức năng thiết lập biểu đồ 57

Hình 4.12 Sơ đồ tuần tự chức năng thiết lập biểu đồ 58

Hình 4.13 Sơ đồ hoạt động chức năng dự đoán giá nhà đất 59

Hình 4.14 Sơ đồ tuần tự chức năng dự đoán giá nhà đất 60

Hình 4.15 Sơ đồ hoạt động chức năng đề xuất bài viết 61

Hình 4.16 Sơ đồ tuần tự chức năng đề xuất bài viết 62

Hình 4.17 Cơ sở dữ liệu SQLite 65

Hình 4.18 Cơ sở dữ liệu MongoDB 68

Hình 4.19 Màn hình đăng kí 70

Trang 18

Hình 4.20 Màn hình đăng nhập 71

Hình 4.21 Màn hình trang chủ 72

Hình 4.22 Màn hình thông tin bài viết 73

Hình 4.23 Màn hình thông tin chi tiết bài viết 74

Hình 4.24 Màn hình thông tin biểu đồ 75

Hình 4.25 Màn hình thông tin biểu đồ giá nhà đất trung bình theo thành phố 76

Hình 4.26 Màn hình thông tin biểu đồ giá nhà đất trung bình theo quận (huyện) 77

Hình 4.27 Màn hình dự đoán giá nhà đất theo khu vực và diện tích 78

Trang 19

DANH MỤC BẢNG

Bảng 3.1 Bảng so sánh giữa các hệ thống bất động sản 33

Bảng 4.1 Bảng danh sách người dùng 38

Bảng 4.2 Bảng danh sách use-case 39

Bảng 4.3 Bảng đặc tả use case đăng kí 40

Bảng 4.4 Bảng đặc tả use case đăng nhập 41

Bảng 4.5 Bảng đặc tả use case xem tin tức 42

Bảng 4.6 Bảng đặc tả use case tìm kiếm 43

Bảng 4.7 Bảng đặc tả use case sắp xếp 44

Bảng 4.8 Bảng đặc tả use case thiết lập biểu đồ 45

Bảng 4.9 Bảng đặc tả use case dự đoán giá nhà đất 47

Bảng 4.10 Bảng đặc tả use case đề xuất thông tin bất động sản 48

Bảng 4.11 Bảng mô tả thông tin các table trong database 65

Bảng 4.12 Bảng mô tả table User 66

Bảng 4.13 Bảng mô tả table LogSearch 67

Bảng 4.14 Bảng mô tả table LogPost 68

Bảng 4.15 Các collection trong database MongoDb 69

Bảng 4.16 Thông tin chi tiết collection PostDetail 69

Bảng 4.17 Mô tả thành phần màn hình đăng kí 70

Bảng 4.18 Mô tả thành phần màn hình đăng nhập 71

Trang 20

MVC Model – View -

Controller

MVC là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính MVC chia thành ba phần được kết nối với nhau như tên gọi: Model (dữ liệu), View (giao diện) và Controller (bộ điều khiển)

API Application Programming

Interface

API là một tập các quy tắc và cơ chế mà theo

đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML

REST Representational State

Transfer

REST () là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL

để xử lý dữ liệu

RDBMS Relational Database RDBMS có nghĩa là hệ quản trị cơ sỡ dữ liệu

Trang 21

Management System quan hệ OLS

UI User Interface Giao diện người dùng

URL Uniform Resource

Locator

URL là định vị tài nguyên thống nhất Cụ thể, URL là địa chỉ của một tài nguyên duy nhất trên Web

Trang 22

1

TÓM TẮT KHOÁ LUẬN

- Khoá luận với đề tài “Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản” nhằm mục đích cung cấp một hệ thống hỗ trợ người dùng tìm kiếm, so sánh thông tin bất động sản một cách trực quan dưới dạng những biểu đồ Qua đó giúp người dùng

dễ dàng tìm kiếm, lựa chọn thông tin bất động sản phù hợp với nhu cầu của mình

- Hệ thống cũng tích hợp chức năng dự đoán giá nhà đất, giúp người dùng có thể

dự đoán được giá tiền ở khu vực mình lựa chọn thông qua diện tích mong muốn Thêm vào đó, hệ thống sẽ phân tích thông tin người dùng, thông tin tìm kiếm để đề xuất những bài đăng bất động sản phù hợp nhất với nhu cầu người dùng

- Hệ thống được xây dựng dựa trên nền tảng Web nên người dùng dễ dàng tiếp cận

và sử dụng Nhóm sử dụng công nghệ Django – Python và NodeJS cho phía Back-end,

và sử dụng ReactJS cho Front-end để thực hiện khoá luận

- Đồ án đã được nhóm nghiên cứu và thực hiện, đưa ra những tính năng phù hợp nhất cho người dùng Đây mà một ý tưởng mới, hiện tại chưa có hệ thống nào thực hiện nên có khả năng thu hút được khách hàng nếu phát triển thương mại

Trang 23

Chương 1 TỔNG QUAN

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

- Thị trường bất động sản là một trong những thị trường có vị trí và vai trò quan trọng đối với nền kinh tế quốc dân, có quan hệ trực tiếp với các thị trường tài chính tiền tệ, thị trường xây dựng, thị trường vật liệu xây dựng, thị trường lao động Phát triển và quản lý có hiệu quả thị trường này sẽ góp phần quan trọng vào quá trình thúc đẩy phát triển kinh tế - xã hội, tạo khả năng thu hút các nguồn vốn đầu tư cho phát triển, đóng góp thiết thực vào quá trình phát triển đô thị và nông thôn bền vững theo hướng công nghiệp hoá, hiện đại hóa đất nước

- Với các kiến thức về công nghệ thông tin, ta có thể phát triển được 1 phần mềm hỗ trợ các chức năng cung cấp các thông tin thật và giúp người buôn bán và người mua có thể trao đổi thuận tiện hơn Ngoài ra cũng giúp người mua có thể tìm kiếm các thông tin phù hợp với nhu cầu của bản thân và tin tưởng vào các thông tin đăng trên website thay vì thông qua các cò đất không uy tin trên thị trường lúc bấy giờ

1.2 Tính năng mới, khác biệt

Sau khi tham khảo một số trang web bất động sản hiện nay nhóm nhận thấy những bất cập cần phải cải thiện sau đây:

- Rút trích và trực quan hóa dữ liệu để người dùng dễ dàng tìm kiếm thông tin về bất động sản

- Chưa có thống kê về thị trường bất động sản của từng khu vực

- Chưa có chức năng dự đoán giá của bất động sản trong tương lai

- Xem lịch sử tìm kiếm của người dùng

Từ đó nhóm quyết định thực hiện ứng dụng web với đầy đủ chức năng cơ bản như tra cứu thông tin, ngoài ra cũng bổ sung một vài chức năng mới phục việc tìm kiếm và đề xuất phù hợp với người dùng

Chức năng:

Trang 24

- Kế thừa toàn bộ các chứng năng ứng dụng đã có

- Thêm chức năng dự đoán giá

- Thêm biểu đồ để trực quan hóa dữ liệu một cách dễ dàng

- Thêm chức năng xem lịch sử tìm kiếm của người dùng

1.3 Giới thiệu hệ thống website “Rút trích và trực quan hóa thông tin bất động sản”

- Hệ thống sẽ thu thập, rút trích có chọn lọc thông tin bất động sản một cách hiệu quả bao gồm: nội dung, giá cả, địa chỉ, thông tin chi tiết, hình ảnh của bất động sản, của trang bất động sản nổi tiếng hiện nay đó là: alonhadat.com.vn Sau đó sắp xếp, trực quan hóa và lưu trữ thông tin một cách có hệ thống để dễ dàng sử dụng và chia sẻ thông tin tới khách hàng một cách hợp lý (rõ ràng, dễ nhìn, dễ đọc) và có lợi ích đối với khách hàng

- Hệ thống giúp khách hàng không phải đi đến từng trang web nêu trên để tìm kiếm thông tin khi cần thiết mà chỉ cần truy cập vào trang web là đủ

- Website có công cụ tìm kiếm một cách hiệu quả giúp người dùng cần tìm một số thông tin một cách nhanh nhất có thể, ví dụ tìm theo: loại nhà đất, địa chỉ bất động sản, giá cả bất động sản,

- Website có công cụ trực quan dữ liệu một cách hiệu quả giúp người dùng so sánh thông tin giữa các trang web một cách nhanh nhất có thể

- Hệ thống còn cho phép người dùng đăng thông tin bất động sản của mình lên để chia sẻ rộng rãi tới những người dùng khác và những khách hàng tìm năng

- Ngoài ra, trên mỗi tin tức được chính người dùng chia sẻ trên hệ thống, người dùng sẽ có quyền sửa hoặc xoá tin tức đó nếu thấy nội dung cung cấp bị sai lệch, và người quản trị là người có quyền sửa hoặc xoá toàn bộ tin tức, để khi có ai đó báo cáo sai lệch về tin tức nào, người quản trị sẽ trực tiếp sửa hoặc gỡ bỏ

Trang 25

1.4 Mục tiêu và phạm vi đề tài

1.4.1 Mục tiêu

- Xây dựng một website trên nền tảng web với mục đích chính là tìm kiếm, trực quan dữ liệu và chia sẻ thông tin bất động sản

- Xây dựng chức năng thêm vào danh sách ưu thích để tiện cho người dùng

- Xây dựng server theo thời gian thực, cập nhật các thông tin bài viết người dùng đăng hoặc chia sẻ

- Xây dựng chức năng đăng thông tin bất động sản

- Xây dựng chức năng cập nhật và xoá thông tin bất động sản

- Xây dựng chức năng đăng nhập và hệ thống người dùng để tăng tính bảo mật

- Xây dựng chức năng tìm kiếm thông tin bất động sản cơ bản và nâng cao

- Xây dựng chức năng sắp xếp với các yêu cầu cơ bản để giúp người dùng tiện trong lúc tìm kiếm thông tin

- Xây dựng chức năng trực quan hóa dữ liệu bằng biểu đồ, chức năng dự đoán giá nhà đất theo biểu đồ

• Quản lý thông tin người dùng

• Quản lí thông tin bất động sản

Trang 26

• Tìm kiếm thông tin loại hình bất động sản

- Hoàn thành website cung cấp thông tin bất động sản

- Hoàn thành chức năng xây dựng biểu đồ

- Hoàn thành chức năng cho phép người dùng lưu vào danh sách ưa thích

- Hoàn thành chức năng tìm kiếm và sắp xếp tin tức

- Hoàn thành chi tiết về 1 thông tin bất động sản

Trang 27

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

2.1 Nodejs

2.1.1 Giới thiệu về Nodejs

NodeJS là một nền tảng được xây dựng trên V8 JavaScript Engine – trình thông dịch thực thi mã JavaScript, giúp xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở rộng

NodeJS được phát triển bởi Ryan Dahl vào năm 2009 và có thể chạy trên nhiều

hệ điều hành khác nhau: OS X, Microsoft Windows, Linux

Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử

lý và hiệu năng khá cao

Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực Nodejs áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có thể

2.1.2 Tại sao nên sử dụng Nodejs

Các ứng dụng Nodejs được viết bằng javascript, ngôn ngữ này là một ngôn ngữ khá thông dụng Theo tác giả của ngôn ngữ Javascript, Ryan Dahl: “Javascript có những đặc tính mà làm cho nó rất khác biệt so với các ngôn ngữ lập trình động còn lại,

cụ thể là nó không có khái niệm về đa luồng, tất cả là đơn luồng và hướng sự kiện.”

Tốc độ xử lý nhanh Nhờ cơ chế xử lý bất đồng độ (non-blocking), NodeJS có thể xử lý hàng ngàn kết nối cùng lúc mà không gặp bất cứ khó khăn nào

Dễ dàng mở rộng Nếu bạn có nhu cầu phát triển website thì tính năng dễ dàng

mở rộng của NodeJS là một lợi thế cực kỳ quan trọng

Các ứng dụng NodeJS đáp ứng tốt thời gian thực và chạy đa nền tảng, đa thiết bị

Trang 28

Node.js sử dụng một mô hình luồng duy nhất với sự kiện lặp cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứng một cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như trái ngược với các máy chủ truyền thống mà tạo đề hạn chế để

xử lý yêu cầu Node.js sử dụng một chương trình đơn luồng và các chương trình tương

tự có thể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủ truyền thống như Apache HTTP Server

Hình 2.1 Blocking I/O (trái) và Non-Blocking I/O (phải)

2.1.3 Áp dụng Nodejs vào đề tài

Trong hệ thống ứng dụng của nhóm, Nodejs được áp dụng để làm phần backend cho hệ thống, vì những ưu điểm của Nodejs dành cho một ứng dụng nhỏ rất là tiện lợi đặc biệt là tốc độ xử lí

2.2 ExpressJS framework

2.2.1 Giới thiệu về ExpressJS

Express js là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nền tảng của Nodejs Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile

Về các package hỗ trợ: Expressjs có vô số các package hỗ trợ nên không phải lo lắng khi làm việc với Framework này

Trang 29

Về performance: Express cung cấp thêm về các tính năng (feature) để dev lập trình tốt hơn Chứ không làm giảm tốc độ của NodeJS

Và hơn hết, các Framework nổi tiếng của NodeJS hiện nay đều sử dụng ExpressJS như một core function, chẳng hạn: SailsJS, MEAN,

Hình 2.2 Cấu trúc của ExpressJs

- App.js chứa các thông tin về cấu hình, khai báo, các định nghĩa, để ứng dụng của chúng ta chạy trơn tru

- Package.json chứa các package cho ứng dụng chạy, có chức năng tương tự như

composer.json hoặc Gemfile trong PHP hoặc RoR

- Folder routes: chứa các route có trong ứng dụng

- Folder view: chứa view/template cho ứng dụng

- Folder public chứa các file css, js, images, cho ứng dụng

Trang 30

2.2.2 Tại sao nên sử dụng ExpressJS

Framework giúp cho việc phát triển ứng dụng được rút ngắn đi rất nhiều Cũng như các framework dựa trên những ngôn ngữ khác như Rails (Ruby); Django (Python); Laravel, CakePHP (PHP)… Express được xây dựng dựa trên NodeJs Vậy

nó có ưu điểm gì để ta lựa chọn cho việc phát triển ứng dụng

Express hỗ trợ việc phát triển ứng dụng theo mô hình MVC, mô hình phổ biến cho việc lập trình web hiện nay

Cho phép định nghĩa Middleware hỗ trợ cho việc tổ chức và tái sử dụng code Định nghĩa routes và các request method đến server một cách dễ dàng

Hỗ trợ REST API

Và còn rất nhiều thứ mà framework này hỗ trợ

2.2.3 Áp dụng ExpressJS vào đề tài

Trong hệ thống ứng dụng của nhóm, ExpressJS được áp dụng để làm phần framework backend cho hệ thống, vì những ưu điểm của ExpressJS có dành cho một ứng dụng nhỏ rất là tiện lợi đặc biệt là tốc độ xử lí, hỗ trợ Rest API, cộng đồng lớn mạnh

2.3 Django – Python:

2.3.1 Tổng quan về Django:

Django là một framework bậc cao của Python có thể thúc đẩy việc phát triển phần mềm thần tốc và clean, thiết kế thực dụng Được xây dựng bởi nhiều lập trình viên kinh nghiệm, Django tập trung lớn những vấn đề phát triển Web, bạn có thể phát triển trang web của bạn mà không cần xây dựng từ những căn bản Đặc biệt

nó free và open source

Trang 31

2.3.2 Những lợi thế của Django:

Hoàn thiện: Django phát triển theo tư tưởng "Batteries included" (có thể hiểu ý

nghĩa là tích hợp toàn bộ, chỉ cần gọi ra mà dùng) Nó cung cấp mọi thứ cho developer không cần phải nghĩ phải dùng cái ngoài Chúng ta chỉ cần tập trung vào sản phẩm, tất

cả đều hoạt động liền mạch với nhau

Đa năng: Django có thể được dùng để xây dựng hầu hết các loại website, từ hệ

thống quản lý nội dung, cho đến các trang mạng xã hội hay web tin tức Nó có thể làm việc với framework client-side, và chuyển nội dung hầu hết các loại format (HTML, RESS, JSON, XML, )

Bảo mật: Django giúp các developer trang các lỗi bảo mật thông thường bằng

cách cung cấp framework rằng có những kĩ thuật "phải làm như vậy" để bảo vệ website Ví dụ: Django cung cấp bảo mật quản lý tên tài khoản và mật khẩu, tránh các lỗi cơ bản như để thông tin session lên cookie, mã hóa mật khẩu thay vì lưu thẳng

Dễ Scale: Django sử dụng kiến trúc shared-nothing dựa vào component (mỗi

phần của kiến trúc sẽ độc lập với nhau, và có thể thay thế hoặc sửa đổi nếu cần thiết)

Có sự chia tách rõ ràng giữa các phần nghĩa là nó có thể scale cho việc gia tăng traffic bằng cách thêm phần cứng ở mỗi cấp độ: caching, servers, database servers, hoặc application servers Nhiều web về kinh doanh đã thành công khi Django được scale đáp ứng yêu cầu của họ

Dễ maintain: code Django được viết theo nguyên tắc thiết kế và pattern có thể

khuyến khích ý tưởng bảo trì và tái sử dụng code Trên thực tế, nó sự theo khái niệm Don't Repeat Yourself làm cho không có sự lặp lại không cần thiết, giảm một lượng code

Tính linh động: Django được viết bằng Python, nó có thể chạy đa nền tảng Nó

có nghĩa rằng bạn không ràng buộc một platform server cụ thể Django được hỗ trợ tốt

Trang 32

ở nhiều nhà cung cấp hosting, họ sẽ cung cấp hạ tầng và tài liệu cụ thể cho hosting web Django

2.3.3 Sự phổ biến của Django:

Thực sự chưa có một bài thống kê cụ thể về sự phố biến các framework Việc đánh gía hiện nay dựa vào số lượng các web phổ biến dùng Django, số lượng người đóng góp codebase, và số lượng người phát triển cả tình nguyện lẫn được trả công Thì

có thể cho rằng Django là framework phổ biến

Các trang web phổ biến sử dụng Django: Disqus, Instagram, Knight Foundation, MacArthur Foundation, Mozilla, National Geographic, Open Knowledge Foundation, Pinterest, and Open Stack

2.3.4 Áp dụng Django vào đề tài:

Trong ứng dụng của nhóm, Django được sử dụng để xây một micro service phụ trợ cho service chính Dựa trên thế mạnh về dữ liệu của ngôn ngữ Python, nhóm áp dụng Django để xây dựng thuật toán và xử lí dữ liệu nhanh chóng hơn

2.4 MongoDB

2.4.1 Giới thiệu về MongoDB

MongoDB là phần mềm cơ sở dữ liệu mã nguồn mở NoSQL hỗ trợ đa nền tảng được thiết kế theo hướng đối tượng Vì thế, nó có thể dùng để lưu trữ dữ liệu có cấu trúc phức tạp và đa dạng Dữ liệu được gọi là Big Data Đặc biệt, chương trình này lưu trữ dữ liệu vào collection theo hướng tài liệu kiểu JSON thay vì bảng nên có hiệu suất cao và tính khả dụng cao

Trong khái niệm của MongoDB có nhắc đến NoSQL, vậy NoSQL Relational SQL) là dạng cơ sở dữ liệu mã nguồn mở được ra đời như một mô hình tiến

(Non-bộ hơn về tốc độ, tính năng,… so với hệ quản trị cơ sở dữ liệu quan hệ RDBMS NoSQL có kiểu dữ liệu JSON Đây là dạng dữ liệu kiểu key và value cùng với hiệu

Trang 33

suất nhanh và khả năng mở rộng không bị ràng buộc bởi việc tạo khóa ngoại, khóa chính,… nên được ưa chuộng và sử dụng rất phổ biến

Với NoSQL, có thể mở rộng dữ liệu một cách thoải mái mà không phải lo lắng

về khóa ngoại hay là khóa chính, hoặc các công việc như là kiểm tra ràng buộc như hệ quản trị cơ sở dữ liệu truyền thống

Ưu điểm: NoSQL giải quyết được các vấn đề dữ liệu lớn (big data) về các hệ

thống thông tin hoặc là phân tán dữ liệu

Nhược điểm: cũng từ ưu điểm trên, do không hạn chế việc mở rộng dữ liệu nên

nó tồn tại một số nhược điểm như là: sự phụ thuộc vào từng bản ghi, tính nhất quán hoặc là đặc tính toàn vẹn dữ liệu

2.4.2 Tại sao nên sử dụng hệ quản trị cơ sở dữ liệu MongoDB

Ưu điểm:

- Đầu tiên có thể nhắc đến là tính linh hoạt lưu trữ dữ liệu theo các kích cỡ khác nhau, dữ liệu dưới dạng hướng tài liệu JSON nên bạn có thể chèn vào thoải mái bất cứ thông tin gì bạn muốn

- Khác với RDBMS, dữ liệu trong đây không có sự ràng buộc và không có yêu

cầu tuân theo khuôn khổ nhất định, điều này giúp bạn tiết kiệm thời gian cho việc kiểm tra sự thỏa mãn về cấu trúc nếu muốn chèn, xóa, cập nhật hay thay đổi các dữ liệu trong bảng

- MongoDB dễ dàng mở rộng hệ thống bằng cách thêm node vào cluster – cụm các node chứa dữ liệu giao tiếp với nhau

- Ưu điểm thứ tư là tốc độ truy vấn nhanh hơn nhiều so với hệ quản trị cơ sở dữ

liệu quan hệ RDBMS do dữ liệu truy vấn được cached lên bộ nhớ RAM để lượt truy

vấn sau diễn ra nhanh hơn mà không cần đọc từ ổ cứng

Trang 34

- Cũng là một ưu điểm về hiệu suất truy vấn của MongoDB, trường dữ liệu

“_id” luôn được tự động đánh chỉ mục để đạt hiệu suất cao nhất

Tại sao nên sử dụng MongoDB:

- Khi website có tính chất INSERT cao, bởi vì mặc định MongoDB có sẵn cơ chế ghi với tốc độ cao và an toàn

- Khi website ở dạng real-time nhiều, nghĩa là nhiều người cùng thao tác với ứng dụng trong thời gian thực Ví dụ như ứng dụng chat hay stream trực tuyến chẳng hạn

- Với website có nhiều dữ liệu, giả sử ứng dụng web có đến 10 triệu bản ghi thì khá khó khăn để query được với Mysql Chọn MongoDB vì MongoDB có khả năng tìm kiếm thông tin liên quan cũng khá nhanh nên trường hợp này nên dùng nó

2.4.3 Áp dụng MongoDB vào đề tài

Nhờ những tính năng nổi trội của MongoDB, nhóm đã sử dụng MongoDB dùng làm

hệ quản trị cơ sở dữ liệu chính Server sử dụng MongoDB để lưu trữ toàn bộ dữ liệu,

dữ liệu này sẽ được server sử dụng REST API để gọi lên

Trang 35

2.5 Reactjs

2.5.1 Giới thiệu về Reactjs

React.js là một thư viện Javascript đang nổi lên trong những năm gần đây với

xu hướng Single Page Application Trong khi những framework khác cố gắng hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ dàng phối hợp với những thư viện Javascript khác Nếu như AngularJS là một Framework cho phép nhúng code javasscript trong code html thông qua các attribute như ng-model, ng-repeat thì với react là một library cho phép nhúng code html trong code javascript nhờ vào JSX, có thể dễ dàng lồng các đoạn HTML vào trong JS.Tích hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểu hơn

React là một thư viện UI phát triển tại Facebook để hỗ trợ việc xây dựng những thành phần (components) UI có tính tương tác cao, có trạng thái và có thể sử dụng lại được React được sử dụng tại Facebook trong production, và Instagram được viết hoàn toàn trên React

Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau React so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM

2.5.2 Tại sao nên sử dụng Reactjs

Dễ sử dụng:

- React là một thư viện GUI nguồn mở JavaScript tập trung vào một điều cụ thể; hoàn thành nhiệm vụ UI hiệu quả Nó được phân loại thành kiểu “V” trong mô hình MVC (Model-View-Controller)

- Là lập trình viên JavaScript, bạn sẽ dễ dàng hiểu được những điều cơ bản về React Bạn thậm chí có thể bắt đầu phát triển các ứng dụng dựa trên web bằng cách sử dụng react chỉ trong vài ngày

Trang 36

- Để củng cố hiểu biết của mình, bạn hãy thử khám phá thêm nhiều hướng dẫn về React Chúng mang đến nhiều thông tin về cách sử dụng công cụ: videos, hướng dẫn và dữ liệu làm phong phú góc nhìn của bạn

Hỗ trợ Reusable Component trong Java:

- React cho phép bạn sử dụng lại components đã được phát triển thành các ứng dụng khác có cùng chức năng Tính năng tái sử dụng component là một lợi thế khác biệt cho các lập trình viên

Viết component dễ dàng hơn:

- React component dễ viết hơn vì nó sử dụng JSX, mở rộng cú pháp tùy chọn cho JavaScript cho phép kết hợp HTML với JavaScript

- JSX là một sự pha trộn tuyệt vời của JavaScript và HTML Nó làm rõ toàn bộ quá trình viết cấu trúc trang web Ngoài ra, phần mở rộng cũng giúp render nhiều lựa chọn dễ dàng hơn

- JSX có thể không là phần mở rộng cú pháp phổ biến nhất, nhưng nó được chứng minh là hiệu quả trong việc phát triển components đặc biệt hoặc các ứng dụng

có khối lượng lớn

Hiệu suất tốt hơn với Virtual DOM:

- React sẽ cập nhật hiệu quả quá trình DOM (Document Object Model – Mô hình đối tượng tài liệu) Như đã biết, quá trình này có thể gây ra nhiều thất vọng trong các dự án ứng dụng dựa trên web May mắn là React sử dụng virtual DOMs, vì vậy có thể tránh được vấn đề này

- Công cụ cho phép xây dựng các virtual DOMs và host chúng trong bộ nhớ Nhờ vậy, mỗi khi có sự thay đổi trong DOM thực tế, thì virtual sẽ thay đổi ngay lập tức

- Hệ thống này sẽ ngăn DOM thực tế để buộc các bản cập nhật được liên tục

Do đó, tốc độ của ứng dụng sẽ không bị gián đoạn

Trang 37

Thân thiện với SEO:

- React cho phép tạo giao diện người dùng có thể được truy cập trên các công

cụ tìm kiếm khác nhau Tính năng này là một lợi thế rất lớn vì không phải tất cả các khung JavaScript đều thân thiện với SEO

- Ngoài ra, vì React có thể tăng tốc quá trình của ứng dụng nên có thể cải thiện kết quả SEO Cuối cùng tốc độ web đóng một vai trò quan trọng trong tối ưu hóa SEO

Hình 2.3 Lí do vì sao nên sử dụng Reactjs

Trang 38

Postman hỗ trợ tất cả các phương thức HTTP (GET, POST, PUT, PATCH, DELETE, …) Bên cạnh đó, nó còn cho phép lưu lại lịch sử các lần request, rất tiện cho việc sử dụng lại khi cần

2.6.2 Tại sao sử dụng Postman?

Những lợi ích khi sử dụng Postman:

Sử dụng Collections – Postman cho phép người dùng tạo bộ sưu tập cho các lệnh gọi API của họ Mỗi bộ sưu tập có thể tạo các thư mục con và nhiều yêu cầu (request) Điều này giúp việc tổ chức các bộ thử nghiệm

Collaboration – Collections và environment có thể được import hoặc export giúp chia sẻ tệp dễ dàng

API Testing – Test trạng thái phản hồi HTTP

Gỡ lỗi – Bảng điều khiển Postman giúp kiểm tra dữ liệu nào đã được truy xuất giúp dễ dàng gỡ lỗi kiểm tra

2.6.3 Áp dụng Postman vào đồ án:

Trong đồ án, nhóm sử dụng postman để test và xây dựng các API

2.7 Thuật toán Hồi quy tuyến tính:

2.7.1 Tổng quan về thuật toán Hồi quy tuyến tính:

"Hồi quy tuyến tính" là một phương pháp thống kê để hồi quy dữ liệu với biến phụ thuộc có giá trị liên tục trong khi các biến độc lập có thể có một trong hai giá trị liên tục hoặc là giá trị phân loại Nói cách khác "Hồi quy tuyến tính" là một phương pháp để dự đoán biến phụ thuộc (y) dựa trên giá trị của biến độc lập (x) Nó có thể được sử dụng cho các trường hợp chúng ta muốn dự đoán một số lượng liên tục Ví dụ,

Trang 39

dự đoán giao thông ở một cửa hàng bán lẻ, dự đoán thời gian người dùng dừng lại một trang nào đó hoặc số trang đã truy cập vào một website nào đó

2.7.2 Ví dụ về Hồi quy tuyến tính

 Phương sai (σ2) - Đánh giá độ phân tán trong dữ liệu của bạn

 Độ lệch chuẩn (σ) - Đánh giá độ phân tán trong dữ liệu của bạn (căn bậc hai của phương sai)

 Phân phối chuẩn

 Sai số (lỗi) - {giá trị thực tế - giá trị dự đoán}

2.7.2.2 Giả định

Không một kích thước nào phù hợp cho tất cả, điều này cũng đúng đối với Hồi quy tuyến tính Để thoả mãn hồi quy tuyến tính, dữ liệu nên thoả mãn một vài giả định quan trọng Nếu dữ liệu của bạn không làm theo các giả định, kết quả của bạn có thể sai cũng như gây hiểu nhầm

- Tuyến tính & Thêm vào : Nên có một mối quan hệ tuyến tính giữa biến độc lập

và biến không độc lập và ảnh hưởng của sự thay đổi trong giá trị của các biến độc lập nên ảnh hưởng thêm vào tới các biến phụ thuộc

- Tính bình thường của phân bổ các lỗi : Sự phân bổ sai khác giữa các giá trị thực

và giá trị dự đoán (sai số) nên được phân bổ một cách bình thường

- Sự tương đồng: Phương sai của các lỗi nên là một giá trị không đổi so với:

 Thời gian

Trang 40

 Dự đoán

 Giá trị của các biến độc lập

Sự độc lập về thống kê của các lỗi: Các sai số (dư) không nên có bất kỳ mối tương quan nào giữa chúng Ví dụ: Trong trường hợp dữ liệu theo chuỗi thời gian, không nên có sự tương quan giữa các sai số liên tiếp nhau

2.7.2.3 Đường hồi quy tuyến tính

Trong khi sử dụng hồi quy tuyến tính, mục tiêu của chúng ta là để làm sao một đường thẳng có thể tạo được sự phân bố gần nhất với hầu hết các điểm Do đó làm giảm khoảng cách (sai số) của các điểm dữ liệu cho đến đường đó

Hình 2.4 Đường hồi quy tuyến tính

Ví dụ, ở các điểm ở hình trên (trái) biểu diễn các điểm dữ liệu khác nhau và đường thẳng (bên phải) đại diện cho một đường gần đúng có thể giải thích mối quan hệ giữa các trục x & y Thông qua, hồi quy tuyến tính chúng ta cố gắng tìm ra một đường như vậy Ví dụ, nếu chúng ta có một biến phụ thuộc Y và một biến độc lập X - mối quan hệ giữa X và Y có thể được biểu diễn dưới dạng phương trình sau:

Y = Β0 + Β1*X

Ngày đăng: 16/06/2022, 21:04

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] "Cherrio" [Online]. Available: https://cheerio.js.org/ Sách, tạp chí
Tiêu đề: Cherrio
[2] "ExpressJS" [Online]. Available: https://expressjs.com/ Sách, tạp chí
Tiêu đề: ExpressJS
[3] "MongoDB" [Online]. Available: https://www.mongodb.com/ Sách, tạp chí
Tiêu đề: MongoDB
[4] "NodeJS" [Online]. Available: https://nodejs.org/en/docs/ Sách, tạp chí
Tiêu đề: NodeJS
[6] Tài liệu React: https://reactjs.org/docs/getting-started.html [7] StackOverFlow: https://stackoverflow.com/ Sách, tạp chí
Tiêu đề: Tài liệu React
[8] Django: https://docs.djangoproject.com/en/4.0/ Sách, tạp chí
Tiêu đề: Django
[9] Django Rest Framework: https://www.django-rest-framework.org/ Sách, tạp chí
Tiêu đề: Django Rest Framework
[5] Tài liệu JavaScript: https://javascript.info/37 Link
[10] Viblo: https://viblo.asia/ Link
[11] Geeks For Geeks: https://www.geeksforgeeks.org/ Link

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Blocking I/O (trái) và Non-Blocking I/O (phải) - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 2.1. Blocking I/O (trái) và Non-Blocking I/O (phải) (Trang 28)
Hình 2.2. Cấu trúc của ExpressJs - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 2.2. Cấu trúc của ExpressJs (Trang 29)
Hình 2.3 Lí do vì sao nên sử dụng Reactjs - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 2.3 Lí do vì sao nên sử dụng Reactjs (Trang 37)
Hình 2.4 Đường hồi quy tuyến tính - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 2.4 Đường hồi quy tuyến tính (Trang 40)
Hình 3.1 Trang chủ của batdongsan.com.vn - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 3.1 Trang chủ của batdongsan.com.vn (Trang 48)
Hình 3.2 Trang chủ của mogi.vn - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 3.2 Trang chủ của mogi.vn (Trang 50)
Hình 3.3 Trang chủ website alonhadat.com.vn - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 3.3 Trang chủ website alonhadat.com.vn (Trang 51)
Hình 4.1. Sơ đồ phân rã chức năng - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.1. Sơ đồ phân rã chức năng (Trang 57)
Hình 4.2 Sơ đồ Use-case tổng quan - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.2 Sơ đồ Use-case tổng quan (Trang 58)
Hình 4.3 Sơ đồ hoạt động chức năng đăng kí - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.3 Sơ đồ hoạt động chức năng đăng kí (Trang 70)
Hình 4.4 Sơ đồ tuần tự chức năng đăng kí - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.4 Sơ đồ tuần tự chức năng đăng kí (Trang 71)
Hình 4.5 Sơ đồ hoạt động chức năng đăng nhập - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.5 Sơ đồ hoạt động chức năng đăng nhập (Trang 72)
Hình 4.6 Sơ đồ tuần tự chức năng đăng nhập - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.6 Sơ đồ tuần tự chức năng đăng nhập (Trang 73)
Hình 4.7 Sơ đồ hoạt động chức năng tìm kiếm - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.7 Sơ đồ hoạt động chức năng tìm kiếm (Trang 74)
Hình 4.8 Sơ đồ tuần tự chức năng tìm kiếm - Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp)
Hình 4.8 Sơ đồ tuần tự chức năng tìm kiếm (Trang 75)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w