1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng Datamining cho bài toán dự đoán khách hàng sử dụng dịch vụ viễn thông

27 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Datamining Cho Bài Toán Dự Đoán Khách Hàng Sử Dụng Dịch Vụ Viễn Thông
Tác giả Dương Văn Hùng
Người hướng dẫn TS. Nguyễn Đức Dũng
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Khoa học máy tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 27
Dung lượng 5,82 MB

Nội dung

Đã có nhiều công trình nghiên cứu khoa học trên thế giới và trong nước sử dụng kỹ thuật phân loại dữ liệu cho bài toán viễn thông như: dự đoán thuê bao rời mạng, phân loại khách hàng thà

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG

Trang 2

Luận văn được hoàn thành tại:

HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

Người hướng dẫn khoa học: TS Nguyễn Đức Dũng

Phản biện 1: PGS.TS Nguyễn Linh Giang

Phản biện 2: TS Nguyễn Văn Linh

Bưu chính Viễn thông

Vào lúc: 9 giờ 00 ngày 27 tháng 02 năm 2016

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

MO DAU

Ngành công nghiệp viễn thông ngày nay cần lưu trữ một khối lượng dữ liệu không

lồ, bao gồm chi tiết cuộc gọi, thông tin cảnh báo trình trạng của hệ thống mạng viễnthông và thông tin đữ liệu về khách hàng Ứng dụng kỹ thuật khai phá dữ liệu (datamining) dé phát hiện các quy luật ân chứa trong khối dữ liệu không 16 đó sẽ mang lại chocác doanh nghiệp viễn thông nhiều cơ hội đề phát triển các ứng dụng mang tính thực tiễn

cao Đây là một hướng đi phù hợp và đã sớm được áp dụng phổ biến ở nhiều công ty viễn

thông lớn trên thế giới

Ở Việt Nam, nhu cau dich vụ viễn thông ngày càng gia tăng và mở rộng với nhiều

dich vụ tiện ich, bao gồm cả internet và băng rộng, có thể trở thành truy cập phố cập,

thay thế nhu cầu viễn thông cố định Chính vì vậy, một nhu cầu đặt ra cho các nhà cungcấp các dịch vụ viễn thông là đối mặt được với áp lực cạnh tranh khốc liệt từ các nhà

cung cấp dịch vụ trong nước đến các tập đoàn viễn thông đa quốc gia Vì lý do đó các

công ty viễn thông không ngừng nâng cao, cải tiến các dich vụ của minh và tìm kiếm

dich vụ mới đề đáp ứng nhu cầu ngày càng lớn của khách hàng Khai phá dữ liệu chính là

một trong những kỹ thuật hữu ích nhất dé giải quyết những van đề này

Đã có nhiều công trình nghiên cứu khoa học trên thế giới và trong nước sử dụng

kỹ thuật phân loại dữ liệu cho bài toán viễn thông như: dự đoán thuê bao rời mạng, phân

loại khách hàng thành một nhóm đối tượng, hay tìm hiểu hành vi và thói quen của kháchhàng, thì khác với các công trình nghiên cứu trước, trong luận văn này đi sâu và chỉ tiết

hơn về bài toán viễn thông, đó là dự đoán khách hàng sử dụng dịch vụ viễn thông và sử

dụng nhiều phương pháp để so sánh kết quả Ngày nay ngành viễn thông phát triển rấtmạnh, đòi hỏi các nhà mạng cần phải thêm các dịch vụ mới dé phuc vu khach hang, vivậy việc dự đoán khách hang sử dung dịch vụ là hết sức quan trọng

Luận văn “Ứng dụng Datamining cho bài toán dự đoán khách hàng sử dụngdịch vụ viễn thông” nhằm giúp nhà mạng có thé dự đoán khách hàng sử dụng dich vụ,

từ dự đoán đó nhà mạng có thể đưa ra chính sách quảng cáo, chính sách chăm sóc kháchhàng hợp lý Luận văn gồm các chương sau:

Chương 1: Tổng quan về phân tích và khai phá tri thức từ dir liệu viễn thông

Chương 2: Kỹ thuật phân lớp dữ liệu

Chương 3: Ứng dụng bài toán dự đoán khách hàng sử dụng dịch vụ viễn thông

Trang 4

Chương I - TONG QUAN VE PHAN TÍCH VÀ KHAI PHA TRI

THUC TU DU LIEU VIEN THONG

1.1 Tổng quan về Khai phá dữ liệu

1.1.1 Quá trình khám phá tri thức

Quá trình khám phá tri thức gồm các bước sau [1]:

1) Data Cleaning (làm sạch dữ liệu 2) Data Integration (tích hợp dữ liệu)

3) Data Selection (chọn lựa dữ liệu)

4) Data transformation (biến đổi dit liệu)

5) Data mining (khai pha dữ liệu)

6) Pattern evaluation (đánh giá mau)

7) Knowledge presentation (biéu diễn tri thức)

Pattern Evaluation/ dIe++°

Hinh 1.1- Qua trinh kham pha tri thire

1.1.2 Các khái niệm về Khai phá dữ liệu

Khai pha dữ liệu (Data Mining) là một khái niệm ra đời vào khoảng những năm

cuối của thập kỷ 1980 Có rất nhiều định nghĩa khác nhau

Về bản chất thì Khai phá dữ liệu là một quá trình trích xuất thông tin có mối quan

hệ hoặc có mối tương quan nhất định từ một kho đữ liệu cực lớn nhắm mục đích đự đoáncác xu thế, các hành vi trong tương lai hoặc tìm kiếm những tập thông tin hữu ích màbình thường không thể nhận diện được [7] [1]

Trang 5

Data Warehouse Server

H data cleaning, integration and selection ¡

V Vv VY WV Pattern Evaluation Module

> User Interface

1.2 Nhiệm vu chính của khai phá dữ liệu

Nhiệm vụ của khai phá đữ liệu có thể phân thành hai loại chính đó là [7]:

Classification Regression Time Series Prediction Clustering Summarization Association Sequence

Analysis Rules Discovery

(characterization and

discrimination)

(trends, regularities, )

Hình 1.3- Nhiệm vụ của khai phá dữ liệu [7]

Trang 6

1.3 Các kỹ thuật trong khai phá dữ liệu

> Theo quản điểm học máy có các kỹ thuật sau:

+) Hoc có giảm sát (Supervised learning):

+) Học không giảm sat (Unsupervised learning):

+) Học nửa giám sát (Semi-Supervised learning):

> Theo các lớp của bài toán cần giải quyết thì có các kỹ thuật sau:

+) Phân lớp dit liệu (Classification) +) Phân cum (Clustering

+) Hồi qui (Regression)+) Luật kết hợp (Association rules)+) Phân tích chuỗi theo thời gian (Time Series Analysis+) Mô tả khái niệm và tổng hợp hóa

1.4 Ứng dung của khai phá dữ liệu

1.4.1 Lợi ích mang lại của khai pha dữ liệu

Trong thời hiện đại ngày nay, việc nắm bắt được thông tin coi như là nắm bắtđược chìa khoá của thành công Ai thu thập, phân tích và hiểu được thông tin và hành

động được nhờ vào những thông tin đó là kẻ thắng cuộc

1.4.2 Các lĩnh vực được ứng dụng khai pha dữ liệu

Một số ứng dụng cụ thể như sau [7]:

> Khai phá dữ liệu được sử dụng dé phân tích dữ liệu, hỗ trợ ra quyết định.

> Trong sinh học: Khai phá dữ liệu được dùng dé tìm kiếm, so sánh các hệ gen vathông tin di truyền, tìm mối liên hệ giữa các hệ gen và chan đoán một số bệnh di truyền

> Trong y học: giúp tim ra mối liên hệ giữa các triệu chứng lâm sàng, chan đoán

bệnh.

> Tài chính và thị trường chứng khoán: Khai phá dữ liệu dé phân tích tình hình tàichính, phân tích đầu tư, phân tích cổ phiếu

> Khai phá dữ liệu web, thông tin kỹ thuật: Khai phá dit liệu dùng dé phân tích

các sai hỏng, điều khién và lập lịch trình

> Trong lĩnh vực viễn thông

1.5 Ứng dụng của khai phá dữ liệu trong lĩnh vực viễn thông

Trang 7

1.5.1 Tình hình phát triển của lĩnh vực viễn thông

Ung dung kỹ thuật khai phá dữ liệu dé phát hiện các quy luật ấn chứa trong khối

dữ liệu không lồ đó sẽ mang lại cho các doanh nghiệp viễn thông nhiều cơ hội để pháttriển các ứng dụng mang tính thực tiễn cao Đây là một hướng đi phù hợp và đã sớm

được áp dụng phô biến ở nhiều công ty viễn thông lớn trên thế giới [3][10]

1.5.2 Sự cần thiết của khai phá dữ liệu trong lĩnh vực viễn thông

Bài toán đặt ra cho các nhà mạng di động là thu thập được các tri thức từ các kho

dữ liệu khách hàng không lồ Ứng dụng kỹ thuật khai phá dữ liệu để phát hiện các quy

luật an chứa trong khối dữ liệu khong 16 đó và đưa ra những dự đoán, quyết định đúng, sẽ

mang lại cho các doanh nghiệp viễn thông nhiều cơ hội dé phát triển các ứng dụng mang

tính thực tiễn cao.

1.5.3 Định hình và Phân loại khách hàng viễn thông

Phân loại khách hàng viễn thông là quá trình phân chia nhóm khách hàng thành

các nhóm đồng nhất theo từng thuộc tính chung của họ Những thuộc tính này bao gồmnhư: sở thích, thói quen, hành động thông qua hồ sơ của khách hàng bởi những đặc điểmcủa họ như: độ tuôi, tích cách giới tính, đặc điểm khu vực nơi ở, thu nhập kinh tế

1.5.4 Các loại dữ liệu viễn thông

Có ba loại lữ liệu viễn thông như sau:

> Dữ liệu chỉ tiết cuộc gọi

> Tiếp thị hoặc dự báo hành vi của khách hàng

> Phân tích xác định lỗi mạng và cô lập lỗi mạng.

Trang 8

Chương 2 - KY THUẬT PHAN LỚP DU LIEU

2.1.Téng quan về phân lớp dữ liệu

2.1.1 Phân lớp dữ liệu

Quá trình phân lớp dữ liệu gồm hai bước như sau:

s* Bước 1: Hoc (training)

Mô hình phân lớp được đưa ra sau khi đã phân tích xong tap dir liệu huấn luyện

thường có dạng là những quy tắc phân lớp, cây quyết định hay các công thức toán học [6]

Combi or Car Type =Sports

Hình 2.1 - Bước xây dung mô hình phan lớp [4]

*.

s* Bước 2 Phân lớp (Classification)

Bước này sử dụng mô hình phân lớp đã được xây dựng ở bước 1 dé kiểm tra, đánh

giá và thực hiện phân lớp [6] [4].

Classifier (model)

Hình 2.2 - Kiếm tra độ chính xác của mô hình

Trang 9

Nếu độ chính xác của một mô hình là chấp nhận được, thì có thể được sử dụng dé

phân lớp những bộ dữ liệu mới hoặc những mẫu dữ liệu mà giá trị nhãn phân lớp là chưa

Hình 2.3 - Phân lớp cho dữ liệu mới [4]

2.1.2 Tiền xử lý dữ liệu cho quá trình phân lóp dữ liệu

Quá trình tiền xử lý dữ liệu gồm có các công việc sau:

> Làm sạch dit liệu

> Phân tích sự can thiết của dữ liệu

> Chuyển đổi dữ liệu

2.1.3 Cac kỹ thuật trong phân lớp dữ liệu

Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp sau:

> Cây quyết định (Decision Tree):

> K-láng giêng gan nhất (k-Nearest Neighbor)

> Mạng noron (Neural networks)

> Giải thuật di truyén (Genetic algorithms)

> Mang Bayesian (Bayesian networks)

> Tập mo và tập thô (Rough and Fuzzy Sets)

2.1.4 Các phương pháp đánh gia độ chính xác của mô hình phân lớp

Hai kỹ thuật đánh giá độ chính xác phổ biến hiện nay là holdout và k-fold validation Cả hai kỹ thuật này đều dựa trên các phân hoạch ngẫu nhiên tập dữ liệu ban

cross-đầu [4] [7]

Trang 10

2.2 Phân lớp dữ liệu dựa trên kỹ thuật Naive Bayes

2.2.1 Kỹ thuật Naive Bayes

Cho trước tập dữ liệu huấn luyện D với mô tả (nhãn) của các lớp C¡, i=1 m, quátrình phân loại một tuple/đối tượng X = (x), Xa, , xạ) với mang Bayes như sau [20] [1]:

P(X 1C,)=] J Py IC) = PQ IC) * Pl 1C,)* * P(x, 1G)

> P(XIC) được tinh vdi'gia định class conditional independence.

> x,, k = 1 n: trị thuộc tinh A, của X

> P(x,/C;) được tính như sau:

+) A, là thuộc tính rời rac.

P@xlC;) = [{X? |X’, = XK A X” € CHIC, pl +) A, là thuộc tính liên tục.

P(x,IC;) tuân theo một phân bố xác suất nào đó (vi dụ: phân bố Gauss)

> Nếu P(x,lC;) = 0 thì P(XIC;) = 0!!!

+) Ban đầu

P(xJC;) = |{X”|x'x = KK A X” e CHC; pl

+) Laplace (Pierre Laplace, nhà toán học Pháp, 1749-1827)

P(XAIC;) = (| {X? |x’, = XR AX’ e C¡}I+1)/(C;pl + m) +) z-estimate

P(XIC,) = (|{Xˆ|x”x = XK AX’ e Ci} + Z*P(x¿))/(C¡ pl + Z)

2.2.2 Vi dụ minh họa

Bài toán chơi Tennis, có 14 bản ghi, được mô tả như sau [3] [19]:

Quang cảnh | Nhiệt độ | Độ 4m Gió Chơi tennis

Nang Nong Cao Nhe Không

Nắng Nóng Cao Mạnh KhôngÂmu Nóng Cao Nhẹ Có

Mưa Am áp Cao Nhẹ CóMưa Mát TB Nhe Có

Mưa Mát TB Mạnh Không

Âmu Mát TB Mạnh CóNắng Am áp Cao Nhẹ Không

Trang 11

Nắng Mát TB Nhẹ Có

Mưa Am áp TB Nhẹ CóNắng Am áp TB Mạnh CóÂmu Am áp Cao Mạnh CóÂmu Nóng TB Nhẹ Có

Mưa Am áp Cao Mạnh Không

Bảng 2.1 Dữ liệu bài toán chơi Tennis

Ta có 14 mẫu trong đó có 9 tập mẫu phân lớp là (+) và 5 tập mẫu là (-), Ta đi tính

xác xuất cho từng thuộc tính như sau:

> Tính xác suất cho thuộc tính phân lớp:

P(Chơi Tennis)”= 9/(9+5) = 9/14

P(Chơi Tennis) =5/(9+5)=5/14

> Tình xác suất cho thuộc tinh Quảng cảnh:

P(Quảng cảnh| nắng) * = 2/(2+3+4) = 2/9P(Quang cảnh| nắng) ˆ = 3/(3+0+2) = 3/9

P(Nhiệt đội mát) * = 3/(2+4+3) = 3/9

P(Nhiét đội mát) ' = 1/(2+24+1) = 1/5

> Tinh nhiệt xác suất cho thuộc tính Độ ẩm:

P(Độ am] cao) * = 3/(3+6) = 1/3P(Độ ẩm| cao) ' = 6/(3+6) = 2/3P(Độ am| TB) * = 4/(4+1) = 4/5

P(Độ am| TB) ' = 1/(4+1) = 1/5

> Tính nhiệt xác suất cho thuộc tinh Gió:

Trang 12

Từ xác suất của từng thuộc tinh này ta có thé dự đoán cho từng mẫu cụ thé.

Ví dụ ta muốn tính mẫu D = {Quang cảnh|nắng, Nhiệt độlắm áp, Độ âmlcao,

2.2.3 Đánh giá Naive Bayes trong khai pha dữ liệu

Phân loại Naive Bayes được triển khai rất rộng rãi trong khai pha đữ liệu vi déhiểu, dễ triển khai Tuy nhiên, Bayes giả thiết rằng các biến trong mô hình là độc lậpnhau Nếu các bién không độc lập nhau thì Bayes cho kết quả thiếu chính xác [1][20]

2.3 Phân lớp dữ liệu dựa trên kỹ thuật cây quyết định

2.3.1 Phân lóp dữ liệu dựa trên cây quyết định

Trong cây quyết định gồm có:

> Gốc: là node trên cùng của cây

> Node trong: biéu diễn một kiểm tra trên một thuộc tinh đơn (hình chữ nhật)

> Nhánh: biéu diễn các kết quả của kiểm tra trên node trong (mũi tên)

> Node lá: biểu diễn lớp hay sự phân phối lớp (hình tròn)

2.3.2 Xây dựng cây quyết định

Qua trình xây dựng cây quyết định đều được chia làm ba giai đoạn cơ bản sau [4]:

> Xây dựng cây

> Cắt tỉa cây

> Đánh giá cây

Trang 13

Có ba tiêu chuẩn xác định thuộc tính tốt nhất phát triển tại mỗi node [4]:

> Gini-index (Breiman và các đồng sự, 1984):

> Information—gain (Quinlan, 1993)

> x2 -bảng thông kê các sự kiện xảy ra ngẫu nhiên

2.3.3 Sử dụng thuật toán ID3 xây dựng cây quyết định

2.3.3.1 Thuật toán ID3

ID3 xây dựng cây quyết định từ trên- xuống (top -down), ID3 biểu diễn các khái

niệm ở dạng các cây quyết định biểu diễn này cho phép chúng ta xác định phân loại một

đối tượng bằng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó [3]

2.3.3.2 Lựa chọn thuộc tính tốt nhất để phân loại

a) Entropy do tính thuần nhat của tập dữ liệu:

- Nếu trong tập S có số mẫu phân bồ đều nhau vào các lớp thì Entropy (S) =1

- Các trường hợp còn lại: 0< Entropy(S) <1

b) Information Gain (viết tắt là Gain):

Gain là đại lượng dùng dé đo tính hiệu quả của một thuộc tính được lựa chọn cho

việc phân lớp Đại lượng này được tính thông qua hai giá trị Information và Entropy.

Gain(A,S)= Eniropy(S)— > LS, |

yeValues(A) 1S | Entropy(S,,)

- § là tập hợp ban đầu với thuộc tinh A Các giá trị của v tương ứng là các giá trị

của thuộc tính A

- Sy bằng tập hợp con của tập S mà có thuộc tinh A mang giá trị v

- [Sy| là số phần tử của tập Sy; |S| là số phan tử của tập S

Trang 14

Đầu ra: Cây quyết định có khả năng phân loại

Thuật toán ID3 xây dựng cây quyết định theo giải thuật sau:

Function induce_tree (án ví dụ, tập thuộc_ tính) [4]

begin

if mọi ví dụ trong tập ví dụ déu nam trong cùng một lop then

return một nut lá được gan nhãn bởi lớp đó

else if t@p_thudc_tinh là rong then

return mit lá được gán nhãn bởi tuyển của tat cả các lép trong tập_ ví dụ

else begin

chọn một thuộc tính P, lấy nó làm sốc cho cây hiện tại,

xóa Pra khỏi tập thuộc tính;

với mỗi giá trị V của P

begin

tạo một nhánh cua cây gan nhãn V;

Đặt vào phân_ vùng các ví dụ trong tập ví dụ có gia trị V tại thuộc

tính P;

Goi induce_tree (phân vùng, tập thuộc tính), gắn kết quả vào

nhánh V end

end end

2.3.3.3 Vi dụ minh họa với bài toán chơi Tennis

Giả sử S là một tập 14 mẫu trong đó có 9 (+) và 5(-) ta có:

Entropy (S) = - (9/14) Log, (9/14) - (5/14) Log, (5/14) = 0.940

Từ đó ta tính tiếp Gain cho từng thuộc tinh dé chon làm nút gốc như sau:

Gain (S, Quang cảnh) = Entropy(S) — (5/14) Entropy (Sqáng) — (4/14) Entropy (Samu) —

(5/14) Entropy (Sua) = 0.246

Gain (S, Nhiệt độ) = Entropy (S) - (4/14) x Entropy (Snong) - (6/14) x Entropy (SAm áp) —

(4/14) x Entropy (Sma) = 0.029 Gain (S, Gió) = Entropy (S) - (6/14) x Entroy (Swann) - (8/14) x Entropy (Syne) = 0.04

Gain (S, Độ 4m) = Entropy (S) — (7/14) x Entropy (Scao) — (7/14) x Entropy (S7g)= 0.151

Trang 15

Hình 2.4- Cây quyết định có Quang cảnh được chọn làm node gốc

Tương tự sau khi xét được nút gốc thì ta đi xét từng nhánh còn lại ta thu

được cây quyêt định hoàn chỉnh như sau:

| Quang cảnh

¬ Mưa -_ Amu m

Cao TB Nhẹ Manh

⁄ ` / `

Không Cá Có Không

Hình 2.5 Cây quyết định hoàn chỉnh

2.3.4 Sứ dụng thuật toán C4.5 xây dựng cay quyết định

2.3.4.1 Thuật toán C4.5

Thuật toán C4.5 được cải tiến từ thuật tóan ID3 với việc cho phép xử lý trên tập

đữ liệu có các thuộc tinh số (numeric atributes) và làm việc được với tập dữ liệu bị thiếu

và bị nhiễu Nó thực hiện phan lớp tập mẫu dữ liệu theo chiến lược ưu tiên theo chiều sâu

(Depth - First) Thuật toán xét tat cả các phép thử có thé dé phân chia tập dữ liệu đã cho

va chọn ra một phep thử có giá trị GainRatio tốt nhất

Information Gain theo công thức sau:

Ngày đăng: 07/04/2024, 12:23

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN