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

luận văn thạc sĩ một số thuật toán học máy trong phân loại hành vi sử dụng gói cước data viễn thông

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 (2.05 MB, 81 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


NGUYỄN QUANG TUẤN

MỘT SỐ THUẬT TOÁN HỌC MÁY
TRONG PHÂN LOẠI HÀNH VI
SỬ DỤNG GĨI CƯỚC DATA VIỄN THƠNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

Hà Nội - năm 2020


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


NGUYỄN QUANG TUẤN

MỘT SỐ THUẬT TOÁN HỌC MÁY
TRONG PHÂN LOẠI HÀNH VI
SỬ DỤNG GĨI CƯỚC DATA VIỄN THƠNG
CHUN NGÀNH:
MÃ SỐ:

KHOA HỌC MÁY TÍNH
8.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)


NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS. TRẦN ĐÌNH QUẾ

Hà Nội - năm 2020



LỜI CAM ĐOAN
Tơi xin cam đoan: Khố luận tốt nghiệp với đề tài “MỘT SỐ THUẬT TOÁN
HỌC MÁY TRONG PHÂN LOẠI HÀNH VI SỬ DỤNG GĨI CƯỚC DATA
VIỄN THƠNG” là cơng trình nghiên cứu của cá nhân tơi, các số liệu, kết quả nêu
trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình
nào khác, khơng sao chép của bất cứ ai.
Tơi xin chịu mọi trách nhiệm về cơng trình nghiên cứu của riêng mình!
Hà Nội, ngày ………….
Người cam đoan

Nguyễn Quang Tuấn


1

MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT.....................................................iv
DANH MỤC CÁC BẢNG................................................................................................v
DANH MỤC CÁC HÌNH................................................................................................vi
MỞ ĐẦU............................................................................................................................ 1
CHƯƠNG 1 - TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI HÀNH VI SỬ
DỤNG DỊCH VỤ VIỄN THƠNG....................................................................................3
1.1 Giới thiệu bài tốn.........................................................................................3

1.2 Tổng quan quy trình phân tích dữ liệu........................................................3
1.2.1 Tổng quan...............................................................................................3
1.2.2 Quy trình triển khai bài tốn phân tích dữ liệu.....................................4
1.2.3 Lưu đồ quy trình thực hiện dự án ứng dụng phân tích dữ liệu............6
1.3 Xử lý dữ liệu phân tán với Spark.................................................................6
1.3.1 Giới thiệu................................................................................................6
1.3.2 Cơ chế hoạt động....................................................................................7
1.3.3 Spark application....................................................................................9
1.4 Các chỉ số đánh giá hiệu năng mơ hình.......................................................9
1.4.1 Ma trận nhầm lẫn (Confusion matrix)..................................................9
1.4.2 Các chỉ số Accuracy, Precision, Recall và F1 score.............................10
1.4.3 Đường cong ROC..................................................................................11
1.4.4 Biểu đồ Lift...........................................................................................13
1.4.5 Biểu đồ Gain.........................................................................................14
1.5 Các phương pháp xây dựng đặc trưng dữ liệu.........................................15
1.5.1 Các phương pháp thống kê lựa chọn đặc trưng dữ liệu với phương
pháp lọc..........................................................................................................16


2

1.5.2 Các phương pháp thống kê lựa chọn đặc trưng dữ liệu với phương
pháp đóng gói................................................................................................20
1.5.3 Các phương pháp thống kê lựa chọn đặc trưng dữ liệu với phương
pháp nhúng....................................................................................................21
1.6 Kỹ thuật tiền xử lý dữ liệu..........................................................................22
1.6.1 Xử lý thiếu giá trị..................................................................................23
1.6.2 Xử lý giá trị ngoại lai............................................................................25
1.7 Thuật toán giảm chiều dữ liệu (PCA)........................................................25
CHƯƠNG 2 - MƠ HÌNH HÀNH VI VÀ MỘT SỐ THUẬT TOÁN HỌC MÁY

.......................................................................................................................................... 28
2.1 Thuật toán rừng ngẫu nhiên (Random Forest).........................................28
2.1.1 Cây quyết định......................................................................................28
2.1.2 Thuật tốn rừng ngẫu nhiên (Random Forest)...................................29
2.2 Thuật tốn Nạve Bayes..............................................................................32
2.2.1 Suy diễn Bayes......................................................................................32
2.2.2 Cơ sở lý thuyết......................................................................................33
2.2.3 Ứng dụng của Bayes trong phân tích dữ liệu......................................35
2.3 Thuật tốn Logistic Regression..................................................................36
2.3.1 Khái niệm..............................................................................................36
2.3.2 Cơ sở lý thuyết......................................................................................36
CHƯƠNG 3 - THỬ NGHIỆM VÀ ĐÁNH GIÁ...........................................................38
3.1 Đặt vấn đề....................................................................................................38
3.2 Xác định bài toán........................................................................................38
3.3 Quy trình xây dựng mơ hình học máy.......................................................39
3.4 Thực nghiệm................................................................................................40
3.4.1 Nhập vào các thư viện..........................................................................40


3

3.4.2 Khai báo biến ngày tháng.....................................................................41
3.4.3 Import cơ sở dữ liệu..............................................................................43
3.4.4 Tiền xử lý dữ liệu..................................................................................44
3.5 Kết quả thực nghiệm...................................................................................48
3.6 Xây dựng hệ thống......................................................................................54
3.6.1 Giới thiệu hệ thống...............................................................................54
3.6.2 Biểu đồ ca sử dụng hành vi người dùng..............................................55
3.6.3 Biểu đồ ca sử dụng giám sát dự án......................................................56
3.6.4 Biểu đồ ca sử dụng giám sát mơ hình..................................................57

3.6.5 Giao diện Home....................................................................................58
3.6.6 Giao diện thanh điều hướng................................................................58
3.6.7 Giao diện thông tin chung....................................................................59
3.6.8 Giao diện nguồn dữ liệu.......................................................................60
3.6.9 Giao diện thơng tin mơ hình................................................................61
3.7 Kết quả trong triển khai thực tế.................................................................62
3.7.1 Các chỉ số tính hiệu quả triển khai......................................................62
3.7.2 Kết quả triển khai thực tế.....................................................................63
DANH MỤC TÀI LIỆU THAM KHẢO.......................................................................67


4

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Viết tắt
EDA
ETL
KPI
PTDL
PYC
RF
ROC
TNR
TPR
TUR

Tiếng Anh
Exploratory Data Analysis
Extract Transform Load
Key Performance Indicator

Random Forest
Receiver operating characteristic
True Negative Rate
True Positive Rate
Take up rate

Tiếng Việt
Phân tích, khai phá dữ liệu
Q trình trích xuất, biến đổi và tải
Chỉ số đo lường hiệu quả cơng việc
Phân tích dữ liệu
Phiếu u cầu
Thuật toán rừng ngẫu nhiên
Biểu đồ hiệu năng phân loại
Tỉ lệ dự đốn đúng nhãn âm tính
Tỉ lệ dự đốn đúng nhãn dương tính
Tỉ lệ phản hồi của khách hàng


5

DANH MỤC CÁC BẢNG
Bảng 1.1: Quy trình triển khai bài tốn phân tích dữ liệu

4

Bảng 1.2: Tương quan giữa hai trường dân số và thu nhập

18


Bảng 1.3: Bảng tính giá trị chi bình phương

19

Bảng 1.4: Bảng tính xác suất cho từng sự kiện

19

Bảng 1.5: Bảng tính giá trị kỳ vọng

20

Bảng 1.6: Các phương pháp thay thế

24


6

DANH MỤC CÁC HÌNH
Hình 1.1: Lưu đồ quy trình thực hiện dự án ứng dụng phân tích dữ liệu

6

Hình 1.2: Các thành phần chính của Spark

7

Hình 1.3: Cơ chế hoạt động của ứng dụng Spark


8

Hình 1.4: Luồng hoạt động của ứng dụng Spark

9

Hình 1.5: Ma trận nhầm lẫn

10

Hình 1.6: Đường cong ROC

12

Hình 1.7: Diện tích bên dưới đường cong ROC

13

Hình 1.8: Xác suất phần loại nhãn

13

Hình 1.9: Biểu đồ lift

14

Hình 1.10: Biểu đồ Gain

15


Hình 1.11: Đồ thị biểu diễn độ thuần khiết GINI

21

Hình 1.12: Mơ phỏng thuật tốn PCA

26

Hình 1.13: Mơ phỏng cách tính khoảng cách nhỏ nhất trong thuật tốn PCA

27

Hình 2.1: Đồ thị của hàm Entropy

29

Hình 2.2: Ý tưởng thuật tốn Rừng ngẫu nhiên

31

Hình 2.3: Mơ tả suy diễn Bayes

34

Hình 2.4: Phân bố Bayes

35

Hình 2.5: Đồ thị hàm sigmoid


37

Hình 3.1: Các bước xây dựng mơ hình học máy

40

Hình 3.2: ROC thuật tốn Nạve Bayes

48

Hình 3.3: ROC thuật tốn hồi quy Logistic

49

Hình 3.4: ROC thuật tốn rừng ngẫu nhiên

49

Hình 3.5: Cumulative gain thuật tốn Nạve Bayes

49

Hình 3.6: Cumulative gain hồi quy Logistic

50

Hình 3.7: Cumulative gain thuật tốn rừng ngẫu nhiên

50


Hình 3.8: Precision-Recall thuật tốn Nạve Bayes

51

Hình 3.9: Precision-Recall thuật tốn hồi quy Logistic

51

Hình 3.10: Precision-Recall thuật tốn rừng ngẫu nhiên

52


7

Hình 3.11: Biểu đồ Lift thuật tốn Nạve Bayes

53

Hình 3.12: Biểu đồ Lift thuật tốn hồi quy Logistic

53

Hình 3.13: Biểu đồ Lift thuật tốn Rừng ngẫu nhiên

54

Hình 3.14: Biểu đồ ca sử dụng hành vi người dùng

56


Hình 3.15: Biểu đồ ca sử dụng chức năng giám sát dự án

56

Hình 3.16: Biểu đồ ca sử dụng giám sát mơ hình

57


1

MỞ ĐẦU
Ngày nay, trong kỷ nguyên kỹ thuật số, với sự bùng nổ của thông tin, số lượng
dữ liệu do con người tạo ra ngày càng khổng lồ. Số lượng điện thoại smartphone và
thiết bị kết nối tăng nhanh chóng, ngành công nghiệp viễn thông tràn ngập với số
lượng dữ liệu khổng lồ. Nguồn gốc của số lượng dữ liệu khổng lồ này bao gồm dữ
liệu lưu lượng truy cập mạng, mơ hình sử dụng dữ liệu của khách hàng, dữ liệu vị
trí, ứng dụng đã tải về,… Ngành cơng nghiệp viễn thông đang ngày càng thay đổi
và phát triển không ngừng. Điện thoại thông minh đã trở thành một nhu cầu cơ bản
của mỗi người trong cuộc sống ngày nay. Mọi người có thể kết nối với nhau ở bất
cứ nơi nào trên thế giới, xóa bỏ rào cản khoảng cách. Mọi thơng tin đều có thể được
thu thập và xử lý nhanh hơn bao giờ hết. Và phân tích dữ liệu lớn sẽ tạo điều kiện
cho các ngành công nghiệp viễn thông phát triển mạnh mẽ trong thế giới kỹ thuật
số. Các ứng dụng của phân tích số liệu trong lĩnh vực viễn thông, dữ liệu lớn là một
cơ hội chuyển đổi ngành viễn thông sang hướng hoạt động hiệu quả hơn nhờ gia
tăng mức độ hài lòng của khách hàng, tăng doanh thu nhờ tăng sản lượng và loại
hình dịch vụ cung cấp, cắt giảm chi phí vận hành, giảm thiểu thiệt hại.
Trong khuôn khổ luận văn tập trung vào các kỹ thuật xử lý dữ liệu lớn và các
thuật toán phân lớp dữ liệu bao gồm: Phân loại tuyến tính, Hồi quy logistic, Phân

loại Nạve Bayes, Rừng ngẫu nhiên (RF). Ứng dụng thuật toán học máy trong lĩnh
vực kinh doanh viễn thông sử dụng dữ liệu lịch sử của tập khách hàng để xây dựng
các mô hình có khả năng phân loại, dự đốn nhu cầu sử dụng của khách hàng. Tập
kết quả đó sẽ được dùng để hỗ trợ các đơn vị kinh doanh truyền thống đưa ra quyết
định trong các chiến dịch kinh doanh của doanh nghiệp.
Cấu trúc của bài luận văn gồm 3 chương:
Chương 1: Tổng quan về bài toán phân loại hành vi sử dụng dịch vụ viễn
thơng: Trong chương này trình bày tổng quan quy trình phân tích dữ liệu, hệ thống
xử lý dữ liệu phân tán và các phương pháp xử lý dữ liệu.


2

Chương 2: Mơ hình hành vi và một số thuật tốn học máy: Chương này sẽ đi
sâu vào tìm hiểu 3 thuật tốn là rừng ngẫu nhiên, phân loại Nạve Bayes, hồi quy
Logistic.
Chương 3: Thử nghiệm và đánh giá: Chương này sẽ nêu mục tiêu thử nghiệm bài
toán, ý nghĩa các chỉ số đo và thử nghiệm xây dựng mô hình dự đốn lần lượt với 3
thuật tốn nêu trên và đánh giá kết quả.


3

CHƯƠNG 1 - TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI
HÀNH VI SỬ DỤNG DỊCH VỤ VIỄN THÔNG
1.1 Giới thiệu bài tốn
Các ứng dụng của phân tích số liệu trong lĩnh vực viễn thông, dữ liệu lớn là
một cơ hội chuyển đổi ngành viễn thông sang hướng hoạt động hiệu quả hơn nhờ
gia tăng mức độ hài lòng của khách hàng, tăng doanh thu nhờ tăng sản lượng và loại
hình dịch vụ cung cấp, cắt giảm chi phí vận hành, giảm thiểu thiệt hại. Trong khuôn

khổ luận văn tập trung vào các kỹ thuật xử lý dữ liệu lớn và các thuật toán phân lớp
dữ liệu bao gồm: Phân loại tuyến tính, Hồi quy logistic, Phân loại Nạve Bayes,
Rừng ngẫu nhiên (RF). Ứng dụng thuật toán học máy trong lĩnh vực kinh doanh
viễn thông sử dụng dữ liệu lịch sử của tập khách hàng để xây dựng các mơ hình có
khả năng phân loại, dự đoán nhu cầu sử dụng của khách hàng. Tập kết quả đó sẽ
được dùng để hỗ trợ các đơn vị kinh doanh truyền thống đưa ra quyết định trong các
chiến dịch kinh doanh của doanh nghiệp.
1.2 Tổng quan quy trình phân tích dữ liệu

1.2.1 Tổng quan
- Sự kiện bắt đầu: Kinh doanh gửi PYC thực hiện dự án.
- Sự kiện kết thúc: Triển khai theo dõi kết quả và hành vi sau tác động.
- Đầu vào: Tài liệu đánh giá phạm vi mục tiêu của chương trình ứng dụng kinh
doanh dựa trên phân tích dữ liệu.
- Đầu ra:
 Bảng dữ liệu sau q trình mơ hình dự đốn
 Chương trình kinh doanh tác động đến khách hàng cuối dựa trên phân tích
dữ liệu.
 Báo cáo kết quả đánh giá chương trình.
 Triển khai mở rộng và xây dựng các chiến dịch định kỳ


4

1.2.2 Quy trình triển khai bài tốn phân tích dữ liệu
Bảng 1.1: Quy trình triển khai bài tốn phân tích dữ liệu

Hoạt động chính

Các nội dung quan trọng

Đơn vị kinh doanh: đưa ra u cầu bài tốn, mơ tả rõ

1. Đưa ra yêu cầu bài toán hiện trạng và mục tiêu đầu ra mong muốn về cả
doanh thu và tỷ lệ take up rate.
Đơn vị kinh doanh: Đặt ra mục tiêu đầu ra mong
muốn về cả doanh thu và tỷ lệ take up rate.
2. Xác định yêu cầu,
phạm vi và các KPI mục
tiêu cần đạt

Xác định các KPI và con số để đánh giá mơ hình dự
đốn trong bài tốn phân tích.
Xác định các KPI về kết quả triển khai của campaign
ứng dụng phân tích dữ liệu.
Hypothesis testing
Làm sạch dữ liệu, Khám phá dữ liệu, tìm hiểu và

3.Phân

tích



tả

chuẩn bị dữ liệu

(Descriptive analytics)
Kế hoạch phân tích
Phân tích và chứng minh giả thiết

TT PTDL đưa ra danh sách đặc trưng liên quan đến
4.Xây dựng đặc trưng dữ dữ liệu.
liệu (feature engineering)

TTSP sử dụng kết quả trực quan hóa và kinh nghiệm
về mặt kinh doanh giúp đóng vai trị tư vấn

5.Xây dựng model dự
đốn phù hợp với chương TT PTDL xây dựng mơ hình dự đốn theo các đặc
trình

(Predictive trưng dữ liệu đã thống nhất.

analystics)
6.Trực quan hóa kết quả, TT PTDL trực quan hóa đặc tính của các th bao
thuyết phục với đơn vị ra


5

Hoạt động chính

Các nội dung quan trọng
được dự đốn.

u cầu
Thuyết phục đơn vị kinh doanh về kết quả đầu ra
Lựa chọn sản phẩm, offer phù hợp với đặc tính từng
7.Xây dựng kịch bản nhóm th bao
truyền thơng


Xây dựng kịch bản tác động, nội dung tin nhắn, thời
điểm, trigger tác động...
Phối hợp với các đơn vị P.QLDT, TTSP, TKCS để
khai báo campaign tác động đến khách hàng cuối.

8.Triển khai và theo dõi Chia tập tác động thành 2 tập Target Group – để tác
kết quả

động và Control Group - để và theo dõi
Xây dựng Dashboard để theo dõi các chỉ số KPI và
diễn biến hành vi thuê bao sau tác động

9.Báo cáo kết quả

Báo cáo kết quả chương trình tới BTGĐ

10.Triển khai mở rộng, Nếu kết quả chương trình tốt, triển khai mở rộng và
định kỳ

đựng thành luồng định kỳ hàng ngày/hàng tháng

1.2.3 Lưu đồ quy trình thực hiện dự án ứng dụng phân tích dữ liệu


6

Hình 1.1: Lưu đồ quy trình thực hiện dự án ứng dụng phân tích dữ liệu

1.3 Xử lý dữ liệu phân tán với Spark


1.3.1 Giới thiệu
Apache Spark là một khung làm việc mã nguồn mở tính tốn phân tán được
phát triển sơ khởi vào năm 2009 bởi AMPLab tại đại học California. Sau này, Spark
đã được trao cho Apache Software Foundation vào năm 2013 và được phát triển cho
đến nay. Nó cho phép xây dựng các mơ hình dự đốn nhanh chóng với việc tính
tốn được thực hiện trên một nhóm các máy tính, có có thể tính tốn cùng lúc trên
tồn bộ tập dữ liệu mà khơng cần phải trích xuất mẫu tính tốn thử nghiệm. Tốc độ
xử lý của Spark có được do việc tính tốn được thực hiện cùng lúc trên nhiều máy
khác nhau. Đồng thời việc tính tốn được thực hiện ở bộ nhớ trong (in-memories)
hay thực hiện hồn tồn trên RAM.
Các ngơn ngữ lập trình được hỗ trợ bởi Spark bao gồm: Java, Python, Scala
và R. Thơng qua spark các lập trình viên và các nhà khoa học dữ liệu có thể truy
vấn, phân tích, và chuyển đổi dữ liệu một cách nhanh chóng. Các task thường xuyên
được sử dụng kết hợp với spark như ETL và SQL để thực hiện các câu lệnh truy vấn
tuần tự trên những tập dữ liệu lớn, xử lý dịng dữ liệu từ các cảm biến, hệ thống tài
chính hay các task Machine learning.


7

Hình 1.2: Các thành phần chính của Spark

Thành phần chính của Spark là Spark Core: cung cấp những chức năng cơ
bản nhất của Spark như lập lịch cho các tác vụ, quản lý bộ nhớ, khắc phục lỗi,
tương tác với các hệ thống lưu trữ…Đặc biệt, Spark Core cung cấp API để định
nghĩa RDD (Resilient Distributed DataSet) là tập hợp của các item được phân tán
trên các nút của cụm và có thể được xử lý song song.
Spark có thể chạy trên nhiều loại quản lý cụm như Hadoop YARN, Apache
Mesos hoặc trên chính quản lý cụm được cung cấp bởi Spark được gọi là

Standalone Scheduler.


Spark SQL cho phép truy vấn dữ liệu cấu trúc qua các câu lệnh SQL. Spark

SQL có thể thao tác với nhiều nguồn dữ liệu như Hive tables, Parquet, và JSON.


Spark Streaming cung cấp API để dễ dàng xử lý dữ liệu stream,



MLlib cung cấp rất nhiều thuật toán của học máy như: phân loại nhãn, hồi

quy, phân loại, lọc cộng tác…


GraphX là thư viện để xử lý đồ thị.

1.3.2 Cơ chế hoạt động
Để tìm hiểu spark chúng ta sẽ bắt đầu với lịch sử hình thành và phát triển của
nó. Trước Spark chúng ta đã từng biết tới MapReduce- một khung xử lý dữ liệu phân
tán giúp Google thiết lập các chỉ mục trong sự bùng nổ của nội dung web, trên các
cụm máy chủ lớn.


8

Hình 1.3: Cơ chế hoạt động của ứng dụng Spark


Có ba khái niệm cốt lõi trong chiến lược của Google:
 Dữ liệu phân tán: Khi một tệp dữ liệu được tải lên cụm, nó sẽ được chia
thành các phần được gọi là data block sau đó được phân phối chạy trên các
data nodes và nhân rộng trên các cluster.
 Tính toán phân tán: người dùng chỉ định map function để xử lý dữ liệu dựa
trên các cặp key/value. Để tạo ra một tập các cặp key/value và kết hợp chúng
với reduce function thì tất cả các giá trị trung gian được liên kết với cùng một
khóa. Một chương trình được viết theo cấu trúc này sẽ tự động chạy song
song trên 1 cụm cluster lớn theo cách sau:
- Quá trình mapping chạy trên mỗi node dữ liệu được chỉ định, chỉ hoạt
động trên một block dữ liệu từ mỗi distribute file.
-

Các kết quả từ quá trình mapping được gửi tới Reducer trong một quy
trình được gọi là “shuffle and sort”: các cặp key/value từ quá trình
mapping sẽ được sắp xếp theo key, được phân vùng theo số lượng reducer,
sau đó được gửi qua hệ thống network và được danh sách key đã được sắp
xếp sẽ được ghi lại trên reducer node.

-

Quá trình reducer thực hiện trên các node được chỉ định. Output của quá
trình reducer sẽ được ghi vào 1 file input.


9

 Khả năng chịu lỗi: cả dữ liệu và tính tốn có thể được chịu lỗi bằng cách
chuyển sang node khác cho cả dữ liệu và tiến trình tính tốn.


1.3.3 Spark application
Biểu đồ bên dưới biểu diễn luồng chạy của một ứng dụng Spark chạy trên
một cụm cluster.
 Mỗi ứng dụng spark chạy dưới dạng các quy trình độc lập được điều phối bởi
Spark Session.
 Trình quản lý tài nguyên hay quản lý cluster sẽ phân công nhiệm vụ cho các
worker, một task cho một phân vùng.
 Mỗi task được giao cho 1 phần khối lượng của dataset trong partition của nó
và output sẽ sẽ được xuất ra ở phân vùng dataset mới.
 Kết quả được gửi trở lại driver application hoặc có thể được lưu vào ổ đĩa.

Hình 1.4: Luồng hoạt động của ứng dụng Spark

1.4 Các chỉ số đánh giá hiệu năng mơ hình

1.4.1 Ma trận nhầm lẫn (Confusion matrix)
Ma trận nhầm lẫn (confusion matrix) là một chỉ số đo hiệu suất cơ bản để
đánh giá hiệu năng dự đốn của một mơ hình. Nó là một ma trận vng kích thước


10

2x2 chứa bốn tổ hợp được tạo ra bởi 2 phân lớp nhị phân. Các chỉ số đo khác như
độ chính xác, độ phủ hay các phương pháp đo như ROC cũng được xây dựng dựa
trên ma trận nhầm lẫn. Từ yêu cầu bài toán là phân loại nhị phân với hai nhãn là 0
và 1 hoặc Yes/No.

Các dự đoán đầu ra cho nhãn sẽ được chia thành hai loại là dự

đốn “tích cực” và dự đốn “tiêu cực”. Kết quả dự đốn của mơ hình được chia

thành 4 nhóm như hình bên dưới:

Hình 1.5: Ma trận nhầm lẫn

True Positive (TP): Số lượng dự đốn chính xác nhãn 1
True Negative (TN): Số lượng dự đốn chính xác nhãn 0
False Positive (FP): Số lượng dự đoán sai nhãn 1
True Negative (TN): Số lượng dự đoán sai nhãn 0

1.4.2 Các chỉ số Accuracy, Precision, Recall và F1 score
Accuracy: Chỉ số đánh giá độ chính xác tổng thể của mơ hình. Giá trị của độ chính
xác nằm trong khoảng 0 đến 1. Với 1 là giá trị độ chính xác tốt nhất và 0 là giá trị
độ chính xác thấp nhất của một mơ hình dự đốn. Độ chính xác (ACC) được tính
bằng số tất cả các dự đoán đúng chia cho tổng số dự đoán của tập dữ liệu.


11

Precision: Chỉ số đánh giá tổng số dự đốn chính xác nhãn 1 chia cho tổng số dự
đoán được dự đoán là nhãn 1. Giá trị lớn nhất của độ chính xác là 1 và nhỏ nhất là
0. Để tính Precision ta sử dụng công thức sau:

Recall: Chỉ số thể hiện mơ hình dự đốn đúng bao nhiêu phần nhãn 1 trong tổng số
lượng nhãn 1 của cả tập. Nó cịn có tên gọi là Tỉ lệ dương tính thực (TPR). Để tính
recall ta sử dụng cơng thức sau:

F1-score: Chỉ số kết hợp giữa 2 chỉ số Precision và Recall. Để tính F1-score ta sử
dụng cơng thức sau:

1.4.3 Đường cong ROC

Đường cong ROC (receiver operating characteristic) là biểu đồ thể hiện hiệu
năng phân loại nhãn của mơ hình trên tất cả các ngưỡng điểm phân loại. Biểu đồ
được tạo nên từ hai trục chứa giá trị True Positive Rate và False Positive Rate.
True Positive Rate (TPR) hay chính là Recall đã được trình bày ở phần trên.
Cơng thức tính TPR:


12

False Positive Rate (FPR) được tính bởi cơng thức:

Biểu đồ đường cong ROC được vẽ bởi các giá trị khác nhau của TPR và FPR
trên mỗi ngưỡng cắt khác nhau của phân lớp. Việc hạ thấp ngưỡng phân loại sẽ
phân loại nhiều được nhiều nhãn dương tính song cũng làm tăng cả đúng nhãn
dương tính và sai nhãn dương tính.

Hình 1.6: Đường cong ROC

Để đánh giá một mơ hình người ta sử dụng AUC: Area Under the ROC
Curve. AUC được tính bằng diện tích phần hình nằm bên dưới đường cong. Giá trị
diện tích đó nằm trong khoảng [0,1].


13

Hình 1.7: Diện tích bên dưới đường cong ROC

AUC là độ đo để đánh giá hiệu suất dự đoán trên tất cả các ngưỡng phân loại
có thể có của mơ hình dự đốn. Hay nói một cách khác thì AUC là xác suất mà mơ
hình xếp hạng một mẫu dương tính ngẫu nhiên cao hơn một mẫu âm tính ngẫu

nhiên.

Hình 1.8: Xác suất phần loại nhãn

Hình trên mơ phỏng một tập bản ghi được sắp xếp theo thứ tự tăng dần về
điểm số xác suất phân loại nhãn. AUC có giá trị từ 0 đến 1. Một mơ hình dự đốn
sai 100% sẽ có AUC = 0 và dự đốn đúng 100% sẽ có AUC = 1. AUC có thể cho
chúng ta thấy hiệu suất dự đốn của mơ hình trên tồn bộ ngưỡng điểm do mơ hình
trả ra nhưng lại khơng cho ta biết ngưỡng điểm mơ hình dự đốn chính xác nhất.

1.4.4 Biểu đồ Lift
Biểu đồ lift là phương pháp đánh giá hiệu quả của mơ hình phân loại dựa
trên việc đánh giá tỉ lệ phản hồi, hay so sánh các kết quả phân loại có được từ việc


14

sử dụng mơ hình so với khơng sử dụng mơ hình. Khác với những phương pháp đo
hiệu quả mơ hình khác thì lift tính tốn, định lượng độ đo hiệu quả theo % của tập
dữ liệu tổng thể và kết hợp trực quan hóa qua đồ thị. Mỗi điểm trên trên biểu đồ lift
được tính bằng cách tính xác suất mà mỗi đơn vị dữ liệu được phân loại Positive sau
đó sắp xếp các đơn vị dữ liệu này theo thứ tự giảm dần ứng với giá trị tỉ lệ vừa tính
sau đó tính lift cho từng mẫu. Biểu đồ lift được xây dựng từ việc tính giá trị lũy kế
theo quy mơ mẫu dữ liệu tăng dần. Do đó chúng ta sẽ có một số đơn vị dữ liệu trong
tổng thể được phân loại theo phân lớp ấy và khi tiến gần đến 100% thì lift giảm dần
đến 1. Lúc này mơ hình khơng cịn phân loại dữ liệu theo nhãn dương tính do đã
phân loại hết các đơn vị dữ liệu cần phân loại. Để so sánh giữa các mơ hình phức
tạp để tìm ra mơ hình hiệu quả nhất thì biểu đồ lift là một hướng tiếp cận thích hợp
với cơ sở là cùng xét tại vị trí phân vị bất kỳ thì đồ thị nào có lift cao hơn sẽ hiệu
quả hơn.


Hình 1.9: Biểu đồ lift

1.4.5 Biểu đồ Gain
Biểu đồ Gain kết hợp với biểu đồ Lift để thể hiện rõ hơn độ hiệu quả của mơ
hình phân loại. Biểu đồ Gain cung cấp cho chúng ta thông tin là trong % số đơn vị
tổng thể chúng ta có thể đạt được bao nhiêu % đơn vị dữ liệu được phân loại chính


×