Tải bản đầy đủ (.docx) (23 trang)

Đồ á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 (1.19 MB, 23 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC UEH
TRƯỜNG KINH DOANH

✍✍✍

ĐỒ ÁN MƠN HỌC
ĐỀ TÀI:
PHÂN TÍCH DỮ LIỆU PHÂN LỒI ĐỘNG VẬT TỪ ĐẶC TÍNH
DỰA TRÊN BỘ DỮ LIỆU ZOO ANIMALS EXTENDED
DATASET BẰNG PHẦN MỀM ORANGE

Học phần: Khoa Học Dữ Liệu
Nhóm Sinh Viên:
Chun Ngành:
Khóa: K46
Giảng Viên: TS. Đặng Ngọc Hồng Thành

TP. Hồ Chí Minh, Ngày 25 tháng 05 năm 2022


MỤC LỤC
MỤC LỤC

1

CHƯƠNG 1. TỔNG QUAN
1.1. Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu
1.1.1. Khái niệm về phân lớp dữ liệu
1.1.2. Quá trình phân lớp dữ liệu
1.2. Giới Thiệu Về Python Và Phần Mềm Orange


1.2.1. Giới thiệu về Python
1.2.2. Giới thiệu về Orange
1.3. Lý Do Chọn Lựa Đề Tài

2
2
2
2
2
2
3
3

CHƯƠNG 2. CÁC MƠ HÌNH PHÂN LỚP DỮ LIỆU
2.1. Các Mơ Hình Phân Lớp Dữ Liệu
2.1.1. Mơ Hình Logistic Regression
2.1.2. Mơ Hình Decision Tree
2.1.3. Mơ Hình Support Vector Machine
2.1.4. Mơ Hình Neural Network
2.2. Quy Trình Phân Lớp Dữ Liệu
2.2.1. Phân Lớp Dữ Liệu
2.2.2. Đánh Giá Tính Hiệu Quả

4
4
4
4
4
5
5

5
6

CHƯƠNG 3. CÁC KẾT QUẢ THỰC NGHIỆM
3.1. Bộ Dữ Liệu
3.2. Các Kết Quả Thực Nghiệm
3.2.1. Hình Thể Hiện: Mơ Hình Phân Lớp Bộ Dữ Liệu Trên Orange
3.2.2. Kết Quả Với Tập Dữ Liệu Testing
3.2.3. Kết Quả Với Tập Dữ Liệu Predictions
3.3. Phân Tích và Đánh Giá

8
8
9
9
9
11
17

CHƯƠNG 4. KẾT LUẬN
4.1. Các Kết Quả Đạt Được
4.2. Những Hạn Chế và Hướng Phát Triển

21
21
21

TÀI LIỆU THAM KHẢO

22


1


CHƯƠNG 1. TỔNG QUAN
1.1. Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu
1.1.1. Khái niệm về 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 đó (thuộc
về lớp nào).
Quá trình gán nhãn (thuộc lớp nào) cho đối tượng dữ liệu chính là q trình phân lớp
dữ liệu.
1.1.2. Quá trình phân lớp dữ liệu

Dữ liệu
huấn luyện

Dữ liệu kiểm
thử

Thuật tốn
phân lớp

Kết quả phân
lớp dùng để
đánh giá mơ
hình

Mơ hình

phân lớp

Kết quả phân
lớp thực tế
Dữ liệu mới

1.2. Giới Thiệu Về Python Và Phần Mềm Orange
1.2.1. Giới thiệu về Python
Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi
Guido van Rossum. Nó dễ dàng để tìm hiểu và đang nổi lên như một trong những ngơn ngữ
lập trình nhập mơn tốt nhất cho người lần đầu tiếp xúc với ngơn ngữ lập trình. Python hồn
tồn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động. Python có cấu trúc dữ liệu
cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối
tượng. Cú pháp lệnh của Python là điểm cộng vơ cùng lớn vì sự rõ ràng, dễ hiểu và cách gõ
linh động làm cho nó nhanh chóng trở thành một ngơn ngữ lý tưởng để viết script và phát
triển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng.

2


1.2.2. Giới thiệu về Orange
Orange là một thư viện quy trình và đối tượng cốt lõi của C++ kết hợp rất nhiều thuật
toán Data mining và học máy tiêu chuẩn và khơng tiêu chuẩn. Nó là một cơng cụ trực quan
hóa dữ liệu, Data mining và máy học nguồn mở. Orange là một mơi trường có thể viết kịch
bản để tạo mẫu nhanh các thuật toán và mẫu thử nghiệm mới nhất. Nó là một nhóm các
mơ-đun dựa trên python tồn tại trong thư viện lõi. Nó triển khai một số chức năng mà thời
gian thực thi không cần thiết và điều đó được thực hiện bằng Python.
Nó kết hợp nhiều tác vụ như in đẹp cây quyết định, đóng gói và tăng cường, tập hợp
con thuộc tính, v.v. Orange là một tập hợp các widget đồ họa sử dụng các chiến lược từ thư
viện lõi và các mô-đun Orange và mang lại một giao diện người dùng tốt. Tiện ích con hỗ

trợ giao tiếp dựa trên kỹ thuật số và có thể được tập hợp lại với nhau thành một ứng dụng
bằng một cơng cụ lập trình trực quan được gọi là canvas Orange
1.3. Lý Do Chọn Lựa Đề Tài
Đối mặt với sự biến đổi khí hậu của Trái Đất, nhiều loài động vật đứng trước nguy cơ
bị tuyệt chủng. Việc xây dựng các sở thú chính là một trong những biện pháp giúp cung
cấp sự hiểu biết về sự phụ thuộc lẫn nhau của các loài động vật và môi trường sống của
chúng, đồng thời tiến hành các chương trình bảo tồn động vật trong tự nhiên, bao gồm các
chương trình nhân giống để đưa các lồi có nguy cơ tuyệt chủng trở lại môi trường tự nhiên
của chúng. Tuy nhiên, để có thể chăm sóc các lồi động vật một cách hiệu quả và hợp lý
nhất, chúng ta cần phải tìm hiểu rõ về các đặc tính của chúng.
Trong dự án này, chúng tơi khơng khuyến khích bạn bắt giữ và ni các lồi động vật
khác nhau, chúng tơi làm dự án này với mục đích lớn khác đó là bảo tồn, gìn giữ các lồi
động vật, đặc biệt là các loài động vật đứng trước nguy cơ bị tuyệt chủng, góp phần bảo vệ
hệ sinh thái, môi trường sống xung quanh.
Và để thực hiện dự án, chúng tôi lựa chọn 7 bậc phân loại lớp trong bậc phân loại sinh
học (trong dự án này nhóm chỉ sử dụng bậc phân loại lớp từ 3-7).
Tóm lại, với dự án này, chúng tơi sẽ “Phân các lồi động vật vào các lớp động vật dựa
trên các thuộc tính của chúng” (bằng cơng cụ hỗ trợ Orange). Mục đích chính của đề tài là
khi phát hiện ra các lồi động vật mới hoặc để bảo tồn các loài động vật quý hiếm, mọi
người có thể biết cách chăm sóc tốt cho chúng, để chúng phát triển tốt trong môi trường
ngày nay.

3


CHƯƠNG 2. CÁC MƠ HÌNH PHÂN LỚP DỮ LIỆU
2.1. Các Mơ Hình Phân Lớp Dữ Liệu
2.1.1. Mơ Hình Logistic Regression
Là một mơ hình xác suất dự đốn giá trị đầu ra rời rạc từ một tập các giá trị đầu vào
(biểu diễn dưới dạng vector).

2.1.2. Mơ Hình Decision Tree
Trong lý thuyết quản trị, Decision Tree 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 phá dữ liệu, Decision Tree là phương pháp nhằm mô tả, phân loại
và tổng quát hóa tập dữ liệu cho trước.
Ưu điểm:
- Dễ hiểu.
- Khơng địi hỏi việc chuẩn hóa dữ liệu.
- Có thể xử lý trên nhiều kiểu dữ liệu khác nhau.
- Xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn.
Khuyết điểm:
- Khó giải quyết trong tình huống dữ liệu phụ thuộc thời gian.
- Chi phí xây dựng mơ hình cao.
2.1.3. Mơ Hình Support Vector Machine
SVM là một thuật tốn có giám sát, SVM nhận dữ liệu vào, xem chúng như những
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 các bài toán phân loại khác nhau.
Các biến thể của SVM:
Loại SVM

Tính chất

Hard Margin SVM

Hai lớp cần phân lớp là có thể phân chia tuyến tính (linearly
seperable)


Soft Margin SVM

Hai lớp cần phân lớp là “gần” phân chia tuyến tính (almost linear
seperable)

Multi-class SVM

Phân lớp đa lớp (biên giữa các lớp là tuyến tính)

Kernel SVM

Dữ liệu là phi tuyến
4


Ưu và khuyết điểm của các biến thể:
Ưu điểm:
- Tiết kiệm bộ nhớ (do quá trình test chỉ cần so điểm dữ liệu mới với mặt siêu phẳng
tìm được mà khơng cần tính tốn lại).
- Linh hoạt: vừa có thể phân lớp tuyến tính và phi tuyến (sử dụng các kernel khác
nhau).
- Xử lý được trong không gian nhiều chiều.
Khuyết điểm:
- Trong trường hợp số chiều dữ liệu lớn hơn số đơng dữ liệu thì SVM cho kết quả
khơng tốt.
- Chưa thể hiện tính xác suất trong phân lớp.
2.1.4. Mơ Hình Neural Network
Neural network hay cịn gọi là Mạng nơ-ron nhân tạo là mạng sử dụng các mơ hình
tốn học phức tạp để xử lý thông tin. Chúng dựa trên mơ hình hoạt động của các tế bào
thần kinh và khớp thần kinh trong não của con người. Tương tự như bộ não con người,

mạng nơ-ron nhân tạo kết nối các nút đơn giản, còn được gọi là tế bào thần kinh. Và một
tập hợp các nút như vậy tạo thành một mạng lưới các nút, do đó có tên là mạng nơ-ron
nhân tạo.
Các thành phần của Neural network:
- Lớp đầu vào đại diện cho các dữ liệu đầu vào.
- Lớp ẩn đại diện cho các nút trung gian phân chia khơng gian đầu vào thành các vùng
có ranh giới (mềm). Nó nhận vào một tập hợp các đầu vào có trọng số và tạo ra kết
quả đầu ra thơng qua một chức năng kích hoạt.
2.2. Quy Trình Phân Lớp Dữ Liệu
2.2.1. Phân Lớp Dữ Liệu
Quá trình phân lớp dữ liệu gồm 2 bước chính:
Bước 1: Xây dựng mơ hình (hay còn gọi là giai đoạn “học” hoặc “huấn luyệ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, hàm số toán học, tập luật,...
- 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: Sử dụng mơ hình chia thành 2 bước nhỏ.
Bước 2.1: Đánh giá mơ hình (kiểm tra tính đúng đắn của mơ hình)
- 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 “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 tính gán nhãn của dữ liệu
đầu vào và kết quả phân lớp của mơ hình.
Bước 2.2: Phân lớp dữ liệu mới.
+ Dữ liệu đầu vào: là dữ liệu “khuyết” thuộc tính cần dự đoán lớp (nhãn).

5


+ Mơ hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào
những gì được huấn luyện ở bước 1.
2.2.2. Đánh Giá Tính Hiệu Quả

Trước khi đi vào các thang điểm đánh giá tính hiệu quả của bài toán phân lớp dữ liệu,
ta cần xây dựng ma trận nhầm lẫn (confusion matrix). Ma trận nhầm lẫn đối với phân lớp
nhị phân được xác định ở bảng dưới đây:
Chân trị +
TP
FN

Dự đoán +
Dự đoán -

Chân trị FP
TN

Bảng 2.1 Ma trận nhầm lẫn đối với phân lớp nhị phân
Trong đó: TP (dương tính đúng, true positive), TN (âm tính đúng, true negative), FP
(dương tính giả, false positive) và FN (âm tính giả, false negative) được xác định dựa trên
các kết quả dương tính hoặc âm tính của kết quả được dự đoán so với chân trị.
Các thang điểm đánh giá tính hiệu quả của bài tốn phân lớp được tính tốn dựa trên
ma trận nhầm lẫn bao gồm các thang đo đánh giá sau đây:
Độ chính xác (accuracy): xác định mức độ chính xác của kết quả phân lớp cho cả
phân lớp âm và dương tính. Độ chính xác được tính theo cơng thức 3.1:
ACC=

TP+TN
.
TP+ TN + FP+ FN

(3.1)

Độ nhạy (sensitivity): xác định mức độ chính xác của kết quả phân lớp cho cả phân lớp

âm và dương tính. Độ chính xác được tính theo cơng thức 3.2:
SEN =

TP
:=TRP .
TP+ FN

(3.2)

Độ đặc hiệu (specificity): xác định tỷ số âm tính được xác định đúng. Độ đặc hiệu tính
theo cơng thức 3.3:
SPE=

TN
.
TN+ FP

(3.3)

Độ chính xác phép đo (precision): xác định tỷ số dương tính được xác định đúng trên
tổng số dương tính. Độ chính xác phép đo tính theo cơng thức 3.4:
PRE=

TP
.
TP+ FP

(3.4)

Điểm F1 (F1 score): là trung bình điều hịa của giá trị độ nhạy và độ chính xác phép

đo. Điểm F1 được tính theo cơng thức 3.5:
F 1=

2 TP
.
2 TP+ FP+ FN

(3.5)

Hệ số tương quan Matthews (Matthews correlation coefficient): xác định chất lượng
của phân lớp. Hệ số tương quan Matthews được tính theo cơng thức 3.6:
6


MCC=

TP TN −FP FN
.
√(TP+ FP)(TP+ FN )(TN + FP)(TN + FN )

(3.6)

Chỉ số Fowlkes-Mallows: xác định độ tương tự giữa hai phân lớp. Chỉ số FowlkesMallows được tính theo cơng thức 3.7:
FMI =

TP
.
√(TP+ FP)(TP+ FN )

(3.7)


ROC: khi thay đổi giá trị ngưỡng đầu vào cho các mơ hình hồi quy, ta nhận được một
cặp giá trị FPR và TPR được tính theo cơng thức 3.8:
FPR=

FP
.
FP+TN

(3.8)

Khi đó, đồ thị biểu diễn đường giá trị của các cặp điểm FPR và TPR với từng giá trị
ngưỡng được gọi là đường cong ROC (Receiver Operating characteristic curve). Dựa trên
đường cong ROC, ta có thể thấy được một mơ hình phân lớp có hiệu quả hay khơng. Một
mơ hình phân lớp là hiệu quả khi FPR thấp và TPR cao, tức là tồn tại điểm trên ROC mà
gần với điểm giá trị (FPR, TPR) = (0,1).
Một cách khác để đánh giá tính hiệu quả của đường cong ROC là sử dụng thang đo
AUC (Area under ROC). AUC được xác định là phần diện tích bên dưới đường cong ROC.

7


CHƯƠNG 3. CÁC KẾT QUẢ THỰC NGHIỆM
3.1. Bộ Dữ Liệu
Mô tả tổng quát bộ dữ liệu:
Tên Bộ dữ liệu: Zoo Animals Extended Dataset
( />
Số lượng mẫu: 43
Tập training:10
Số lượng thuộc tính: 18

Missing value: 0
MƠ TẢ THUỘC TÍNH:
1. hair: có lơng hoặc khơng có lơng
2. feathers: có lơng vũ hoặc khơng có lơng vũ
3. eggs: có đẻ trứng hoặc khơng đẻ trứng
4. milk: có sữa hoặc khơng có sữa
5. airborne: sống trên khơng
6. aquatic: lồi thủy sinh
7. predator: động vật ăn thịt
8. toothed: có răng hoặc khơng có răng
9. backbone: có xương sống hoặc khơng có xương sống
10. breathes: thở bằng mũi
11. venomous: có nọc độc hoặc khơng
12. fins: có vây hoặc khơng có vây
13. legs: có chân hoặc khơng có chân
14. tail: có đi hoặc khơng có đi
15. domestic: sống trong nước (nội địa)
8


16. catsize: kích thước
17. class-type: phân loại lớp
● 3: Lồi bị sát (Reptile)
● 4: Lồi cá (fish)
● 5: Lồi lưỡng cư (amphibians)
● 6: Lồi cơn trùng (insect)
● 7: Lồi khơng xương sống (invertebrate)
18. animal name: tên động vật
3.2. Các Kết Quả Thực Nghiệm
3.2.1. Hình Thể Hiện: Mơ Hình Phân Lớp Bộ Dữ Liệu Trên Orange


3.2.2. Kết Quả Với Tập Dữ Liệu Testing
● Test and score: Sử dụng phương pháp K-fold cross validation với k = 5.

9




Đường cong ROC:

10


3.2.3. Kết Quả Với Tập Dữ Liệu Predictions
● Dùng SVM:



Predictions:

11






Data Table:


Dùng Logistic Regression:

12




Predictions:



Data Table:

13




Dùng Neural Network:



Predictions:

14




Data Table:




Dùng Tree:

15




Predictions:



Data Table:

3.3. Phân Tích và Đánh Giá

16




Kết quả với tập dữ liệu Test and score: Sử dụng phương pháp K-fold cross
validation với k = 5

➢ Dựa trên chỉ số AUC (tính chính xác), Recall (độ phủ) và Precision (độ chính xác)
và giá trị trung bình điều hòa (harmonic mean) của hai đo Precision và Recall F1 ta có thể
thấy mơ hình Logistic Regression có số liệu đo được là tốt nhất trong các mơ hình.



Đường cong ROC:

ROC (Receiver Operating Characteristic)
17


Là một đồ thị được sử dụng khá phổ biến trong đánh giá các mơ hình phân loại nhị
phân. Đường cong này được tạo ra bằng cách biểu diễn tỷ lệ dự báo true positive rate
(TPR) dựa trên tỷ lệ dự báo false positive rate (FPR) tại các ngưỡng khác nhau.
Một mơ hình hiệu quả khi có FPR thấp và TPR cao, hay ROC càng tiệm cận với điểm
(0;1) trong đồ thị thì mơ hình càng hiệu quả.
➢ Qua quan sát đường ROC trên có thể thấy được mơ hình Logistic Regression là
đường có tỷ lệ báo true positive rate (TPR) cao nhất và tỷ lệ false positive rate (FPR) thấp
nhất.
➔ Thông qua việc đánh giá các chỉ số kiểm định ta thấy Mơ hình Logistic
regression có chỉ số kiểm định tốt nhất nên đây sẽ là lựa chọn phù hợp nhất.
Kết quả khi sử dụng mơ hình Confusion Matrix:
● Mơ hình SVM:


- Có thể thấy tỷ lệ nhầm lẫn so với thực tế của lớp thứ 3 (lồi bị sát) với lớp thứ 5 (loài
lưỡng cư) là vào khoảng 33.3%
- Ở lớp thứ 6 (lồi cơn trùng) có mức độ nhầm lẫn với lớp thứ 7 (lồi khơng xương
sống) là 16.7%
● Mơ hình Logistic Regression:
18


- Ở lớp thứ 6 (lồi cơn trùng) có mức độ nhầm lẫn với lớp thứ 7 (lồi khơng xương

sống) là 16.7%
● Mơ hình Neural Network:

19



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×