- Bước 2: Đánh giá mô hình kiểm tra tính đúng đắn • Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được g n nhãn và tiắ ền xử lý.. • Tính đúng đắn của mô hình sẽ được xác định bằng cách
Trang 11
TRƯỜNG ĐẠI HỌC KINH TẾ TP.HCM
Ứng dụng máy học vào phân nhóm và dự đoán
Môn h ọc: Khoa h c dọ ữ liệu - 21D1INF50905914
Giảng viên: Ths Nguy n M nh Tuễ ạ ấn
Sinh viên th c hiự ện: Nguyễn Phương Linh - 31171021011
TP H Chí Minh ồ 06/2021
Trang 22
Biểu đồ 1 Dữ liệu Data theo giá và loại phòng - 11
Biểu đồ 2 Số lượng phòng cho thuê theo loại căn hộ - 12
Biểu đồ 3 Số lượng phòng cho thuê theo thành phố - 12
Biểu đồ 4 Tỷ lệ phân bố các loại phòng cho thuê theo khu vực - 12
Biểu đồ 5 Minh họa Sihouette Plot - 19
Biểu đồ 6 Minh họa Scatter Plot (Price/Avalibility_365) - 19
DANH M C HÌNH Ụ ẢNH Hình 1: Mô hình phân l p dớ ữ liệ -u 6 Hình 2 Ví dụ sơ đồ cây quyết định - 7
Hình 3 Sơ đồ ổ t ng quát SVM - 7
Hình 4 Ví dụ sơ đồ kNN - 8
Hình 5 Mô hình phân c m dụ ữ liệ -u 8 Hình 6 Mô hình bài toán 1 - 14
Hình 7 K t qu d báo (1) ế ả ự - 15
Hình 8 Mô hình bài toán 2 - 16
Hình 9 K t qu d báo (2) ế ả ự - 17
Hình 10 Mô hình bài toán 3 - 18
DAN H M C BỤ ẢNG Bảng 1 Mô tả biến - 10
Bảng 2 K t qu Test & Score (1) ế ả - 14
Bảng 3 K t qu Confusion Matrix (1) ế ả - 15
Bảng 4 K t qu Test & Score (2) ế ả - 16
Bảng 5 K t qu Confusion Matrix (2) ế ả - 17
Bảng 7 K t qu k-Means ế ả - 18
Trang 33
MỤC L C Ụ
CHƯƠN G I: TỔN G QUAN - 4
1.1 LÝ DO CH ỌN ĐỀ TÀI - 4
1.1.1 Mục tiêu ng hiên c u ứ - 4
1.1.2 Đối tượng nghiên c ứu - 4
1.2 MÔ T BÀI TOÁN Ả - 5
1.3 MÔ TẢ PHƯƠNG PHÁP - 6
1.3.1 Phương pháp phân l ớp (Cla ssification) - 6
1.3.2 Phương pháp phân c ụm (Clus tering) - 8
1.4 MÔ T D Ả Ữ LIỆU - 10
CHƯƠN G II: QUY TRÌN H THỰC HIỆN & KẾT QU Ả - 11
2.1 PHÂN TÍCH VÀ TI N X LÝ D Ề Ử Ữ LIỆU - 11
2.1.1 Phân tí ch d ữ liệ - 11 u 2.1.2 Tiền x lý dử ữ liệ - 13 u 2.2 BÀI TOÁN 1:DỰ ĐOÁN PHÂN LO ẠI ĐỐI TƯỢNG CHO THUÊ THEO LOẠI PHÒNG C ỦA AIRBNB HOA KỲ THÁNG 10/2020 - 14
2.2.1 Quy trình th c hiự ện: - 14
2.2.2 Đánh gi á và k ết qu ả - - 14
2.3 BÀI TOÁN 2:DỰ BÁO GIÁ PHÒNG CHO THUÊ LO ẠI “HOTEL ROOM” - 16
2.3.1 Quy trình th c hiự ện: - 16
2.3.2 Đánh gi á và k ết qu ả - - 16
2.4 BÀI TOÁN 3:PHÂN CỤM CÁC PHÒNG CHO THUÊ LOẠI “SHARED ROOM” 18 2.4.1 Quy trình th c hiự ện: - 18
2.4.2 Đánh gi á & k ết qu ả - 18
TÀI LI U THAM KH O Ệ Ả - 20
Trang 44
CHƯƠN G I: TỔNG QUAN
1.1 Lý do chọn đề tài
Từ khi được thành lập năm 2008, Airbnb phát triển mạnh mẽ và thay đổi cách vận hành truy n th ng c a ngành khách s n trên thề ố ủ ạ ế giới N gày càng nhi u du khách ề lựa chọn Airbnb là nơi tìm kiếm địa điểm tá túc khi đi du lịch Airbnb đặc bi t cung ệ cấp cho khách du lịch phương thức tìm kiếm nơi lưu trú dễ dàng – độc đáo – cá nhân hóa hơn
Đặc biệt, Airbnb có độ phủ sóng cao và là phương ti ện tra cứu quen thuộc của khách du lịch có nhu cầu nghỉ dưỡng ho c ặ trải nghiệm văn hóa ở M Vì v y, phân ỹ ậ tích số liệu phòng cho thuê t i Airbnb Hoa K - m t khía cạ ỳ ộ ạnh nào đó – có thể nhận
bi ết nhu cầu và xu hướng th c t c a khách du l ch ự ế ủ ị đối vớ ừ i t ng lo i phòng ạ ở ho ặc từn g địa phương
Ngoài ra, dữ liệu v giá cho thuê d a trên cung c u th c t c a khách thuê tề ự – ầ ự ế ủ ại Airbnb có th s dể ử ụng để dự báo hoặc đưa ra mức định giá h ợp lý cho các đối tượng cho thuê tương ứng
Quan tr ng, b dọ ộ ữ liệu v nhà cho thuê cề ở ủa Airbnb qua các năm được cung cấp công khai và phi thương mại bởi bên thứ ba: http://insideairbnb.com/ Điều này giúp sinh viên thu th p nhanh chóng và chính xác nguậ ồn dữ liệu từ thực t ế
Từ những lý do trên, sinh viên l a chự ọn đề tài “Ứng d ng máy h c vào phân ụ ọ
nhóm và d ự đoán giá của phòng cho thuê Airbnb t ại Mỹ năm 2020” làm báo cáo
kết thúc môn học
1.1.1 Mục tiêu nghiên cứu
Ba m c tiêu chính cụ ủa đề tài tương ứng v i ba bài toán c n gi i quyớ ầ ả ết:
- Dự đoán phân loạ đối tượi ng theo nhóm 4 loại phòng có trong A irbnb - giúp khách hàng d dàng tìm ki m lo i phòng phù h p theo nhu cễ ế ạ ợ ầu
- Định kho ng giá cho các ả đối tượng cho thuê lo i phòng ạ “Hotel room” trong Airbnb theo các tiêu chí có sẵn giúp ngườ- i cho thuê l a ch n m c giá cho ự ọ ứ thuê phù h p v i thợ ớ ị trường
- Gom cụm các đối tượng cho thuê loại phòng “Shared home” tồn t i trên ạ
hệ thống c a Airbnb ủ – để doanh nghi p có th phát tri n thêm nh ng d ch vệ ể ể ữ ị ụ tăng cường riêng cho từng nhóm khách hàng
1.1.2 Đối tượng nghiên cứu
Sử d ng b dụ ộ ữ liệu bao g m các thông tin công khai v danh sách cho thuê trên ồ ề Airbnb t i các thành phạ ố ở Hoa K mà insideairbnb.com cung c p ỳ ấ
Trang 55
1.2 Mô t bài toán ả
Sử dụng Excel và phần mềm Orange để ử x lý dữ liệu và gi i quy t các bài toán ả ế sau:
- Bài toán 1: Dự đoán phân đối tượng cho thuê theo lo i phòng c a Airbnb ạ ủ Hoa K (bài toán phân lỳ ớp đa lớp)
- Bài toán 2: D báo giá phòng cho thuê loự ại “Hotel room” (bài toán phân lớp đa lớp)
- Bài toán 3: Phân c m các phòng cho thuê loụ ại “Shared room” (bài toán gom cụm dữ liệu)
Trang 66
1.3 Mô t ả phương pháp
1.3.1 Phương pháp phân lớp (Classification)
Phân l p dớ ữ liệ u là quá trình phân một đối tượng dữ liệu vào m t hay nhi u lộ ề ớp (loại) đã cho trước nhờ một mô hình phân lớ p Mô hình này đã được xây dựng dựa trên m t t p dộ ậ ữ liệu đã đượ c gán nhãn trước đó Quá trình gán nhãn cho một đối tượng dữ liệu chính là quá trình phân l ớp
Hì n h 1 : M ô h ì n h p h â n l p dớ ữ liệu
Quá trình p hân l ớp dữ liệ u g ồm 3 bướ c:
- Bước 1: Xây dựng mô hình (giai đoạ “huấn luyn ện”)
• Dữ liệu đầu vào là dữ liệu mẫu đã được gán nhãn và tiền xử lý
• Các thu t toán phân l p: Cây quyậ ớ ết định, SVM, …
• Kết qu cả ủa bước này là mô hình phân lớp đã được hu n luy n (trình phân ấ ệ lớp)
- Bước 2: Đánh giá mô hình (kiểm tra tính đúng đắn)
• Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được g n nhãn và tiắ ền
xử lý Tuy nhiên lúc đưa vào mô hình phân l ớp, ta sẽ “lờ” đi thuộc tình đã được gắn nhãn
• Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gắn nhãn của dữ liệu đầu vào và k t qu phân l p mô hình ế ả ớ
- Bước 3: Phân l p dớ ữ liệu m i ớ
Phân lo i bài toán phân lạ ớp: Nhiệm v c a bài toán phân l p là phân loụ ủ ớ ại đối tượng dữ liệu vào n lớ p cho trước nếu:
• n = 2: Thu c bài toán phân l p nh phân ộ ớ ị
Trang 77
• n > 2: Thu c bài toán phân lộ ớp đa lớp
Các phương pháp phân lớp được sử dụng trong bài:
- Cây quyết định (Decision Tree): Trong lý thuy t qu n tr , 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 mô tả, phân lo i và t ng quát hóa t p dạ ổ ậ ữ liệu cho trước
Hì n h 2 V í d ụ s ơ đ ồ câ y q u y ế t đ ị n h
- SVM (Support Vector Machine) là m t thu t toán có giám sát, SVM nhộ ậ ận
dữ liệu vào, xem chúng như các vector trong không gian 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 Để ối ưu kế t t quả phân lớp thì phải xác nh siêu đị phẳng (hyperplane) có khoảng cách đến các điểm dữ liệu (margin) c a t t c các lủ ấ ả ớp
xa nh t có th SVM có nhi u bi n thấ ể ề ế ể để phù h p v i nhi u bài toán phân lo i khác ợ ớ ề ạ nhau
Hì n h 3 S ơ đ ồ ổ n g q u á t S V M t
Trang 88
- KNN (K-nearsest neighbor) là thuật toán đơn giản nh t trong nh ng thuấ ữ ật toán supervised-learning nhưng lại 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 dả ủ ữ liệu mới thì thu t toán này m i th c hi n tính toán KNN có th áp d ng trên c hai lo i bài ậ ớ ự ệ ể ụ ả ạ toán phân lo i và h i quy ạ ồ
Hì n h 4 V í d ụ s ơ đ ồ kN N
1.3.2 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
- Các đối tượng thuộc cụm/nhó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 ấ ự ế
Hì n h 5 M ô h ìn h p h â n c m dụ ữ liệu
Đặ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
Trang 99
• Độ tương tự giữa các c m th p (khác bi t cao) ụ ấ ệ
- Các ng d ng ứ ụ điển hình:
• Công c phân c m dụ ụ ữ liệu độc lập
• 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 hoặc 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: Euclid, Cosin, Minkowski …
Thuật toán K-mean s:
- Thuộc nhóm thu t toán phân c m d a trên phân ho ch ậ ụ ự ạ
- Tư tưởng chính: Ta xem mỗi đối tượng trong tập dữ liệu là một điểm trong không gian d chi u (v i d là sề ớ ố lượng thu c tính cộ ủa đối tượng)
Trang 1010
1.4 Mô t d ả ữ liệ u
Bộ dữ liệu được tổng hợp từ các tập dữ liệu v nhà cho thuê Airbnb t i Hoa ề ở ạ
Kỳ - được truy xu t t i: ấ ạ http://insideairbnb.com/ B dộ ữ liệu được thu th p vào ngày ậ
20 tháng 10 năm 2020 bởi Kritik Seth
Bộ dữ liệu g m các thông tin: ồ
host_id Mã định danh của Airbnb cho chủ nhà /
hoặc chữ
room_type Loại phòng của đối tượng cho thuê
Entire home/apt;
Private room;
Shared room;
Hotel room
minimum_nights Số đêm lưu trú tối thiểu của đối tượng
number_of_reviews Số lượng đánh giá của đối tượng cho thuê Số tự nhiên
reviews_per_month Số lượt đánh giá trung bình mỗi tháng Số thập phân
calculated_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
Số tự nhiên
availability_365
Tính khả dụng (ngày): Một máy chủ Airbnb có thể thiết lập lịch cho danh sách của họ để nó chỉ có sẵn trong vài ngày hoặc vài tuần trong năm
Số tự nhiên
Asheville, Austin, Boston, Broward County, Chicago, Clark County, Columbus, Denver, Hawaii, Cambridge
valuation Khoảng định giá phòng / ngày (chỉ có
trong sheet "HR")
< $130;
[ $130 ; $190 );
[ $190 ; $300 );
>= $300
B ả n g 1 M ô t ả b i ế n
Trang 1111
CHƯƠN G II: QUY TRÌN H THỰC HIỆN & KẾT QU Ả
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:
- Mỗi hàng đại dện cho 1 đối tượng cho thuê, mỗi cột chứa các thuộc tính của đối tượng
- Dữ liệu thô chứa 65.535 hàng (đối tượng) và 15 cột (đặc trưng)
- Trong c t dộ ữ liệu về loại phòng có 4 thu c tính là: nhà ộ nguyên căn/ căn
hộ, phòng riêng, phòng chung, phòng khách s n ở ở ạ
- Tổng số lượng thuê phòng loại nhà/ căn hộ nguyên căn cao hơn rất nhiều
so v i các lo i phòng còn lớ ạ ại ( phòng “Entire home/apt” chi ếm 77,36%)
- Hawaii, Broward C ountry và Au stin là 3 thành ph có số ố lượng phòng cho thuê nhiều nhất (lần lượt là 26,53% - 16,57% - 15,92% trên t ng s phòng cho thuê ổ ố Airbnb t i Mạ ỹ)
- Mức độ phân bố giá phòng tập trung mạnh mẽ trong khoảng từ $0 đến
$2000, mức độ giá tập trung cũng khác nhau theo lo i phòng, lạ ần lượt t rừ ẻ đến đắt nhất là: Phòng chung -> Phòng KS -> Phòng riêng -> Nhà nguyên căn
B i ểu đ ồ 1 D ữ l i ệ u Da t a t h e o g i á v à l o ạ i p h ò n g
Trang 1212
B i ểu đ ồ 2 S ố l ư ợ n g p h òn g c h o th u ê t h e o l oạ i că n h ộ B i ểu đ ồ 3 S ố l ư ợ n g p h ò n g c h o t h u ê t h e o t h à n h p h ố
B i ểu đ ồ 4 T ỷ l ệ p h â n b ố cá c l o ạ i p h ò n g c h o t h u ê t h e o k h u v ự c
50697
816 13430
592 0
10000
20000
30000
40000
50000
Entire
home/apt
Hotel room Private room Shared room
Loại căn hộ
2074
10436
3339 10858
1029
6397 8408
1409 4200 17385
0 2000 4000 6000 8000 10000 12000 14000 16000 18000
Thành phố
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Shared room Private room Hotel room Entire home/apt
Trang 1313
2.1.2 Tiền x lý dử ữ liệ u
- Xử lý dữ liệu:
• Báo cáo s d ng b dử ụ ộ ữ liệu được t ng h p tổ ợ ừ trang insideairbnb.com, đã được xác mình và xử lý cơ bản nên không có dữ liệu thiếu
• Loại bỏ biến ngoại lai (Outliers) trong sheet “SR” có giá (“Price”) = 10.000
- Phân chia dữ liệu: Lọc t dừ ữ liệu gốc “AB_US_2020” thành các sheet chứa dữ liệu theo t ng loừ ại phòng khác nhau: “HR” ; “SR” ; “EH” ; “PR”
- Thêm bi n phân loế ại: Thêm cột Định giá (“Valuation”) trong sheet “HR”
- gán các khoảng giá tương ứng v i giá tr trong cớ ị ột G iá (“Price”) C ác m c giá ố được phân chia dựa trên mật độ phòng cho thuê tại các mức giá trong khoảng đó là đều nhau
0 <= P < 130 < $130
130 <= P < 190 [ $130 ; $190 )
190 <= P < 300 [ $190 ; $300 )
P >= 300 >= $300
Trang 1414
2.2 Bài toán 1: Dự đoán phân loại đối tượng cho thuê theo loại phòng của Airbnb Hoa K tháng 10/2020 ỳ
2.2.1 Quy trình th c hi n: ự ệ
Hì n h 6 M ô h ìn h b à i t oá n 1
- B1: Ch n dọ ữ liệu File AB_US_2020_1.xlsx sheet “Data” và chọn cột
“room_type” làm Target
- B2: Dùng Data Sampler chia dữ liệu làm 2 ph n (70-ầ 30) Đặt tên File d ữ liệu lớn hơn là “Data train”, File nh ỏ hơn là “Data forecast”
- B3: Dùng 3 phương pháp: KNN, Neutral N etwork, Ran dom Forest tiến hành phân lo i loạ ại phòng cho thuê & đánh giá hiệu quả các phương pháp
- B4: Chọn phương pháp được đánh giá tốt nhất, dùng phương pháp đó dự báo cho dữ liệu File “Data forecast”
2.2.2 Đánh giá và kết quả
- Kết quả đánh giá phương pháp ủ c a Test & Score
B ả n g 2 K t q u T e st & S c o re ( 1 )ế ả
Trang 1515
- Đánh giá mô hình dựa trên kết quả Confusion Matrix:
• Sai l m lo i 1 và lo i 2 c a PP cây quyầ ạ ạ ủ ết định ít tr ng y u nh t Các sai ọ ế ấ lầm đều dưới mức 20% và tỷ lệ tập trung cao nhất ở các dự đoán đúng
• Kết lu n: Chậ ọn “Random Forest” là phương pháp được dùng để phân loại
dữ liệu File “D ata forecast”
B ả n g 3 K t q u Co n f u s i on Ma t r i x ( 1 )ế ả
- Kết qu d báo: ả ự
Hì n h 7 K t q u d b á o ( 1 )ế ả ự
Trang 1616
2.3 Bài toán 2: D báo giá phòng cho thuê loự ại “Hotel room”
2.3.1 Quy trình th c hiự ện:
Hì n h 8 M ô h ìn h b à i t oá n 2
- B1: Ch n dọ ữ liệu File AB_US_2020_1.xlsx sheet “ HR” và chọn cột
“Valuation” làm Target
- B2: Dùng Data Sampler chia dữ liệu làm 2 ph n (70-ầ 30) Đặt tên File d ữ liệu lớn hơn là “Data Train”, File nhỏ hơn là “Data Forecast”
- B3: D ùng 3 phương pháp: SVM, KNN, Random Forest ti ến hành phân loại giá phòng cho thuê thu c khoộ ảng nào & đánh giá hi ệu quả các phương pháp
- B4: Chọn phương pháp được đánh giá tốt nhất, dùng phương pháp đó dự báo cho dữ liệu File “Data Forecast”
2.3.2 Đánh giá và kết quả
- Kết quả đánh giá phương pháp ủ c a Test & Score
B ả n g 4 K t q u T e st & S c o re ( 2 )ế ả
- Đánh giá mô hình dựa trên kết quả Confusion Matrix:
• Tỷ l sai l m lo i 1 và lo i 2 c a PP cây quyệ ầ ạ ạ ủ ết định nhỏ nhất C ác sai lầm đều dưới 10%