Professional Documents
Culture Documents
HCM
----------
1
DANH MỤC BIỂU ĐỒ
2
MỤC LỤC
CHƯƠNG I: TỔNG QUAN --------------------------------------------------------- 4
1.1 L Ý DO CHỌN ĐỀ TÀI ----------------------------------------------------------- 4
1.1.1 Mục tiêu nghiê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 (Classification) ------------------------------- 6
1.3.2 Phương pháp phân cụm (Clustering) ---------------------------------- 8
1.4 M Ô TẢ DỮ LIỆU -------------------------------------------------------------- 10
CHƯƠNG II: QUY TRÌNH TH ỰC HIỆN & KẾT QUẢ --------------------- 11
2.1 P HÂN TÍCH VÀ TI ỀN XỬ LÝ DỮ LIỆU ---------------------------------------- 11
2.1.1 Phân tích dữ liệu ------------------------------------------------------ 11
2.1.2 Tiền xử lý dữ liệu ------------------------------------------------------ 13
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 A IRBNB H OA 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 “H OTEL 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: P HÂN CỤM CÁC PHÒNG CHO THUÊ LO ẠI “S HARED 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
3
CHƯƠNG 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. Ngà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ừng đị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.
4
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).
5
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.
6
• 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.
- 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. Để tối ưu kế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.
7
- 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ình 4 Ví dụ sơ đồ kNN
Đặ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
8
• Độ 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-means:
- 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)
9
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:
Thuộc tính Ý nghĩa Mô tả
Mã định danh của Airbnb cho đối tượng
id 1 chuỗi ký tự số
cho thuê
name Tên của đối tượng cho thuê 1 chuỗi ký chữ
Mã định danh của Airbnb cho chủ nhà /
host_id 1 chuỗi ký tự số
người cho thuê
host_name Tên của chủ nhà/ người cho thuê 1 chuỗi ký chữ
1 chuỗi ký tự số
neighbourhood Tên của khu vực lân cận
hoặc chữ
latitude Vĩ độ Số thập phân
longitude Kinh độ Số thập phân
Entire home/apt;
Private room;
room_type Loại phòng của đối tượng cho thuê
Shared room;
Hotel room
price Giá phòng mỗi ngày ($) Số tiền (USD)
Số đêm lưu trú tối thiểu của đối tượng
minimum_nights Số tự nhiên
cho thuê
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
10
CHƯƠNG II: QUY TRÌNH 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 Country 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.
11
60000 20000
17385
50697 18000
Biểu đồ 2 Số lượng phòng cho thuê theo lo ại căn hộ Biểu đồ 3 Số lượng phòng cho thuê theo thành ph ố
100%
90%
80%
70%
60%
50%
40% Shared room
Biểu đồ 4 Tỷ lệ phân bố các loại phòng cho thuê theo khu vực
12
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 Giá (“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.
Price Valuation
0 <= P < 130 < $130
130 <= P < 190 [ $130 ; $190 )
190 <= P < 300 [ $190 ; $300 )
P >= 300 >= $300
13
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:
14
- Đá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 “Data forecast”.
15
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:
16
• Kết luận: Chọn “Random Forest” là phương pháp đư ợc dùng để phân loại
dữ liệu File “Data Forecast”.
B i ể u đ ồ 5 M i n h h ọ a S i h o ue t t e P l o t
19
TÀI LIỆU THAM KHẢO
[1] Slide đào tạo môn Khoa học dữ liệu _UEH
[2] https://www.kaggle.com/kritikseth/us -airbnb-open-data
[3] http://insideairbnb.com/get -the-data.html
[4] https://www.youtube.com/c/OrangeDataMining/featured
20