Chương 1 cũng đề cập đến vai trò của khai phá dữ liệu và một số kỹ thuật khai phá dữ liệu dùng trong bài toán dự đoán khách hàng có nguy cơ rời mạng. Trong chương tiếp theo, luận văn sẽ giới thiệu chi tiết hai mô hình dự đoán khách hàng rời mạng: Mô hình dự đoán dựa trên học luật và mô hình dựa trên học giám sát và không giám sát của Ying Huwang và cộng sự. 8 Chƣơng 2: Một số mô hình điển hình cho bài toán dự đoán khách hàng rời mạng 2. Mô hình dựa trên luật cho bài toán dự đoán khách hàng rời mạng dịch vụ viễn thông 2.
Giới thiệu mô hình phân lớp dựa trên luật Phương pháp phân lớp dựa trên học luật (classification by rule learning (CRL)) là một phương pháp nổi tiếng. Một trong những đặc trưng của quy nạp luật là chúng rõ ràng và dễ hiểu hơn những mô hình khác. Đã có nhiều nghiên cứu về lĩnh vực này. Trong xử lý luật quy nạp, hai phương pháp thường được sử dụng là: general-to- specific(top-down) tức là xử lý từ luật chung đến các luật riêng và phương pháp specific-to-general (bottom-up) tức là đi từ các luật riêng tới các luật chung.
Trong đó, phương pháp top-down thường được áp dụng rộng rãi hơn. “Luật” được định nghĩa là một mệnh đề dạng: {NẾU Tiền đề THEN kết quả}, với tiền đề được định nghĩa là một sự kết hợp của một số cặp <thuộc tính, khoảng cách> và kết quả là nhãn của lớp. “Luật chung” và “luật riêng” là hai khái niệm quan trọng. Thông thường, một luật với cặp <thuộc tính, khoảng cách> nhỏ hơn trong kết quả thì “chung” hơn.
Mô hình sinh các luật Phân lớp dựa trên học luật (CRL) là một chiến lược từ chung-đến-riêng, vì vậy, nó bắt đầu bằng việc sinh các luật chung, first-order luật, sau đó sinh các luật lớp cao hơn dựa vào các luật bậc thập hơn (lower-order). Thuật toán [Giải thuật1] bên dưới minh họa việc xử lý sinh tập luật. Với SETrules là tập luật được sinh ra, k là số bậc. và threshold là số bậc tối đa.
Giải thuật 1: CRL Algorithm (training data) 1: SETrules ← ; 2: k ← 1; 3: SETrules ← First_order_rules(training data) 4: While k ≤ threshold do 5: high_order ← Higher_order_rules(lower_order_rules); 6: SETrules ← SETrules high_order; 8: end while 9: return SETrules 9 First-order Rules (Giải thuật 2): Thuật toán sinh ra luật bậc đầu tiên first-order rules. Để tránh mất thông tin, tất cả các cặp <thuộc tính, khoảng cách> được đưa vào tài khoản. Trong thuật toán 2, num_attribute, num_interval và num_class định nghĩa số thuộc tính, số khoảng cách của thuộc tính hiện tại và số phân lớp khác nhau. Đầu tiên, set first_order_rule là rỗng, ruleijk là luật có dạng “IF fi=Intervalj THEN Classk”, Nếu Prunning(ruleijk) trả lại false, thì ruleijk được xem là một luật hữu ích.
Giải thuật 2: First_order_rules(training data) 1. First_order_rules ← ; 2. For i=1; i ≤ num_attribute; i++ do 3. For j=1; j≤ num_interval; j++ do 4.
For k=1; k≤ num_class; k++ do 5. If Pruning (ruleijk) returns fales then 6. First_order_rules ← First_order_rule ruleijk 7. Return First_order_rules High-order Rules (Giải thuật 3): Highter-order rules được xây dựng lặp lại từ các luật cấp thấp hơn.
Luật (n-1)_order là cơ sơ để xây dựng luật n_order. Trong thuật toán 3, item được dùng để định nghĩa một cặp <thuộc tính, khoảng cách>, positive_items bao gồm tất các các phần tử được trích xuất từ tất cả các luật dương. Tập các negative-items cũng được sinh tương tự. Mỗi luật riêng được đặc tả bởi thuật toán hill_climbing để thêm một phần tử vào phần tiền đề của luật hiện tại.
Để đánh giá chất lượng của luật được sinh ra, chúng ta có thể sử dụng độ đo Weighted Relative Accuracy (WRA), được tính như sau: Num _(a) Num _(a, c) Num(c) WRA x( ) Num _ total Num _(a) Num _ total 10 Trong đó Num_(a) và Num_(c) là số trường hợp dữ liệu được trích xuất từ tiền đề và kết quả của luật, và num_total được định nghĩa là số trường hợp trong tập dữ liệu học. Giải thuật 3: Higher_order_rules (a set of lower_order_rules) 1. positive_items ← get all exclusive items from positive_lower_order_rules; 3. negative_items ← get all exclusive items from negative_lower_order_rules; 4.
For i=1; i ≤ num_positive_rules; i++ do 6. High_rule ← hill_climbing (positivei , positive_item); 7. If Pruning (high_rule) returns false then 8. WRAi ← calculate the Weighted_Relative_Accuracy for high_rule; 9.
If WRAi is not in the list of accuracy_list then 10. all_rules ← all_rules high_rule; 11. accuracy_list ← accuracy_list WRAi ; 12. do same work to generate negative_rules; 16.
all_rules ← all_rules negative_rule; 17. return all_rules Thuật toán hill_climbing Giải thuật 4: hill_climbing (one_lower_rule, all_low_items) 1. for i=1; i ≤ num_low_items; i++ do 3. If one_lower_rule does not include itemi then 4.
one_high_rule ← combination of one_lower_rule and itemi; 5. WRAi ← calculate the Weighted_Relative_Accuracy for one_high_rule; 6. accuracy_list ← accuracy_list WRAi ; 7. BEST ← one of high order rules having the highest WRA; 10.
return BEST Số lương luật sinh ra có thể rất lớn, để việc phân lớp được hiệu quả, Ying Hwuang và cộng sự đã loại bỏ bớt những luật xấu với các thông tin nhiễu hoặc không quan trọng. 11 Thông thường, một thống kê mẫu 2 được xử dụng để kiểm tra nếu tồn tại một quan hệ tuyến tính mạnh giữa hai thuộc tính. 2 được tính như sau: (O E )2 2 E Với O và E là tần số mong đợi và quan sát, được tính bằng công thức: Num _(a) xNum _(c) O Num _(a, c) E Num _ total Ngoài ra, còn có độ đánh giá Support và Confidence được sử dụng để đánh giá luật có bị loại bỏ (pruned) hay không? Num _(a, c) Num _(a, c) Support Confidence Num _ total Num _(a) Giải thuật (5) là một giải thuật tìm ra một luật có bị loại bỏ hay không? Với là ngưỡng giá trị đánh giá 2 , minS và minC là hai giá trị ngưỡng, được định nghĩa là giá trị nhỏ nhất của support và confidence. Giải thuật 5: pruning (rule) 1.
If chi-square statistics > α AND support_rule > minS AND Confidence_rule > minC then 3. Phân lớp Để phân lớp cho tập dữ liệu, Ying Hwuang và cộng sự coi Rules bao gồm hai lớp: churn và non-churn. Hai mô hình dự đoán được xây dựng dựa trên tất cả các luật churn và tất cả các luật non-churn. Để đánh giá độ quan trọng của các luật, Ying Hwuang và cộng sử xếp hạng các luật trong mỗi mô hình dựa trên một số nguyên lý sau: Nếu confidence_1 > confidence_2 thì luật rule_1 có độ ưu tiên cao hơn rule_2.
Nếu confidence_1= confedence_2 và support_1 > support_2 thì luật rule_1 có độ ưu tiên cao hơn rule_2. 12 Nếu confidence_1 = confedence_2 và support_1 = support_2 vàn rule_2 là “chung” hơn luật rule_2 thì rule_1 có độ ưu tiên cao hơn rule_2. Sau khi xếp hạng, mỗi luật có một vị trí trong mỗi mô hình dự đoán, nếu một luật có độ quan trọng hơn các luật khác thì nó có vị trí tốt hơn. Ying Hwuang và cộng sự định nghĩa mực độ quan trọng của mỗi luật như sau: Num _ rules position S ignificance _ level Num _ rules Với Num_rules là số luật, position được định nghĩa là vị trí của luật trong tập luật được xếp hạng.
Vì vậy, luật quan trọng nhất thì significance_level có giá trị 1, 1 ngược lại, luật ít quan trọng nhất thì độ quan trọng là. Để phân lớp một Num _ rules đối tượng, tìm tất cả các luật trong mô hình churn và non-churn, nếu tổng Significance_level của tất các luật được trích xuất trong mô hình churn mà lớn hơn mô hình non-churn , thì gán nhãn churn đối tượng, ngược lại, đối tượng sẽ gán nhãn non- churn. Kết quả và đánh giá mô hình Trong phần thực nghiệm, Ying Hwuang và cộng sự sử dụng 4 tập dữ liệu UCI và 6 tập dữ liệu viễn thông của mạng viễn thông Ireland. Tập dữ liệu của Ying Hwuang và cộng sự.
Giá trị AUC được tính theo công thức sau: S0 n0 x(n0 1) x0.5 AUC n0 n1 Với S0 là tổng xếp hạng của lớp 0 (churn) tập mẫu, n0 là số tập mẫu thuộc về lớp 0 (churn) và n1 là số tập mẫu thuộc lớp 1 (nonchurn). 13 Hình 2: So sánh độ AUC giữa các mô hình Hình trên mô tả kết quả so sánh AUC khi áp dụng CRL và DMEL với các tỉ lệ churn-rate khác nhau: (a):1%, (b) :2%, (c): 4%, (d): 6%, (e): 8%, (f):10%. Mô hình học lai cho bài toán dự đoán khách hàng rời mạng Ngoài mô hình phân lớp dựa trên luật, Ying Hwuang và công sự M.Tahar còn xây dựng mô hình lai để dự đoán các hành vi tương lai của khách hàng. Ý tưởng chính cho mô hình học lai là dự đoán khách hàng theo dữ liệu học tương tự với nó.
Giả thiết rằng, khách hàng có thuộc tính giống nhau thì hành vi sẽ giống nhau. Vì vậy, sẽ chính xác hơn nếu một đối tượng chưa gán nhãn được dự đoán sử dụng đối tượng học hơn là toàn bộ dữ liệu bằng cách chia dữ liệu học thành các cụm và đối tượng test được gán nhãn theo cụm gần nó nhất. 15 Mô hình lai của Ying Hwuang và cộng sự gồm 3 phần chính: Chuẩn hóa dữ liệu, đào tạo mô hình học lai và phân lớp. Chuẩn hóa dữ liệu: Dữ liệu gồm các thông tin biểu diễn dưới các dạng khác nhau.
Rời rạc hóa dữ liệu là quá trình biểu diễn dữ liệu dưới dạng vector, trong đó các trường dữ liệu liên tục được biểu diễn thành các dạng rời rạc ví dụ dữ liệu dạng số. Trong mô hình của Ying Hwuang và cộng sự, tác giả sử dụng kỹ thuật rời rạc hóa dữ liệu lớp phụ thuộc (Class -Dependent) để chuẩn hóa dữ liệu chứa ký tự và thuộc tính liên tục thành các dữ liệu dạng số. Đào tạo mô hình lai Trong mô hình lai của Ying Hwuang và cộng sự gồm hai phần: Phân cụm và sinh các luật a. Phân cụm k-mean và phân cụm k-mean có đánh trọng số Phân cụm k-mean Kỹ thuật phân cụm được sử dụng rộng rãi trong rất nhiệu ứng dụng khai phá dữ liệu.
Có nhiều thuật toán phân cụm như: phân cụm có thứ bậc, phân cụm mờ, phân cụm cứng, trong đó phân cụm k-mean là kỹ thuật đơn giản, tương tự với phân cụm cứng. Xét tập dữ liệu cần phân cụm D, với K là só cụm và o là một đối tượng thuộc D. Ci và ci là cụm và trung tâm cụm thứ i. Thuật toán K-Mean khởi tạo K trung tâm cụm ban đầu.
Tại mỗi bước lặp, mỗi đối tượng trong D sẽ được tính khoảng các tới các trung tâm cụm, và gán vào cụm gần nó nhất. Tiếp theo, sẽ tính toán lại trung tâm các cụm. Quá trình này lặp đi lặp lại cho tới khi trung tâm các cụm không thay đổi. Giải thuật K-means 1.