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

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

pdf80 trang | Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 364 | Lượt tải: 0download
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:

  • pdfluan_van_mot_so_thuat_toan_hoc_may_trong_phan_loai_hanh_vi_s.pdf