Tải bản đầy đủ (.pdf) (43 trang)

Tiểu luận khoa học dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.5 MB, 43 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH
KHOA CƠNG NGHỆ THƠNG TIN KINH DOANH


ĐỒ ÁN KẾT THÚC MÔN HỌC
KHOA HỌC DỮ LIỆU
Chuyên ngành: Khoa Học Dữ Liệu
Sinh viên thực hiện:
Vũ Nguyễn Năng Khánh - DS001
Nguyễn Minh Nhật
Đồng Đan Hoài - DS001
Huỳnh Thị Cẩm Nhung - DS001
Nguyễn Phúc Hải - DS001
Khóa: K46
Giảng viên: Thầy Trương Việt Phương
Tp. Hồ Chí Minh, ngày 18 tháng 09 năm 2022


Giảng viên: Thầy Trương Việt Phương

MỤC LỤC NỘI DUNG
1. Phân Công Nhiệm Vụ, Tỉ Lệ Điểm Thành Viên ..................................................... 7
2. Chọn bộ dữ liệu và mô tả ......................................................................................... 8
A/ Bộ dữ liệu được chọn: ............................................................................................ 8
B/ Tóm Tắt Dữ Liệu: ................................................................................................... 8
C/ Dataset Overview: .................................................................................................. 9
D/ Biến phụ thuộc: .................................................................................................... 11
E/ Mục tiêu phân tích: ............................................................................................... 11
3. Tiền Xử Lý Dữ Liệu .............................................................................................. 13
A/ Tổng Quan Các Vấn Đề Dữ Liệu Đang Gặp Phải ............................................... 13


B/ Xử Lý Dữ Liệu Bị Thiếu ...................................................................................... 13
Thực trạng: ...................................................................................................... 13
Nguyên nhân: .................................................................................................. 13
Giải pháp: ........................................................................................................ 13
C/ Xử Lý Dữ Liệu Bị Nhiễu...................................................................................... 16
Thực trạng: ...................................................................................................... 16
Nguyên nhân: .................................................................................................. 16
Giải pháp: ........................................................................................................ 17
D/ Xử Lý Dữ Liệu Dư Thừa ..................................................................................... 17
Thực trạng: ...................................................................................................... 17
Giải pháp: ........................................................................................................ 17
E/ Workflow và Link Python, Dataset ...................................................................... 19
Link Orange: .......................................................................................................... 19
Link Python: .......................................................................................................... 19
Link dữ liệu đã tiền xử lý:...................................................................................... 19

2|Khoa học dữ liệu


Giảng viên: Thầy Trương Việt Phương

4. Tiến Hành Phân Cụm, Chọn Số Cụm Tốt Nhất và So Sánh với Nhãn Hiện Có,
Nhận Xét ....................................................................................................................... 20
A/ Workflow Clustering ............................................................................................ 20
B/ Tiến hành phân cụm ............................................................................................. 20
C/ Chọn Số Phân Cụm Tốt Nhất và Giải Thích ........................................................ 25
Phân cụm theo phương pháp Hierarchical Clustering (Agnes Dendrogram): ....... 25
Phân cụm theo phương pháp Partitioning Clustering (K-means): ......................... 27
D/ So Sánh Với Nhãn Hiện Có Và Nhận Xét: .......................................................... 29
E/ Link Orange và file Excel:.................................................................................... 32

5. Tiến Hành Phân Lớp, Dự Báo Từ 10% Dữ Liệu từ Bộ Dữ Liệu Phân Lớp .......... 33
A/ Đánh Giá và Lựa Chọn Mơ Hình Phân Lớp ........................................................ 33
B/ Mơ Hình Mạng Neuron ........................................................................................ 37
Khái niệm: ....................................................................................................... 37
Cách thức hoạt động: ...................................................................................... 38
Dự đoán phân lớp và so sánh kết quả dự đoán với dữ liệu ban đầu ............... 40
C/ Workflow, code Python (link Colab) ................................................................... 41
D/ Data ...................................................................................................................... 42
6. Phụ Lục .................................................................................................................. 43
A/ Tài liệu tham khảo:............................................................................................... 43

3|Khoa học dữ liệu


Giảng viên: Thầy Trương Việt Phương

MỤC LỤC HÌNH ẢNH
Hình 1. 1 Năm dịng đầu của DataFrame ................................................................................... 9
Hình 1. 2 Kích cỡ của DataFrame.............................................................................................. 9
Hình 1. 3 Mơ tả dữ liệu .............................................................................................................. 9
Hình 1. 4................................................................................................................................... 10
Hình 1. 5 Dữ liệu nhà có 100 phịng tắm ................................................................................. 10
Hình 1. 6 Diện tích nhà ............................................................................................................ 10
Hình 1. 7 Giá th nhà theo thành phố .................................................................................... 11
Hình 2. 1 Code Python thống kê phần trăm dữ liệu bị thiếu của các thuộc tính...................... 13
Hình 2. 2................................................................................................................................... 14
Hình 2. 3................................................................................................................................... 14
Hình 2. 4 Sử dụng Orange để tính Mean, Median cho thuộc tính BHK .................................. 15
Hình 2. 5 Biểu đồ cho thấy biến khơng hợp lý ........................................................................ 16
Hình 2. 6................................................................................................................................... 17

Hình 2. 7................................................................................................................................... 17
Hình 2. 8 Thống kê dữ liệu dư thừa ......................................................................................... 17
Hình 2. 9 Sử dụng Orange để loại bỏ thuộc tính Have Bathroom ........................................... 18
Hình 2. 10................................................................................................................................. 18
Hình 2. 11 Workflow ............................................................................................................... 19
Hình 3. 1 Workflow ................................................................................................................. 20
Hình 3. 2 Nhập file dữ liệu vào Orange và chọn Area Type làm Target ................................. 20
Hình 3. 3................................................................................................................................... 21
Hình 3. 4................................................................................................................................... 22
Hình 3. 5................................................................................................................................... 23
Hình 3. 6 Dùng Orange tính Distance sử dụng chuẩn hóa Euclid ........................................... 23
Hình 3. 7................................................................................................................................... 24
Hình 3. 8................................................................................................................................... 25
Hình 3. 9................................................................................................................................... 25
Hình 3. 10 Đánh giá của Silhouette Plot đối với Hierarchical Clustering ............................... 26
Hình 3. 11 Đánh giá của Silhouette Scores đối với K-means .................................................. 27
Hình 3. 12 Silhouette Index ..................................................................................................... 28

4|Khoa học dữ liệu


Giảng viên: Thầy Trương Việt Phương
Hình 3. 13 Dataset thể hiện đánh giá của Silhouette score cho từng dữ liệu sau phân cụm theo
thuật tốn K-means .................................................................................................................. 29
Hình 3. 14................................................................................................................................. 29
Hình 3. 15 Cơng thức thay giá trị Area Type theo phân cụm .................................................. 30
Hình 3. 16 Bảng Excel sau khi thay giá trị theo phân cụm ...................................................... 30
Hình 3. 17 Công thức so sánh nhãn và dự báo ........................................................................ 30
Hình 3. 18 Bảng Excel sau khi so sánh .................................................................................... 31
Hình 3. 19 Cơng thức tính số giá trị giống và khác ................................................................. 31

Hình 4. 1 Đọc file dữ liệu vào phần mềm Orange ................................................................... 33
Hình 4. 2 Bảng dữ liệu chi tiết ................................................................................................. 34
Hình 4. 3 Bảng tham số mơ hình cây quyết định ..................................................................... 34
Hình 4. 4 Tham số của mơ hình hồi quy Logistics .................................................................. 35
Hình 4. 5 Tham số của mơ hình Random Forest ..................................................................... 35
Hình 4. 6 Tham số của mơ hình Support Vector Machine (SVM) .......................................... 36
Hình 4. 7 Tham số của mơ hình Neural Network .................................................................... 36
Hình 4. 8 Bảng kết quả đánh giá của các mơ hình ................................................................... 37
Hình 4. 9 Cơng thức của Mơ hình mạng Neuron ..................................................................... 38
Hình 4. 10 Cơng thức của Mơ hình mạng Neuron ................................................................... 38
Hình 4. 11 Mơ hình mạng Neuron ........................................................................................... 39
Hình 4. 12 Bảng Excel so sánh với dữ liệu có nhãn ................................................................ 40
Hình 4. 13 Workflow ............................................................................................................... 41
Hình 4. 14 Code Python lấy ngẫu nhiên 10% dữ liệu .............................................................. 41

5|Khoa học dữ liệu


Giảng viên: Thầy Trương Việt Phương

LỜI CẢM ƠN
Trong thời đại hiện nay, sự tồn tại của dữ liệu là điều cực kì quan trọng. W.
Edwards Deming đã từng có câu nói: "In God we trust; all others must bring data."
(Chúng ta chỉ tin vào Chúa, tất cả mọi thứ còn lại phải đem đến dữ liệu cho chúng
ta). Sự bùng nổ về mặt thông tin hiện nay lại càng khiến cho mức độ quan trọng
tăng cao. Gần như mọi hoạt động của con người đều cần đến dữ liệu từ việc mua
sắm, khám bệnh,... cho đến những việc quan trọng như ra quyết định kinh doanh
đều cần có dữ liệu. Vì thế, nhóm chúng em đã làm đồ án kết thúc mơn học này
với mục đích của bộ dữ liệu để so sánh giữa kết quả được dự báo thông qua các
phương pháp đã học so với dữ liệu trong thực tế.

Trong q trình làm đồ án mơn học vẫn cịn những hạn chế, sai sót, chưa tối ưu
hóa về mặt kiến thức, kỹ năng xử lý dữ liệu hay lập trình. Chúng em mong nhận
được lời nhận xét từ thầy cơ hướng dẫn để có thể cải thiện.
Đặc biệt nhóm xin chân thành gửi lời cảm ơn đến thầy Ths.Trương Việt Phương
đã hỗ trợ, giúp đỡ, chỉ bảo chúng em về mặt kiến thức và mặt kỹ năng cần thiết
của môn học để thực hiện Đồ án kết thúc môn Khoa học dữ liệu này.
Chúng em xin chân thành cảm ơn.
Sinh viên,
Nguyễn Phúc Hải

6|Khoa học dữ liệu


Giảng viên: Thầy Trương Việt Phương

1. Phân Công Nhiệm Vụ, Tỉ Lệ Điểm Thành Viên
Thành Viên

Nhiệm Vụ, Phân Công

Tỉ Lệ Điểm Thành Viên

Vũ Nguyễn Năng Khánh

Chọn dataset, tiền xử lý
dữ liệu, phân lớp dữ liệu
và so sánh 10% dữ liệu

20%


Nguyễn Minh Nhật

Chọn dataset, tiền xử lý
dữ liệu, phân lớp dữ liệu
và so sánh 10% dữ liệu

20%

Đồng Đan Hồi

Chọn dataset, mơ tả data +
thống kê, phân cụm

20%

Huỳnh Thị Cẩm Nhung

Chọn dataset, mục tiêu
phân tích, phân cụm,
hồn thiện file Docs đồ án

20%

Nguyễn Phúc Hải

Chọn dataset, tiền xử lý
dữ liệu, phân cụm, hoàn
thiện file Docs đồ án

20%


7|Khoa học dữ liệu


Giảng viên: Thầy Trương Việt Phương

2. Chọn bộ dữ liệu và mơ tả
A/ Bộ dữ liệu được chọn:
House Renting

B/ Tóm Tắt Dữ Liệu:
Dữ liệu thu thập được bao gồm 4746 dịng với biến “Area Type” là biến phụ thuộc.
Mơ tả các biến:
o Posted On: Dữ liệu được ghi vào ngày tháng năm nào
o BHK: Tổng số phòng ngủ, sảnh, phòng bếp (Numeric)
o Rent: Giá cho thuê căn nhà / căn hộ (Numeric)
o Size: Kích thước căn nhà / căn hộ tính theo Square Feet (1 square feet = 0.0929
mét vng)
o Floor: Nhà/Căn hộ nằm ở tầng nào trên tổng số tầng hiện có (Ground out of 2,
1 out of 1, 2 out of 3, …) -> biến này skip vì là metadata
o Area Type: Kích thước của Nhà/Căn hộ được tính tốn dựa trên diện tích xây
dựng (Super Area) hay diện tích thơng thủy (Carpet Area) hay diện tích Tim
tường (Build Area)
o Area Locality: Vị trí của Nhà/Căn hộ -> biến này skip vì là metadata
o City: Nhà/Căn hộ đang ở thành phố nào (biến này có 6 giá trị: Kolkata, Delhi,
Hyderabad, Bangalore, Chennai, Mumbai)
o Furnishing Status: Tình trạng của nội thất trong Nhà/Căn hộ (biến này có 3
giá trị: Furnished, Semi – Furnished, Unfurnished)
o Tenant Preferred: Người thuê được ưu tiên/hưởng ưu đãi (biến này có 3 giá
trị: Bachelors, Family, Bachelors/Family)

o Bathroom: Số lượng phòng tắm (Numeric)
o Point of Contact: Liên hệ với ai để biết thêm thông tin về Nhà/Căn hộ (biến
này có 3 giá trị: Contact Owner, Contact Builder, Contact Agent)
o Have Bathroom: = 1 nếu có phòng tắm

8|Khoa học dữ liệu


Giảng viên: Thầy Trương Việt Phương

C/ Dataset Overview:
Bộ dữ liệu được khảo sát về tình trạng thuê nhà ở Ấn Độ trong một giai đoạn 3 tháng
(Từ ngày 13/4/2022 đến 11/7/2022).
Lấy năm dịng đầu tiên của DataFrame

Hình 1. 1 Năm dịng đầu của DataFrame

Xem kích cỡ của DataFrame( gồm có 4746 dịng và 13 cột)

Hình 1. 2 Kích cỡ của DataFrame

DataFrame gồm có 13 thuộc tính trong đó là 4 kiểu dữ liệu định lượng(int64) và 13
kiểu dữ liệu định tính(object).
Mơ tả dữ liệu:

Hình 1. 3 Mơ tả dữ liệu

9|Khoa học dữ liệu



Giảng viên: Thầy Trương Việt Phương

Dữ liệu của nhà có giá cao nhất:

Hình 1. 4

Hình 1. 5 Dữ liệu nhà có 100 phịng tắm

Diện tích nhà:

Hình 1. 6 Diện tích nhà

10 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

Giá thuê nhà theo thành phố:

Hình 1. 7 Giá thuê nhà theo thành phố

D/ Biến phụ thuộc:
Là biến Area Type với 3 giá trị Super Area - Carpet Area - Build Area (biến Super
Area chiếm đa số)

E/ Mục tiêu phân tích:
Khảo sát kích thước của Nhà/Căn hộ được tính tốn dựa trên Area Type nào để từ đó
đối chiếu với các biến, đặc biệt là biến “Size” và giá cho thuê. Từ đó đưa ra những nhận
định và lựa chọn phù hợp cho người cho thuê và người thuê.


11 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

12 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

3. Tiền Xử Lý Dữ Liệu
A/ Tổng Quan Các Vấn Đề Dữ Liệu Đang Gặp Phải
- Dữ liệu bị thiếu
- Dữ liệu bị nhiễu
- Dữ liệu dư thừa

B/ Xử Lý Dữ Liệu Bị Thiếu

Hình 2. 1 Code Python thống kê phần trăm dữ liệu bị thiếu của các thuộc tính

- Thực trạng:
Sử dụng Python để tìm kiếm dữ liệu bị thiếu.
Phần trăm thuộc tính BHK và Furnishing Status, Tenant Preferred thiếu
dữ liệu lần lượt là 0.25% và 0.35%, 0.63%.
- Nguyên nhân:
Đầu tiên với biến BHK (Số phịng trong nhà trừ phịng tắm), người điền
thơng tin có thể qn điền vơ hoặc cố tình che giấu đi sự thiếu sót trong
căn hộ, điều này cũng có thể xảy ra tương tự với biến Furnishing Status
(tình trạng nội thất) vì đây là biến chứng minh được khá rõ giá trị của một
căn hộ/ngơi nhà nên khi có thiếu sót gì đó người đang thơng tin sẽ muốn

che giấu.
- Giải pháp:
Sau khi liệt kê dữ liệu bị thiếu, đối với các biến định tính (BHK): điền vào
những missing values bằng các giá trị có tần số xuất hiện cao nhất trong
thuộc tính.

13 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

Đối với các biến định lượng (Tenant Preferred, Furnishing Status): sử
dụng phần mềm Orange để tính mean, median (trong trường hợp xuất hiện
những phần tử quá lớn hoặc quá bé trong các thuộc tính) để điền vào
những missing values.

Hình 2. 2

Hình 2. 3

14 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

Hình 2. 4 Sử dụng Orange để tính Mean, Median cho thuộc tính BHK

Thuộc tính
BHK
Tenant Preferred

Furnishing Status

15 | K h o a h ọ c d ữ l i ệ u

Giá trị replace
Mean: 2.09
Bachelors/Family
Semi Furnished


Giảng viên: Thầy Trương Việt Phương

C/ Xử Lý Dữ Liệu Bị Nhiễu

Hình 2. 5 Biểu đồ cho thấy biến khơng hợp lý

- Thực trạng:
Sau khi quan sát biểu đồ, nhận thấy rằng có 1 số phần tử có giá trị khơng
hợp lý trong thuộc tính Bathroom (Số lượng phịng tắm trong nhà).
Xuất hiện những ngơi nhà có đến 100 phịng tắm.
- Ngun nhân:
Có nhiều lý do dẫn đến tình trạng này, có thể người thu thập thơng tin
gặp sự cố trong lúc nhập dữ liệu hoặc có thể là sự cố ý gây nhiễu, sự khó
hiểu từ chính người cung cấp thông tin.

16 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương


- Giải pháp:
Sử dụng Orange để tìm trung bình của thuộc tính Bathroom để thay thế
những giá trị gây nhiễu này (với giá trị trung bình = 2.09), sau khi xử lý
dữ liệu bị thiếu và lưu file ở dạng csv để upload lên Google Colab.

Hình 2. 7

Hình 2. 6

D/ Xử Lý Dữ Liệu Dư Thừa
- Thực trạng:
Xuất hiện một cột mang tên Have Bathroom (giá trị nhị phân thể hiện nhà
đó nhà tắm hay khơng). Nhưng khi đối chiếu với biến Bathroom thì khơng
có căn hộ/nhà nào là khơng có nhà tắm. Giá trị nhận được từ thuộc tính
nào 100% là CĨ, nên cần loại bỏ.

Hình 2. 8 Thống kê dữ liệu dư thừa

- Giải pháp:
Sử dụng Select Columns trong phần mềm Orange để loại bỏ thuộc tính
Have Bathroom.
Đồng thời sử dụng Rank cũng đã thể hiện sự khơng cần thiết của thuộc
tính này.(các chỉ số đều bằng 0).

17 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

Hình 2. 10


Hình 2. 9 Sử dụng Orange để loại bỏ thuộc tính Have Bathroom

18 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

E/ Workflow và Link Python, Dataset

Hình 2. 11 Workflow

Link Orange:
/>=sharing

Link Python:
/>C?usp=sharing
Link dữ liệu đã tiền xử lý:
/>=sharing

19 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

4. Tiến Hành Phân Cụm, Chọn Số Cụm Tốt Nhất và
So Sánh với Nhãn Hiện Có, Nhận Xét
A/ Workflow Clustering

Hình 3. 1 Workflow


B/ Tiến hành phân cụm
Bước 1: Cập nhật file dữ liệu và chọn biến target để thực hiện phân cụm (unsupervised
learning)

Hình 3. 2 Nhập file dữ liệu vào Orange và chọn Area Type làm Target

20 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

Bảng dữ liệu sau khi cập nhật file dữ liệu

Hình 3. 3

21 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

Bước 2: Dùng Select columns để loại bỏ đi biến target

Hình 3. 4

22 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương


Table thể hiện dữ liệu sau khi loại đi biến Target:

Hình 3. 5

Bước 3: Thực hiện phân cụm theo phương pháp Hierarchical Clustering:
Dùng Distance để đo khoảng cách giữa các dữ liệu: Ở đây do ta phân cụm
theo các dữ liệu hàng ngang chọn Distance Between Row và sử dụng thuật
tốn chuẩn hóa Euclid.

Hình 3. 6 Dùng Orange tính Distance sử dụng chuẩn hóa Euclid

23 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

Bước 4: Thực hiện phân cụm theo phương pháp K-means:

Hình 3. 7

24 | K h o a h ọ c d ữ l i ệ u


Giảng viên: Thầy Trương Việt Phương

C/ Chọn Số Phân Cụm Tốt Nhất và Giải Thích
Phân cụm theo phương pháp Hierarchical Clustering (Agnes Dendrogram):
Phía dưới là biểu diễn 2 cụm với việc sử dụng average làm phương
pháp tính khoảng cách giữa các cụm (sau khi thấy việc điều chỉnh
số cụm vẫn khơng thay đổi việc các cụm đầu có rất ít dữ liệu và cụm

cuối có q nhiều dữ liệu thì dừng việc đánh giá chia cụm dữ liệu và
dừng lại ở việc chia 2 cụm).

Hình 3. 8

Chú thích về Average-linkage:
Là phương pháp tính khoảng cách giữa các cụm dữ liệu thơng qua
việc tính khoảng cách trung bình giữa 1 phần tử trong một cụm và 1
phần tử ở cụm khác. Nhưng vì trong dataset này, việc thay đổi giữa
Average, Complete và Single-linkage khơng có q nhiều sự thay
đổi nên gần như khơng ảnh hưởng.

Hình 3. 9

25 | K h o a h ọ c d ữ l i ệ u


×