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
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 8.48.01.01
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định
80 trang |
Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 380 | Lượt tải: 0
Tóm tắt tài liệu Luận vă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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 TỐ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
i
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 TỐ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
ii
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 tố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 TỐN HỌC
MÁY ......................................................................................................................... 28
2.1 Thuật tố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 tố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
iii
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
iv
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Viết tắt Tiếng Anh Tiếng Việt
EDA Exploratory Data Analysis Phân tích, khai phá dữ liệu
ETL Extract Transform Load Quá trình trích xuất, biến đổi và tải
KPI Key Performance Indicator Chỉ số đo lường hiệu quả cơng việc
PTDL Phân tích dữ liệu
PYC Phiếu yêu cầu
RF Random Forest Thuật tốn rừng ngẫu nhiên
ROC Receiver operating characteristic Biểu đồ hiệu năng phân loại
TNR True Negative Rate Tỉ lệ dự đốn đúng nhãn âm tính
TPR True Positive Rate Tỉ lệ dự đốn đúng nhãn dương tính
TUR Take up rate Tỉ lệ phản hồi của khách hàng
v
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
vi
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
vii
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
tố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 tố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 tố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
tố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 TỐ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 tố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 tố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.
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 quá 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
1. Đưa ra yêu cầu bài tốn
Đơn vị kinh doanh: đưa ra yêu cầu bài tốn, mơ tả rõ
hiện trạng và 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
Đơ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.
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.
3.Phân tích mơ tả
(Descriptive analytics)
Hypothesis testing
Làm sạch dữ liệu, Khám phá dữ liệu, tìm hiểu và chuẩn
bị dữ liệu
Kế hoạch phân tích
Phân tích và chứng minh giả thiết
4.Xây dựng đặc trưng dữ
liệu (feature engineering)
TT PTDL đưa ra danh sách đặc trưng liên quan đến dữ
liệu.
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ưng dữ liệu đã thống nhất.
5
Hoạt động chính Các nội dung quan trọng
trình (Predictive
analystics)
6.Trực quan hĩa kết quả,
thuyết phục với đơn vị ra
yêu cầu
TT PTDL trực quan hĩa đặc tính của các thuê bao
được dự đốn.
Thuyết phục đơn vị kinh doanh về kết quả đầu ra
7.Xây dựng kịch bản
truyền thơng
Lựa chọn sản phẩm, offer phù hợp với đặc tính từng
nhĩm thuê bao
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...
8.Triển khai và theo dõi
kết quả
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.
Chia tập tác động thành 2 tập Target Group – để tác
độ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,
định kỳ
Nếu kết quả chương trình tốt, triển khai mở rộng và
đựng thành luồng định kỳ hàng ngày/hàng tháng
6
1.2.3 Lưu đồ quy trình thực hiện dự án ứng dụng phân tích dữ liệu
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
7
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.
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 tố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 tố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 vuơng kích thước 2x2
10
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 tố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ự đố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ự đốn sai nhãn 1
True Negative (TN): Số lượng dự đố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ự đốn đúng chia cho tổng số dự đố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ự
đốn được dự đố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 − 𝑆𝑐𝑜𝑟𝑒 = 2 ∗
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙
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ự đố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 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ả
14
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
xác. Dựa trên kết quả tính tốn ở bước xây dựng biểu đồ Lift chúng ta sẽ xây dựng
được biểu đồ Gain tương ứng.
15
Hình 1.10: Biểu đồ Gain
Ví dụ như trong hình vẽ trên thì tại khoảng 40% dữ liệu tổng thể thì cĩ khoảng
85% số đơn vị được phân loại chính xác.
1.5 Các phương pháp xây dựng đặc trưng dữ liệu
Xây dựng đặc trưng dữ liệu là tiến trình lựa chọn các đặc tính của tập dữ liệu
hay giảm số lượng các trường dữ liệu trong quá trình xây dựng các mơ hình dự đốn.
Với mục đích giảm thời gian tính tốn, chi phí và cải thiện hiệu năng dự đốn của mơ
hình. Cĩ nhiều phương pháp để lựa chọn đặc trưng dữ liệu nhưng cĩ thể chia chúng
thành ba nhĩm chính:
- Phương pháp lọc: Xác định một số chỉ số nhất định và dựa trên các chỉ số đĩ để
lựa chọn đặc trưng. Ví dụ như dựa vào chỉ số tương quan hoặc chi bình phương.
- Phương pháp đĩng gĩi: Phương pháp này xem xét việc lựa chọn một tập các đặc
trưng như một vấn đề tìm kiếm. Ví dụ như thuật tốn đệ quy loại bỏ tính năng.
- Phương pháp nhúng: Phương pháp nhúng sử dụng các thuật tốn cĩ các phương
pháp lựa chọn đặc trưng được tích hợp sẵn. Ví dụ như Lasso và RF cĩ các phương
pháp lựa chọn đặc trưng riêng của nĩ.
16
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
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
thường sử dụng các chỉ số thể hiện mức độ tương quan giữa các biến đầu vào và biến
đầu ra để làm cơ sở cho việc lựa chọn đặc trưng. Do đĩ việc lựa chọn các phương
pháp thống kê phụ thuộc nhiều vào kiểu dữ liệu của các biến. Các kiểu dữ liệu phổ
biến bao gồm dữ liệu dạng số và dữ liệu dạng phân loại, mỗi loại cĩ thể chia thành
nhiều kiểu dữ liệu như dạng số nguyên, dạng số thập phân cho dữ liệu dạng số và
dạng nhị phân, thứ tự và định danh cho dữ liệu dạng phân loại.
1.5.1.1 Hệ số tương quan Pearson’s
Hệ số tương quan là một chỉ số thống kê đo mối liên hệ tương quan giữa hai
biến số. Giá trị của hệ số tương quan r ( -1 ≤ r ≤ 1). Hệ số tương quan càng gần 0
hoặc bằng 0 cĩ nghĩa là hai biến đang xét khơng cĩ mối liên hệ gì với nhau; ngược
lại nếu giá trị của hệ số tương quan càng gần 1 hoặc -1 nghĩa là hai biến cĩ mối quan
hệ tuyệt đối. Nếu hệ số tương quan cĩ giá trị âm thì đĩ là hai biến nghịch biến và hệ
số tương quan dương thì đĩ là hai biến đồng biến. Hiện nay cĩ nhiều cơng thức để
tính hệ số tương quan giữa hai biến nhưng thơng dụng nhất là cơng thức tính hệ số
tương quan Pearson. Tương quan Person sẽ xác định một đường thẳng phù hợp nhất
Kiểu dữ liệu
Dạng số Dạng phân loại
Số nguyên Số thực Định danh Thứ tự Nhị phân
17
với mối quan hệ tuyến tính của hai biến. Xét hai biến số x và y được lấy từ n mẫu, hệ
số tương quan Pearson sẽ được tính bằng cơng thức sau:
𝒓 =
∑ (𝒙𝒊 − 𝒙)(𝒚𝒊 − 𝒚)
𝒏
𝒊=𝟏
√∑ (𝒙𝒊 − 𝒙)𝟐 ∑ (𝒚𝒊 − 𝒚)
𝒏
𝒊=𝟏
𝟐𝒏
𝒊=𝟏
Ví dụ: Tính hệ số tương quan giữa hai trường dữ liệu dân số và thu nhập
## Population Income
## Alabama 3615 3624
## Alaska 365 6315
## Arizona 2212 4530
## Arkansas 2110 3378
## California 21198 5114
## Colorado 2541 4884
Cú pháp tính hệ số tương quan pearson trên python:
r1 = Correlation.corr(df, "features", "spearman")
Kết quả:
## Population Income
## Population 1.0000000 0.2082276
## Income 0.2082276 1.0000000
1.5.1.2 Hệ số tương quan hạng Spearman
Hệ số tương quan hạng Spearman được sử dụng thay thế hệ số tương quan
Pearson để kiểm tra mối quan hệ giữa hai biến được xếp hạng hoặc một biến được
xếp hạng và một biến đo lường. Sử dụng khi phân phối của tổng thể được giả sử
khơng phải là phân phối chuẩn hoặc trong trường hợp cĩ các giá
Các file đính kèm theo tài liệu này:
- luan_van_mot_so_thuat_toan_hoc_may_trong_phan_loai_hanh_vi_s.pdf