Thực nghiệm phân lớp trên ngơn ngữ R

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các phương pháp phân lớp dữ liệu và ứng dụng trong bài toán dự báo thuê bao rời mạng viễn thông​ (Trang 59)

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ố lƣợng dịch vụ trong 3 tháng 12. VOI_INNET_RA1 Tỷ lệ số giây gọi nội mạng của

thuê bao trong tháng quan sát đầu tiên so với tổng số giây gọi ngoại mạng của 3 tháng quan sát

13. VOI INNET RATIO2

Tỷ lệ số giây gọi nội mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi trong tháng

14. VOI_OUTNET_RA3

Tỷ lệ số giây gọi ngoại mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số giây gọi ngoại mạng của 3 tháng quan sát

15. VOI OUTNET RATIO 1

Tỷ lệ số giây gọi ngoại mạng trong tháng quan sát đầu tiên của thuê bao so với tổng số giây gọi trong tháng

16. VOI_ABROAD_RA2

Tỷ lệ số giây gọi nƣớc ngồi của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi nƣớc ngồi của 3 tháng quan sát

17. VOI_ABROAD_RATIO 1

Tỷ lệ số giây gọi ngƣớc ngồi của thuê bao trong tháng quan sát đầu tiên so với tổng số giây gọi trong tháng

18. VOI_INNET_FREQ_RA 1

Tỷ lệ số cuộc gọi nội mạng của thuê bao trong tháng quan sát đầu tiên so với tổng số cuộc gọi

ngoại mạng của 3 tháng quan sát

19. VOI_INNET_FREQ_RATIO1

Tỷ lệ số cuộc gọi nội mạng của thuê bao so với tổng số cuộc gọi trong tháng quan sát đầu tiên

20. VOI_OUTNET_FREQ_RA1

Tỷ lệ số cuộc gọi ngoại mạng của thuê bao so với tổng số cuộc gọi ngoại mạng của 3 tháng quan sát

21. VOI_OUTNET_FREQ_RATIO1

Tỷ lệ số cuộc gọi ngoại mạng của thuê bao trong tháng quan sát đầu tiên so với tổng số cuộc gọi trong tháng

22. VOI_ABROAD_FREQ_RA1

Tỷ lệ số cuộc gọi nƣớc ngồi của thuê bao trong tháng quan sát đầu tiên so với tổng số cuộc gọi nƣớc ngồi của 3 tháng quan sát

23. VOI_ABROAD_FREQ_RATIO1

Tỷ lệ số cuộc gọi ngƣớc ngồi của thuê bao so với tổng số cuộc gọi trong tháng

24. SMS RA1

Tỷ lệ số tin nhắn của thuê bao tháng quan sát đầu tiên so với tổng số tin nhắn trong 3 tháng

25. VOI INNET RA2

Tỷ lệ số giây gọi nội mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi

ngoại mạng của 3 tháng quan sát

26.

VOI_INNET_RATIO2

Tỷ lệ số giây gọi nội mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi trong tháng

27.

VOI_OUTNET_RA2

Tỷ lệ số giây gọi ngoại mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi ngoại mạng của 3 tháng quan sát

28.

VOI_OUTNET_RATIO2

Tỷ lệ số giây gọi ngoại mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi trong tháng

29.

VOI_ABROAD_RA2

Tỷ lệ số giây gọi nƣớc ngồi của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi nƣớc ngồi của 3 tháng quan sát

30.

VOI_ABROAD_RATIO2

Tỷ lệ số giây gọi ngƣớc ngồi của thuê bao trong tháng quan sát thứ 2 so với tổng số giây gọi trong tháng

31.

VOI_INNET_FREQ_RA2

Tỷ lệ số cuộc gọi nội mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số cuộc gọi ngoại mạng của 3 tháng quan sát

thuê bao trong tháng quan sát thứ 2 so với tổng số cuộc gọi trong tháng

33.

VOI_OUTNET_FREQ_RA2

Tỷ lệ số cuộc gọi ngoại mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số cuộc gọi ngoại mạng của 3 tháng quan sát

34.

VOI_OUTNET_FREQ_RATIO2

Tỷ lệ số cuộc gọi ngoại mạng của thuê bao trong tháng quan sát thứ 2 so với tổng số cuộc gọi trong tháng

35.

VOI_ABROAD_FREQ_RA2

Tỷ lệ số cuộc gọi nƣớc ngồi của thuê bao trong tháng quan sát thứ 2 so với tổng số cuộc gọi nƣớc ngồi của 3 tháng quan sát

36.

VOI_ABROAD_FREQ_RATIO2

Tỷ lệ số cuộc gọi ngƣớc ngồi của thuê bao trong tháng quan sát thứ 2 so với tổng số cuộc gọi trong tháng

37.

SMS_RA2

Tỷ lệ số tin nhắn của thuê bao tháng quan sát thứ 2 so với tổng số tin nhắn trong 3 tháng

38.

VOI_INNET_RA3

Tỷ lệ số giây gọi nội mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số giây gọi ngoại mạng của 3 tháng quan sát

39.

VOI_INNET_RATIO3

Tỷ lệ số giây gọi nội mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số giây gọi trong tháng

40.

VOI_OUTNET_RA3

Tỷ lệ số giây gọi ngoại mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số giây gọi ngoại mạng của 3 tháng quan sát

41.

VOI_OUTNET_RATIO3

Tỷ lệ số giây gọi ngoại mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số giây gọi trong tháng

42.

VOI_ABROAD_RA3

Tỷ lệ số giây gọi nƣớc ngồi của thuê bao trong tháng quan sát thứ 3 so với tổng số giây gọi nƣớc ngồi của 3 tháng quan sát

43.

VOI_ABROAD_RATIO3

Tỷ lệ số giây gọi ngƣớc ngồi của thuê bao trong tháng quan sát thứ 3 so với tổng số giây gọi trong tháng

44.

VOI_INNET_FREQ_RA3

Tỷ lệ số cuộc gọi nội mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số cuộc gọi ngoại mạng của 3 tháng quan sát 45.

VOI_INNET_FREQ_RATIO3

Tỷ lệ số cuộc gọi nội mạng của thuê bao trong tháng quan sát

thứ 3 so với tổng số cuộc gọi trong tháng

46.

VOI_OUTNET_FREQ_RA3

Tỷ lệ số cuộc gọi ngoại mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số cuộc gọi ngoại mạng của 3 tháng quan sát

47.

VOI_OUTNET_FREQ_RATIO3

Tỷ lệ số cuộc gọi ngoại mạng của thuê bao trong tháng quan sát thứ 3 so với tổng số cuộc gọi trong tháng

48.

VOI_ABROAD_FREQ_RA3

Tỷ lệ số cuộc gọi nƣớc ngồi của thuê bao trong tháng quan sát thứ 3 so với tổng số cuộc gọi nƣớc ngồi của 3 tháng quan sát

49.

VOI_ABROAD_FREQ_RATIO3

Tỷ lệ số cuộc gọi ngƣớc ngồi của thuê bao trong tháng quan sát thứ 3 so với tổng số cuộc gọi trong tháng quan sát thứ 3

50.

SMS_RA3

Tỷ lệ số tin nhắn của thuê bao trong tháng quan sát thứ 3 so với tổng số tin nhắn trong 3 tháng 51. VOI_INNET_MAXM Tháng cĩ số lƣợng giây gọi nội mạng lớn nhất

52. VOI_INNET_FREQ_MAXM Tháng cĩ số lƣợng cuộc gọi nội mạng lớn nhất 53.

ngoại mạng lớn nhất

54. VOI_OUTET_FREQ_MAXM Tháng cĩ số lƣợng cuộc gọi ngoại mạng lớn

55. VOI_ABROAD_MAXM Tháng cĩ số lƣợng giây gọi quốc tế lớn nhất

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các phương pháp phân lớp dữ liệu và ứng dụng trong bài toán dự báo thuê bao rời mạng viễn thông​ (Trang 59)

Tải bản đầy đủ (PDF)

(85 trang)