3.2.1. Ngơn ngữ R
Phân tích số liệu và biểu đồ thƣờng đƣợc tiến hành bằng các phần mềm thơng dụng nhƣ SAS, SPSS, Stata, Statistica, và S-Plus. Đây là những phần mềm đƣợc các cơng ty phần mềm phát triển và giới thiệu trên thị trƣờng khoảng ba thập niên qua, và đã đƣợc các trƣờng đại học, các trung tâm nghiên cứu và cơng ty trên tồn thế giới sử dụng cho giảng dạy và nghiên cứu. Nhƣng vì chi phí để sử dụng các phần mềm này tuơng đối đắt tiền, một số trƣờng đại học ở các nƣớc đang phát triển khơng cĩ khả năng tài chính để sử dụng chúng một cách lâu dài. Do đĩ, các nhà nghiên cứu thống kê trên thế giới đã hợp tác với nhau để phát triển một phần mềm mới, với chủ trƣơng mã nguồn mở, sao cho tất cả các thành viên trong ngành thống kê học và tốn học trên thế giới cĩ thể sử dụng một cách thống nhất và hồn tồn miễn phí.
Năm 1996, trong một bài báo quan trọng về tính tốn thống kê, hai nhà thống kê học Ross Ihaka và Robert Gentleman thuộc Trƣờng đại học Auckland, New Zealand phát hoạ một ngơn ngữ mới cho phân tích thống kê mà họ đặt tên là R. Sáng kiến này đƣợc rất nhiều nhà thống kê học trên thế giới tán thành và tham gia vào việc phát triển R.
Cho đến nay, qua chƣa đầy 10 năm phát triển, càng ngày càng cĩ nhiều nhà thống kê học, tốn học, nghiên cứu trong mọi lĩnh vực đã chuyển sang sử dụng R để phân tích dữ liệu khoa học. Trên tồn cầu, đã cĩ một mạng lƣới hơn một triệu ngƣời sử dụng R, và con số này đang tăng rất nhanh. Cĩ thể nĩi
trong vịng 10 năm nữa, vai trị của các phần mềm thống kê thƣơng mại sẽ khơng cịn lớn nhƣ trong thời gian qua nữa. Vậy R là gì? Nĩi một cách ngắn gọn, R là một phần mề sử dụng cho phân tích thống kê và vẽ biểu đồ. Về bản chất, R là ngơn ngữ máy tính đa năng, cĩ thể sử dụng cho nhiều mục tiêu khác nhau, từ tính tốn đơn giản, tốn học giải trí (recreational mathematics), tính tốn ma trận (matrix), đến các phân tích thống kê phức tạp. Vì là một ngơn ngữ, cho nên ngƣời ta cĩ thể sử dụng R để phát triển thành các phần mềm chuyên mơn.
Để sử dụng R, việc đầu tiên là chúng ta phải cài đặt R trong máy tính của mình. Để làm việc này, ta phải truy nhập vào mạng và vào website cĩ tên là “Comprehensive R Archive Network” (CRAN) sau đây:
http://cran.R-project.org
Khi đã tải R xuống máy tính, bƣớc kế tiếp là cài đặt (set-up) vào máy tính. Để làm việc này, chúng ta chỉ đơn giản nhấn chuột vào tài liệu trên và làm theo hƣớng dẫn cách cài đặt trên màn hình. Đây là một bƣớc rất đơn giản, chỉ cần 1 phút là việc cài đặt R cĩ thể hồn tất. Tài liệu cần tải về, tùy theo phiên bản, nhƣng thƣờng cĩ tên bắt đầu bằng mẫu tự R và số phiên bản (version). Tài liệu này khoảng 26 MB, và địa chỉ cụ thể để tải là:
Hình 3.5 – Giao diện làm việc trên ngơn ngữ R
3.2.2. Phƣơng pháp phân lớp
Luận văn lựa chọn thuật tốn cây quyết định C4.5, NB, SVM để thử nghiệm với bài tốn phân lớp dữ liệu thuê bao rời mạng.
Đánh giá các phƣơng pháp phân lớp lựa chọn: a. phƣơng pháp phân lớp cây quyết định
- Dễ hiểu khơng địi hỏi chuẩn hĩa dữ liệu nhƣ các thuật tốn khác, cĩ thể xử lý lƣợng dữ liệu lớn thuê bao trong thời gian ngắn.
- Phƣơng pháp sử dụng giiải thuật tham lam chia để trị, đệ quy từ trên xuống.
- Kết quả rễ ràng nhận thấy, cĩ thể kiểm tra lại đơn giản bằng thống kê.
Ƣu điểm:
- Dễ cài đặt thuật tốn.
- Thời gian thi hành nhanh, tƣơng tự nhƣ phƣơng pháp cây quyết định. - Đạt kết quả tốt trong phần lớn các trƣờng hợp thử nghiệm dữ liệu.
Nhƣợc điểm.
- Giả thiết về tính độc lập điều kiện các thuộc tính làm giảm độ chính xác thuật tốn.
c. Phƣơng pháp phân lớp SVM Ƣu điểm:
- Hiệu quả với dữ liệu thuê bao số chiều lớn, giải quyết nhanh. - Hiệu suất tổng hợp, tính tốn tốt.
Nhƣợc điểm:
- Việc lựa chọn thuộc tính cho từng lớp là vấn đề quan trọng nĩ quyết định đến hiệu quả phân lớp.
3.2.3. Đánh giá hiệu năng
Khơng cĩ một thuật tốn nào là ƣu việt hơn so với thuật tốn khác trong tất cả các lĩnh vực. Một số hoạt động tốt trong các lĩnh vực này, trong khi một số khác thực hiện tốt hơn ở lĩnh vực khác. Trong luận văn này, các thuật tốn học đƣợc áp dụng để xây dựng các lớp. Hiệu năng của các lớp sẽ đƣợc so sánh hay nĩi cách khác, các hiệu năng của các thuật tốn khác nhau trên dữ liệu sẽ đƣợc so sánh. Vậy, chỉ số "tốt" của một lớp là gì? Các tính chất mong muốn là chính xác, tổng quát và mức độ tin cậy của dự báo. Ma trận nhầm lẫn đƣa ra bốn kết quả khi một lớp đƣợc áp dụng trên một tập các trƣờng hợp.
Lớp 𝐶𝑖
Đƣợc phân lớp bởi thuật tốn Thuộc (yes) Khơng thuộc (no) Phân lớp thực sự đúng Thuộc TPi FNi Khơng thuộc FPi TNi Bảng 1 - Ma trận nhầm lẫn Trong đĩ:
- TPi:Số lƣợng các ví dụ thuộc lớp 𝐶𝑖đƣợc phân loại chính xác vào lớp 𝐶𝑖.
- FPi:: Số lƣợng các ví dụ khơng thuộc lớp 𝐶𝑖 bị phân loại nhầm vào lớp 𝐶𝑖.
- TNi : Số lƣợng các ví dụ khơng thuộc lớp 𝐶𝑖 đƣợc phân loại chính xác.
- FNi: Số lƣợng các ví dụ thuộc lớp 𝐶𝑖 bị phân loại nhầm vào các lớp khác 𝐶𝑖
Khi đĩ độ chính xác Precision đối với lớp 𝐶𝑖 Precision Ci = TPi
TPi+ FPi (3.1) Độ hồi tƣởng Recall đối với lớp 𝐶𝑖
Recall Ci = TPi
TPi + FNi (3.2)
Độ đo F1 đƣợc tính bằng cơng thức sau:
Độ đo F = 2 x P x R
3.3. Thực nghiệm phân lớp trên ngơn ngữ R Quy trình thực nghiệm Quy trình thực nghiệm
Hình 3.6 – Quy trình thực nghiệm bài tốn phân lớp dữ liệu thuê bao rời mạng
Thực hiện làm việc với dữ liệu thực nghiệm thu thập đƣợc lƣu trữ tại thƣ mục D:\churn\(các tệp excel). Các bƣớc thực hiện nhƣ sau:
Bƣớc 1: Nạp dữ liệu vào vùng làm việc
- Dịch chuyển con trỏ tới thƣ mục làm việc:
+ setwd("D:/Churn")
- Thực hiện làm việc với các dữ liệu trong tệp
+ path=paste(getwd(),"/Data/",thisData,".class.csv",sep=""); + Y=read.csv(path,header=TRUE,sep=",")
+ path=paste(getwd(),"/Data/",thisData,".data.csv",sep=""); + X1 <- read.csv(path,header=TRUE,sep = "
Bƣớc 2: Xử lý dữ liệu thu thập lựa chọn thuộc tính
Từ kho dữ liệu thực hiện lựa lựa chọn các thuộc tính cĩ ảnh hƣởng tới quá trình phân lớp nhiều nhất theo biến mục tiêu. Lựa chọn phƣơng pháp InfoGain thực hiện đánh giá từng thuộc tính theo độ đo lƣợng thơng tin và sau đĩ xếp hạng và lựa chọn các thuộc tính cĩ thứ hạng cao (chọn 20 thuộc tính cao nhất).
weights=information.gain(churn~., data) > subGain=cutoff.k(weights,20)
- Thu đƣợc tập con gồm 20 thuộc tính
Bƣớc 3: Thực hiện tạo 2 bộ dữ liệu phân lớp
- Bộ dữ liệu trainData: dùng huấn luyến ( tỷ lệ 70%) - Bộ dữ liệu testData: dùng kiểm thử (tỷ lệ 30%)
> ind <- sample(2, nrow(dat), replace=TRUE, prob=c(0.7, 0.3)) > trainData <- dat[ind==1,]
> testData <- dat[ind==2,]
Bƣớc 4. Thực hiện phân lớp sử dụng các thuật tốn lựa chọn 3.3.1. Phân lớp dữ liệu sử dụng cây quyết định C4.5
Hình 3-7 mơ hình phân lớp cây quyết định
- Chi tiết nút nhánh thứ 15
Hình 3-8 Chi tiết nút nhánh thứ 15 trong phân lớp cây quyết định
+ Phần sẫm màu (no) thuê bao khơng rời mạng + Phần sáng màu (yes) khả năng thuê bao rời mạng
- Kết quả phân lớp:
Phân lớp
Đƣợc phân lớp bởi thuật tốn Thuộc (yes) Khơng thuộc (no) Phân lớp thực sự đúng Thuộc (yes) 146 78 Khơng thuộc (no) 10 1433
Bảng 2 – Kết quả mơ hình phân lớp sử dụng C 4.5
- Tỷ lệ phân lớp đúng: 94.43% - Tỷ lệ phân lớp sai: 5.57%
Đánh giá hiệu năng:
Phƣơng pháp phân lớp Precision Recall F-score
Thuật tốn Cây quyết định 93.58 65.17 76.83
Bảng 3 – Độ đo hiệu năng thuật tốn Cây quyết định
Kết quả thực nghiệm phân lớp sử dụng thuật tốn Cây quyết định cĩ độ đo là: độ chính xác (P-Precision) đạt 93,58%, độ đo hồi tƣởng (R-Recall) đạt 65.17%, độ đo F đạt 76.83%.
3.3.2. Phân lớp dữ liệu sử dụng phƣơng pháp Naive Bayes
Lựa chon thuật tốn NB thực hiện thực nghiệm với dữ liệu test:
attach(churnTest) X=churnTest[,-20] Y=churnTest$churn
model <- naiveBayes(churn~., data = churnTest) pred <- predict(model, X)
table(pred,Y)
Kết quả phân lớp: Phân lớp
Đƣợc phân lớp bởi thuật tốn Thuộc (yes) Khơng thuộc (no) Phân lớp thực sự đúng Thuộc (yes) 118 59 Khơng thuộc (no) 106 1384
Bảng 4 – Kết quả mơ hình phân lớp sử dụng NB
- Tỷ lệ phân lớp đúng: 90.1% - Tỷ lệ phân lớp sai: 9.9%
Đánh giá hiệu năng:
Phƣơng pháp phân lớp Precision Recall F-score
Thuật tốn NB 52.67 66.67 58.84
Bảng 5. – Độ đo hiệu năng thuật tốn NB
Kết quả thực nghiệm phân lớp sử dụng thuật tốn Cây quyết định cĩ độ đo là: độ chính xác (P-Precision) đạt 52.67%, độ đo hồi tƣởng (R-Recall) đạt 66.67 %, độ đo F đạt 58.84%.
3.3.3. Phân lớp dữ liệu bằng Support Vector Machines
- Thực hiện thực nghiệm với dữ liệu test với thuật tốn SVM:
> attach(churnTest) > X=churnTrain[,-20] > Y=churnTrain$churn > msvm=svm(churn~.,data=churnTest) > summary(msvm) Ta thu đƣợc kết quả:
Hình 3-9 Kết quả phân lớp dữ liệu bằng SVM
- Kết quả phân lớp:
Phân lớp
Đƣợc phân lớp bởi thuật tốn Thuộc (yes) Khơng thuộc (no) Phân lớp thực sự đúng Thuộc (yes) 32 0 Khơng thuộc (no) 192 1443
- Tỷ lệ phân lớp đúng: 88.48 % - Tỷ lệ phân lớp sai: 11.52%
Đánh giá hiệu năng:
Phƣơng pháp phân lớp Precision Recall F-score
Thuật tốn SVM 14,28 100 24,99
Bảng 7. – Độ đo hiệu năng thuật tốn SVM
Kết quả thực nghiệm phân lớp sử dụng thuật tốn Cây quyết định cĩ độ đo là: độ chính xác (P-Precision) đạt 14,28 %, độ đo hồi tƣởng (R-Recall) đạt 100%, độ đo F đạt 24,99%.
3.3. Đánh giá kết quả
Do bài tốn phân lớp dữ liệu thuê bao di động cần tìm ra lớp thuê bao rời mạng, bởi vậy khi xem xét các mơ hình cần ƣu tiên xem mức độ tin cậy của lớp CHURN, hiệu năng của các thuật tốn đối với lớp thuê bao rời mạng thể hiện nhƣ sau:
- Tổng hợp hiệu năng các phƣơng pháp phân lớp
TT Phƣơng pháp phân lớp Precision Recall F-score
1 Thuật tốn Cây quyết định 93.58 65.17 76.83
2 Thuật tốn NB 52.67 66.67 58.84
3 Thuật tốn SVM 14.28 100 24.99
Hình 3.10 – Hiệu năng các thuật tốn với lớp thuê bao rời mạng
Từ kết quả thực nghiệm, ta thấy mơ hình phân lớp xây dựng từ thuật tốn cây quyết định C4.5 cho kết quả phân lớp tốt nhất.
Về thời gian xây dựng mơ hình thuật tốn cây quyết định C4.5 cĩ thời gian xây dựng mơ hình là 0.1s, tiếp đĩ là thuật tốn NB cĩ thời gian xây dựng nhanh nhất 0.19s, thuật tốn SVM cĩ thời gian xây dựng mơ hình là 2,8s.
0 20 40 60 80 100 120
Precision Recall F-score
Thuật tốn Cây quyết định Thuật tốn NB
KẾT LUẬN
Trong giai đoạn thị trƣờng viễn thơng đã đi vào giai đoạn bão hịa nhƣ hiện nay, việc thuê bao rời mạng khơng những ảnh hƣởng đến doanh thu của nhà mạng mà cịn kéo theo hàng loạt hiệu ứng khác kèm theo. Bởi vậy dự đốn thuê bao rời mạng để đƣa ra một chiến lƣợc kinh doanh hợp lý nhằm ngăn khách hàng rời mạng là điều vơ cùng cần thiết đối với các nhà mạng.Trong luận văn này tơi đã nghiên cứu, tìm hiểu và phân tích dữ liệu thuê bao di động và đạt đƣợc kết quả sau đây.
Nội dung đã đạt đƣợc
Đƣa ra cái nhìn tổng quan về thuê bao rời mạng, khái niệm thuê bao rời mạng, các hình thức rời mạng của thuê bao.
Trình bày đƣợc lý thuyết khai phá dữ liệu, các ứng dụng khai phá dữ liệu di động, bài tốn phân lớp và dự báo.
Tìm hiểu các phƣơng pháp phân lớp dữ liệu.
Sau khi tìm hiểu và nghiên cứu lý thuyết phân lớp dữ liệu,thực nghiệm phân lớp dữ liệu di động sử dụng các thuật tốn cây quyết định C4.5, NB, SVM và đánh giá kết quả thực nghiệm.
Hƣớng tiếp cận trong tƣơng lai
Do thời gian cĩ hạn cùng với thuê bao trả trƣớc và thuê bao trả sau cĩ nhiều điểm khác biệt nhƣ hình thức thanh tốn, giá cƣớc sử dụng hay các thuê bao trả trƣớc cĩ thể rời mạng một thời gian dài trƣớc khi nhà mạng nhận ra... nên trong luận văn, bài tốn phân lớp dữ liệu thuê bao rời mạng mới thực hiện phân tích trên dữ liệu thuê bao trả sau mà chƣa thể áp dụng cho thuê bao trả trƣớc. Vì vậy xây dựng bài tốn phân lớp thuê bao rời mạng cho thuê bao trả
trƣớc là hƣớng nghiên cứu tiếp theo trong tƣơng lai và tơi tiếp tiếp tục nghiên cứu phát triển sản phẩn thành phần mền dự báo ứng dụng với nhiều loại dữ liệu khác nhau và để tích hợp trên các hệ thống khác.
TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt
[1]. Hà Quang Thụy, Phan Xuân Hiếu, Đồn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú, Khai phá dữ liệu Web, NXB Giáo Dục, Hà Nội, 2009.
[2]. Nguyễn Đức Dũng, Lê Anh Cƣờng, Phân Xuân Hiếu, Lƣơng Chi Mai, Lê Hải Sơn, Học máy - Machine Learning, Viện Cơng nghệ thơng tin – Viện Hàn lâm Khoa học và Cơng nghệ Việt Nam, 2015.
[3]. PGS -TS. Ngơ Quốc Tạo, Bài giảng Khai phá dữ liệu - Đại học Cơng nghệ thơng tin và Truyền thơng - Đại Học Thái Nguyên.
Tài liệu tiếng Anh
[4]. Jiawei Han University of Illinois at Urbana-Champaign, Micheline Kamber, Jian Pei Simon Fraser University, Data Mining: Concepts and
Techniques - Third Edition, 2012.
[5]. K. H. Liao and H. E. Chueh, Applying fuzzy data mining to telecom
churn management - Intelligent Computing and Information Science, 2011.
[6]. Pushpa and G.Shobha, Social Network Analysis for Churn Prediction in
Telecom data, 2012.
[7]. J. O. Daramola, O. O Oladipupo, and G. A. Musa, A data mining process framework for churn management in mobile telecommunication industry.
[8]. E. Shaaban, Y. Helmy, A. Khedr, and M. Nasr, A proposed churn
prediction model - International Journal of Engineering Research and
Applications.
[9]. Georges D. Olle Olle and Shuqin Cai, A Hybrid Churn Prediction Model
[10]. Jiliang Tang, Salem Alelyani and Huan Liu, Feature Selection for
Classification: A Review, 2013.
[11]. Huong Xuan Nguyen, Customer Churn Prediction for the Icelandic
Mobile Telephony Market, 2011.
[12]. Clement Kirui, Li Hong, Wilson Cheruiyot and Hillary Kirui, Predicting Customer Churn in Mobile Telephony IndustryUsing Probabilistic Classifiers
in Data Mining, 2013.
[13]. Vladislav Lazarov, Marius Capota, Churn Prediction.
[14]. Ali Daud, Muhammad Akram Shaikh, and Faqir Muhammad, Pattern Mining in Telecom Data.
[15]. Sen Wu, Naidong Kang, Liu Yang, Fraudulent Behavior Forecast in Telecom IndustryBased on Data Mining Technology.
[16]. J. Burez, D. Van den Poel, Handling class imbalance in customer churn
PHỤ LỤC 1
Danh sách các thuộc tính thu thập đƣợc
TT Thuộc tính Mơ tả
1. AGE Thơng tin số tuổi của khách hàng
2. TYPE_ID Loại thuê bao
3. GENDER Giới tính
4. NUM_DATEACTIVE Số ngày hoạt động của thuê bao kê từ khi băt đầu
5. POSTCODE Bƣu cục thu của thuê bao
6. USE_SERVICE_MAX Số loại dịch vụ sử dụng lớn nhât trong 3 tháng quan sát
7. USE SERVICE MIN MONTH Tháng sử dụng dịch vụ nhỏ nhât trong 3 tháng quan sát
8. USE_SERVICE_MAX_MONTH Tháng sử dụng dịch vụ lớn nhât trong 3 tháng quan sát
9. USE_SERVICE_RATIO 1
Tỉ lệ sử dụng dịch vụ trong tháng quan sát đầu tiên so với tổng số lƣợng dịch vụ trong 3 tháng 10. USE_SERVICE_RATIO2 Tỉ lệ sử dụng dịch vụ trong tháng quan sát thứ 2 so với tổng số lƣợng dịch vụ trong 3 tháng 11. USE_SERVICE_RATIO3 Tỉ lệ sử dụng dịch vụ trong tháng quan sát thứ 3 so với tổng số