1. Trang chủ
  2. » Luận Văn - Báo Cáo

phân tích dữ liệu phân nhóm và dự đoán giá phòng cho thuê qua web airbnb tại singapore năm 2019 bằng phần mềm orange

20 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Phan Tich Du Lieu, Phan Nhom Va Du Doan Gia Phong Cho Thue Qua Web Airbnb Tai Singapore Nam 2019 Bang Phan Mem Orange
Tác giả Nguyen Duc Tuan Minh, Dieu Chinh Khoa
Người hướng dẫn TS. Dang Ngoc Hoang Thanh
Trường học Dai Hoc Kinh Te TP Ho Chi Minh
Chuyên ngành Khoa Hoc Du Lieu
Thể loại Do An Mon Hoc
Năm xuất bản 2022
Thành phố TP. Ho Chi Minh
Định dạng
Số trang 20
Dung lượng 3,64 MB

Nội dung

Phân tích dữ liệu 9 2.2, Bài Toán: Dự báo giá thuê phòng trong Airbnb theo các tiêu chí được có sẵn từ đó giúp khách hàng có thế đễ dàng lựa chọn được các căn hộ khách sạn phù hợp với b

Trang 1

BO GIAO DUC VA DAO TAO DAI HOC KINH TE TP HO CHi MINH

TRUONG CONG NGHE VA THIET KE

UEH UNIVERSITY

DO AN MON HOC

DE TAI:

PHAN TICH DU LIEU, PHAN NHOM VA DU DOAN GIA

PHONG CHO THUE QUA WEB AIRBNB TAI SINGAPORE

NAM 2019 BANG PHAN MEM ORANGE

HOC PHAN: KHOA HOC DU LIEU

NHOM SINH VIEN:

1 NGUYEN DUC TUAN MINH

2 DIEU CHINH KHOA

CHUYEN NGANH: KY THUAT PHAN MEM

KHOA: K47

GIANG VIEN: TS DANG NGOC HOANG THANH

TP Hồ Chí Minh, ngày 28 tháng 9 năm 2022

Trang 2

MUC LUC

CHƯƠNG 1: TỎNG QUAN (- th HH Hư 2

1.1 Giới thiệu về Python và phần mềm Orange 2

1.5.1 Phương pháp Cây quyết định (Decision Tree) 3 1.9.2 Phương pháp SVM (Support Vector Miachine) 4 1.9.3 — Phương pháp KNN (K- Nearest Neighbor) 5 1.9.4 Phương pháp phân cựm (Clustering) 5

CHƯƠNG 2: QUY TRÌNH THỰC HIỆN c5 S2 2 2213 21 211221012 9

211 Phân tích dữ liệu 9

2.2, Bài Toán: Dự báo giá thuê phòng trong Airbnb theo các tiêu chí được có sẵn từ đó giúp khách hàng có thế đễ dàng lựa chọn được các căn hộ khách sạn phù hợp với budget của mình

12

2.2.1 QQUV TrÌHH LHỰC HẲỆH, Ăn TY TH HT TH HT HT T0 TH 12 2.2.2 Đánh giá và kẾI quả ăcSẶĂc ST HH HH1 ke 13

Page | 1

Trang 3

CHUONG 1: TONG QUAN

1.1 Giới thiệu về Python và phần mềm Orange

- Python là một ngôn ngữ lập trình hướng đối tượng và là một ngôn ngữ bậc cao ngữ nghĩa động Với hình thức sáng sủa, cầu trúc rõ ràng, thuận tiện cho người mới học lập trình và là ngôn ngữ lập trình dễ học, được sử dụng rộng rãi Được ra mắt vào năm 1991, Python hiện tại đã trở thành top 3 trong tất cả các ngôn ngữ lập trình phô biến nhất trên thế giới Và tat nhiên, Python rất mạnh trong công việc khai thác dữ liệu

- Orange là một phần mềm trực quan đề trực quan hóa dữ liệu, khai thác dữ liệu cũng như là phân tích dữ liệu một cách thông minh, đơn giản, được xây dựng từ ngôn ngữ Python với giao diện trực quan và tương tác dé dàng Với nhiều chức năng, phần mềm này có thê phân tích được những dữ liệu từ đơn giản đến phức tạp, tạo ra những

đồ họa đẹp mắt và thú vị và còn giúp việc khai thác dữ liệu và học máy trở nên dễ dàng hơn cho cả người dùng mới và chuyên gia

- Orange cung cấp các widgets mang đến các khả năng đọc dữ liệu, hiện thị dữ liệu dạng table, cũng như lọc, huấn luyện và dự báo

1.2 Ly do chon dé tai

- Là những sinh viên ngành Kỹ thuật phần mềm và thuộc trường Đại Học UEH nói chung, thì việc kết hợp công nghệ khai phá dữ liệu cũng như công nghệ thông tin

với các kiến thức kinh tế sẽ giúp sinh viên chúng tôi hiểu rõ hơn về việc kinh doanh,

nghiên cứu thị trường và doanh nghiệp

- Airbnb là một trong những business mà đã thay đôi hoàn toàn cách mà các khách sạn, homestay hoạt động Đây là một dịch vụ di động nhằm kết nối người cần

thuê nhà, chỗ ở với những người có nhu cầu cho thuê nhà và chỗ ở Người cần thuê chỉ

cần nhập nơi mong muốn, xác nhận thì địa chỉ của căn hộ sẽ được gửi đến Tất cả việc thanh toán sẽ được thông qua ứng dụng này và nó sẽ thu khoản phí trung gian với cả người thuê và người cho thuê Chỉ trong hơn một thập kỷ nó đã phát triển rất nhanh

Thành lập năm 2008, Airbnb đã trở thành doanh nghiệp hằng đầu về booking khách

sạn, có độ phủ sóng cao, và nhu cầu booking, đặt thuê của các khách hàng qua Airbnb

là rất lớn Tuy nhiên, điều mà khách hàng rất quan tâm nhất khi sử dụng dịch vụ đó là

Page | 2

Trang 4

giá cả, chi phi dé thuê phòng Airbnb đã phủ sóng gần như trên thê giới nói chung và Đông Nam Á nói riêng Với việc phân tích số liệu của Airbnb của Singapore thì chúng

ta đã có thê tìm hiểu được một khía cạnh nào đó nhu cầu, xu hướng, lẫn cả dự báo được giá cả thuê phòng của Đông Nam Á nói chung và từ đó đưa ra được định giá tốt nhất cho các phòng cho thuê tương ứng

- Với bộ dữ liệu chính xác của Airbnb được chia sẻ năm 2019 về Nhà ở cho thuê ở Singapore được thu thap tai https://www.kagele.com/datasets/jojoker/singapore-

airbnb

> Từ những lý do này, sinh viên nghiên cứu lựa chọn đề tai PHAN TICH

DU LIEU, PHAN NHOM VA DU DOAN GIA PHONG CHO THUE QUA WEB AIRBNB TAI SINGAPORE NẤM 2019 để làm đồ án cuỗi kỳ môn học Khoa học dữ

liệu

1.3 — Mục tiêu nghiên cứu

- Dự báo được giá thuê phòng loai Private Room trong Airbnb theo các tiêu chí được có sẵn từ đó giúp khách hàng có thể dễ dàng lựa chọn dịch vụ phù hợp với budget của mình

1.4 — Đối tượng nghiên cứu

Ở đồ án này, chúng tôi sử dụng bộ dữ liệu “Sizgapore Airbnb” được thu thập từ InsideAirbnb vào ngày 28 tháng 8 năm 2019 và được chia sẻ trên kaggle.com Bộ dữ liệu này cung cấp thông tin về danh sách chỉ tiết về dữ liệu cho thuê trên Airbnb tại Singapore năm 20 19

1.5 Mô tả phương pháp

1.5.1 Phương pháp Cây quyết định (Decision Tree)

- Cây quyết định là đồ thị các quyết định cùng các kết quả khả dĩ đi kèm nhằm

hỗ trợ quá trình ra quyết định Trong lĩnh vực khai thác dữ liệu, cây quyết định là phương pháp nhằm mô tả, phân loại và tổng quát hóa tập đữ liệu cho trước

Page | 3

Trang 5

Play (Y) or Not (N)

outlook?

sunny

overcast

humidity?

high 7 \normail

Hinh 1: Vidu vé Decision Tree trong thoi tiét

15.2 Phuong phap SVM (Support Vector Machine)

- Là một thuật toán có giám sát, ŠVM nhận dữ liệu vào, xem chúng như những các vector trong không giian và phân loại chúng vào các lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt phân cách các lớp dữ liệu

SVM có thể phù hợp với các bài toán phân loại khác nhau

4'2/

Hình 2 Ví dụ về SVM

Page | 4

Trang 6

1.5.3 Phuong phap KNN (K- Nearest Neighbor)

- Là thuật toán đơn giản trong những thuật toán supervised-learning nhung lai hiểu quả trong một số trường hợp Thuật toán này không cần học từ dữ liệu huấn

luyện, khi cần dự đoán kết quả của đữ liệu mới thì thuật toán này thực hiện tính toán

to classify Class A

2“ #*| `

Hình 3 Ví dụ về K-Nearest Neighbor 15.4 Phương pháp phân cụm (Clustering)

- Phân cụm dữ liệu là quá trình gom cụm/nhóm các đôi tượng/dữ liệu có đặc điểm tương đồng vào các cụm/nhóm tương ứng Trong đó:

Các đối tượng trong cùng một cụm sẽ có những tính chất tương tự nhau

e Các đối tượng thuộc nhóm/cụm khác nhau sẽ có các tính chất khác nhau

- Lưu ý: Dữ liệu của bài toán phân cụm là dữ liệu chưa được gán nhãn Đây là dữ liệu tự nhiên thường thấy trong thực tế

Page | 5

Trang 7

Hinh 4 Vi du vé Clustering

Đặc điểm:

- Nhiệm vụ chính là tìm ra và đo đạc sự khác biệt giữa các đối tượng dữ liệu

- Phân cụm thuộc nhóm phương pháp học không giám sát (unsupervised

learning) vì không biết trước được số nhóm (khác với bài toán phân lớp)

- Một phương pháp phân cụm tốt là phương pháp tạo ra các cụm có chất lượng Cao:

° Độ tương đồng bên trong cụm cao

e Độ tương ty giữa các cụm thấp

- Các ứng dụng điền hình

e Công cụ phân cụm dữ liệu độc lap

° Là giai đoạn tiền xử lý cho các thuật toán khác

Độ đo phân cụm: được sử dụng làm tiêu chí nhằm tính toán sự tương đồng /sai biệt giữa các đối tượng dữ liệu nhằm phục vụ cho quá trình gom cụm

Một số độ đo phân cụm nồi tiếng nhu: Euclid, Cosin, Minkowski,

Page | 6

Trang 8

16 Mo tadirligu

Chúng tôi sử dụng bộ dữ liệu “Sngaore Airbnb ” được thu thập từ InsideArrbnb vào ngày 28 tháng 8 năm 2019 và được chia sẻ trên kaggle.com Bộ dữ liệu này cung cấp thông tin về danh sách chỉ tiết về dữ liệu cho thuê trên Airbnb tại Singapore năm

2019

Bộ dữ liệu gồm các thuộc tính:

price Giá phòng mỗi ngày (Đơn vị USD)

host name Tên của chủ nhà/người cho thuê

id Mã định danh của đối tượng cho thuê

host 1d Mã định danh của chủ nhà

neighbourhood_ øroup Tên của nhóm khu vực lân cận

neighborhood Tên của khu vực lân cận

room type Loại phòng của đối tượng cho thuê

minumum_ nights Số đêm lưu trú tôi thiêu của đối tượng

cho thuê

number of reviews Số lượng đánh giá của đối tượng cho

thuê

last_ review Ngày đánh giá gần nhất

Page | 7

Trang 9

reviews per month Số lượt đánh giá trung bình mỗi tháng

caculated_host_listings count Số lượng phòng cho thuê cùng thành

phố mà chủ nhà sở hữu có trong danh sách hiện tại

avallability 365 Tính khả dụng trong một năm

Bảng 1 Chú thích tên Các Thuộc Tính

Page | 8

Trang 10

CHUONG 2: QUY TRINH THUC HIEN 2.1 Phân tích và tiền xử lý dữ liệu

2.1.1 Phân tích dữ liệu

Phân tích dữ liệu của các đặc trưng có tính phân loại như sau:

- Mỗi hàng là một đối tượng cho thuê, mỗi cột là các thuộc tính của đối tượng đó

- Dữ liệu gốc chứa 7907 đối tượng và 13 đặc tính

- Trong cột dữ liệu về loại phòng (room type) có 3 loại thuộc tính như sau: Entire home/apt (Toàn bộ căn hộ), Private Room (Phòng riêng trong một căn hộ), Shared Room (Phong 6 chung với khách khác)

- Trong bộ dữ liệu thì chúng ta thây được tỉ lệ loại phòng Entire home/apt và Private Room cao hon hoan toàn so với loại phòng còn lại đó là Shared room (Entire home/apt chiếm 52.26% và Private room chiếm 42.76% còn lại Shared room chỉ chiếm 4.98%)

- Hai khu vực có lượng phòng nhiều nhất là Kallang với tỉ lệ phòng cho thuê ở khu vực này là 13.19% và Geylang với tỉ lệ là 12.579

- Giá phòng chủ yếu phân bố từ $0 - $1000, mức độ giá này cũng khác nhau theo

các loại phòng, chúng ta có thê thấy rẻ nhất vẫn là Shared Room rồi đến Private Room

va đắt nhất là Entire Room/apt Có một vài đối tượng có giá thuê cao hơn mức bình thường và có lên tới mức $10000

Page | 9

Trang 11

9 2500,

2500 - 5000

7500 - 10000

Biểu đồ 1 Dữ liệu theo loại phòng và giá (Scatter Plot)

@ Frere bomalapt

@ mate room

© shared room,

Ere ronenet man nen Snvetroyr

renee

Biểu đồ 2 Số lượng đối tượng theo loại căn hộ

Page | 10

Trang 12

Freaerey

i

© racer ==

© shared room

ni ee

Biểu đồ 3 Tỉ lệ các loại phòng cho thuê theo khu vực

2.1.2 Tiền xử lý dữ liệu

- Bộ dữ liệu được sử dụng đã được xác minh và đã được qua xử lý trước khi thu thập Vì vậy, cơ bản sẽ không có missing data

308

os

rs

=

8

Hình 5 Bộ dữ liệu gốc

- Tách dữ liệu gốc thành các bộ dữ liệu riêng chỉ bao gồm Private Room

- Loại bỏ các giá trị ngoại lai (Outliers) trong bộ Private Room

Page | 11

Trang 13

- Thêm biến Price Range vào bộ dữ liệu về Private Room, tương ứng với nó là các khoảng giá thuê phòng trong cột Price Chúng tôi chia theo từng khoảng gia sao cho số lượng phòng theo các khoảng giá đó là đều nhau

Hình ó Bộ dữ liệu sau khi tiền xử lý

Bang 2 Chú thích cách đặt biến Price Range 2.2 — Bài Toán: Dự báo giá thuê phòng trong Airbnb theo các tiêu chí được có sẵn từ đó giúp khách hàng có thể dễ dàng lựa chọn được các căn hộ khách sạn phù hợp với budget của mình

2.2.1 Quy trình thực hiện

Page | 12

Trang 14

* Evaluation Results

3 : TT

£ Trang Di 5 J Test and Score Confusion Matrix

SA ở

LD) = [Tạ SVM

§ «$

Original Data Separate Data Š 2

s Fg

% Neural Network £

2

9 Š kNN

s

Meg,

Random Forest

Ấy

Predictions — Dats Selected Data — Data

C212 ba Đredcbons Predictions Data

Hình 7 Mô hình giải trên phần mềm Orange

- Bước l: Sử dụng widget File trong Orange đề load file Private Room.csv và chọn Price Range làm Target

- Bước 2: Chia dữ liệu gốc thành 2 phần 70 — 30 bằng widget Data Sampler Phần Data Sampling dùng để huấn luyện, còn phần Remaining Data dùng đề dự báo

- Bước 3: Dùng các phương pháp phân loại dữ liệu là SVM, Neural Network, kNN, Random Forest Từ đó đánh giá hiệu quả của các phương pháp bằng widget Test and Score va Confusion Matrix

- Bước 4: Chọn ra được phương pháp tốt nhất, và dùng nó để dự báo cho Training Data thong qua widget Predictions

2.2.2 Danh gid va két qua

- Kết qua str dung Test and Score:

Page | 13

Trang 15

© ross validation Evaluation results for target (None, show average over dasses) ~

Number offolds: lo Model AUC CA FI Precision Recall

@ Stratified kNN 0599 0337 0336 0342 0337

Cross validation by feature SVM 0553 0311 0224 0356 0311

Random Forest 0995 0954 0954 0955 0954

Random samping Neural Network 0.500 0.244 0234 0251 0.244

Training set size: 66% v

G Stratified

O Leave one out

O Test on train data Compare models by: Area under ROC curve x_ [ ]Neghgble díf.: 0.1

O Test on test data kNN SVM Random Forest Neural Network

kNN 1,000 0,000 1.000

Random Forest 1.000 1.000 1.000

Neural Network 0.000 0.000 0.000

sẽ ona dus da cas fo dn aod dn ob nln need Go sd Gn =

probability that the difference is negligible

2 | 3] 2360) -|mmmm)|- [3 2360) 4x2360

Hinh tt Test and Score Result

- Danh gia ket qua bang Confusion Matrix :

23! Confusion Matrix - Orange — n x Learners

SVM

Neural Network

Random Forest

Output

@ Predictions

C) Probabilities

@® Apply Automatically

Predicted

(50;69] (69;100] <=50 >100 › (50;69] 291% 27.9% 243% 157% 653 (69100] 237% 279% 209% 197% 551

z <=50 273% 148% 391% 172% 630

>100 199% 295% 157% 47.5% 526

x 1986 61 115 198 2360

Select Correct Select Misdassified Clear Selection

2 B | 4 4x2360 B 1812360

Hình 9 Kết quả Confusion Matrix cla SVM

Page | 14

Ngày đăng: 10/08/2024, 16:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w