Tải bản đầy đủ (.pdf) (32 trang)

Ứng Dụng Công Nghệ Tri Thức Cây Quyết Định Vào Thƣơng Mại Điện Tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.2 MB, 32 trang )



ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN



CÔNG NGHỆ TRI THỨC
VÀ ỨNG DỤNG
ĐỀ TÀI:
Ứng Dụng Công Nghệ Tri Thức
Cây Quyết Định Vào Thƣơng Mại Điện Tử



GVHD : GS-TSKH. Hoàng Kiếm

Thực hiện : Vƣu Văn Tòng – CH1101146
Ngô Thanh Tuấn – CH1101054




Thành phố Hồ Chí Minh - Tháng 06 Năm 2012
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 1
LỜI MỞ ĐẦU
Trong cuộc sống ngày nay, internet đóng vai trò vô cùng quan trọng.
Nhờ internet con ngƣời có thể tiếp cận thông tin dễ dàng hơn. Internet
mang đến cho con ngƣời những kênh giao tiếp thông suốt, đơn giản mà


cực kì hiệu quả. Chúng ta có thể ở nhà và kết bạn với những con ngƣời
mà có lẽ chẳng bao giờ ta gặp ngoài đời, hay đặt mua những món hàng
yêu thích chỉ cần ngồi tại chỗ và một cú nhấn chuột. Từ đó dẫn đến sự
ra đời của một loại hình kinh doanh mới – kinh doanh qua mạng hay
còn gọi là thƣơng mại điện tử.
Tuy nhiêntrong thực tế, với một lƣợng thông tin lớn nhƣ vậy, việc
tiếp nhận của con ngƣời sẽ gặp không ít khó khăn. Đúng nhƣ John
Naisbitt đã nói: “chúng ta đang chìm ngập trong thông tin nhƣng lại
khao khát tri thức”.
Vì vậy, nhiệm vụ của chúng ta – những ngƣời làm tin học – nên là rút
trích ra những tri thức từ khối thông tin đồ sộ của internet (gọi tắt là
data minning).
Để thực hiện data minning, có nhiều phƣơng pháp, nhiều giải thuật
đƣợc đƣa ra. Tuy nhiên, trong bài thu hoạch này, chúng em xin giới
thiệu về cây quyết định và ứng dụng cây quyết định trong lĩnh vực
thƣơng mại điện tử.
Chúng em xin gửi lời cám ơn đến thầy Hoàng Kiếm, đã hƣớng dẫn
và đƣa chúng em vào lĩnh vực công nghệ tri thức.Chúng em cũng xin gửi
lời cảm ơn đến phòng đào tạo sau đại học trƣờng đại học Công Nghệ
Thông Tin đã đƣa môn học thú vị này vào chƣơng trình đào tạo.Giúp
chúng em có những cái nhìn khác, những tiếp cận khoa học hơn vào lĩnh
vực tin học và ứng dụng vào trong cuộc sống hàng ngày.
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 2
NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN





















Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 3
NỘI DUNG
1. TỔNG QUAN VỀ CÂY QUYẾT ĐỊNH 6
2. CÁC THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH 7
2.1. Phƣơng pháp Hunt: 7
2.2. Thuật toán ID3: 8
2.2.1. Giới thiệu: 8
2.2.2. Hàm entropy: 8
2.2.3. Độ đo (information gain) 9
2.2.4. Thuật toán 9
2.2.5. Thuận lợi và hạn chế của ID3: 10
2.2.6. Ví dụ 11

2.3. Thuật toán C4.5 15
2.3.1. Giới thiệu: 15
2.3.2. Gain entropy 15
2.3.3. Thuật toán 16
2.3.4. Các điểm thuận lợi của C4.5 so với ID3 16
2.4. Thuật toán CART 16
2.4.1. Giới thiệu 16
2.4.2. Thuật toán 17
2.4.3. Chỉ số Gini: 17
2.4.4. Chỉ số twoing: 18
2.4.5. Hạn chế của CART 19
3. ỨNG DỤNG CÂY QUYẾT ĐỊNH VÀO THƢƠNG MẠI ĐIỆN TỬ 20
3.1. Sơ lƣợc về thƣơng mại điện tử 20
3.2. Đặt vấn đề 20
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 4
3.3. Giải quyết vấn đề 21
3.4. Kết quả 28
4. KẾT LUẬN 29
4.1. Kết quả đạt đƣợc 29
4.2. Hạn chế 29
4.3. Hƣớng phát triển 29
5. TÀI LIỆU THAM KHẢO 31


Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 5
DANH SÁCH BẢNG

Bảng 1: Thống kê thi đấu quần vợt 11
Bảng 2: Thuộc tính quang cảnh và giá trị nắng 13
Bảng 3: thuộc tính quang cảnh với giá trị mưa 14
Bảng 4: Bảng thông tin khách hàng 22
Bảng 5: Bảng thông tin khách hàng đã chuẩn hóa 23

DANH SÁCH HÌNH
Hình 1: Phân nhánh cây theo quang cảnh 13
Hình 2: Phân nhánh cây theo độ ẩm 14
Hình 3: Phân nhánh cây theo thuộc tính gió to 15
Hình 4: Dữ liệu đầu vào biểu diễn trong Mysql 23
Hình 5: Bảng quyết định trong Mysql 27
Hình 6: Các luật được tìm thấy 28

Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 6
1. TỔNG QUAN VỀ CÂY QUYẾT ĐỊNH
Cây quyết định là phƣơng pháp hỗ trợ chúng ta ra quyết định, chọn
lựa phù hợp đặc biệt là những quyết định liên quan tới việc đòi hỏichi phí
và rủi ro cao.Cây quyết định dùng đồ thị để tiến hành so sánh các lựa
chọntiềm năng và gán giá trị cho các lựa chọn này bằng cách kết hợp các
yếu tố không chắc chắn, chi phí vào nơi mà các giá trị chắc chắn, rõ ràng
hơn.
Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo
nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tƣợng tới các kết
luận về giá trị mục tiêu của sự vật/hiện tƣợng. Mỗi một node tƣơng ứng với
một biến; đƣờng nối giữa nó với nút con của nó thể hiện một giá trị cụ thể
cho biến đó.Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho
trƣớc các giá trị của các biến đƣợc biểu diễn bởi đƣờng đi từ nút gốc tới nút

lá đó.
Học bằng cây quyết định cũng là một phƣơng pháp thông dụng trong
khai phá dữ liệu.Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó,
các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các
thuộc tính dẫn tới phân loại đó.
Cây quyết định có hai dạng phổ biến là: cây hồi quy, cây phân loại.
Một số tiện lợi mà cây quyết định mang lại khi chúng ta sử dụng:
 Dễ hiểu: chúng ta có thể dùng đồ thị để diễn tả các lựa chọn,
những kết quả có thể xảy ra, các cơ hội. Dùng biểu đồ sẽ giúp
cho việc dễ dàng hiểu đƣợc chuỗi các quyết định và các điều
kiện phụ thuộc để đƣa đến kết quả cuối cùng.
 Hiệu quả: cây quyết định diễn đạt rõ ràng các lựa chọn phức
tạp. Thật vậy, chúng ta dễ dàng bổ sung cây quyết định khi có
thông tin mới. Tạo một cây quyết định và so sánh những thay
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 7
đổi của giá trị đầu vào làm tác động đến quyết định chọn lựa
khác nhau ra sao.
 Chúng ta có thể so sánh các lựa chọn tiềm năng – ngay cả khi
không đầy đủ thông tin – trong khuôn khổ rủi ro và giá trị có
thể xảy ra.
 Hỗ trợ kỹ thuật quyết định khác: cây quyết định có thể đƣợc
dùng kết hợp với các công cụ quản lý dự án khác. Ví dụ: cây
quyết định có thể đƣợc dùng để hỗ trọ việc đánh giá tiến độ
của dự án.
Trong các phần tiếp theo, tài liệu sẽ giới thiệu một số thuật toán phổ
biến của cây quyết định
2. CÁC THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH
2.1. Phương pháp Hunt:

Các phƣơng pháp phân lớp của Quinlann đều sử dụng tƣ tƣởng chủ
đạo từ phƣơng pháp Hunt. Phƣơng pháp này đƣợc Hunt và các đồng sự xây
dựng vào những năm cuối thập kỷ 50 đầu thập kỷ 60.
Mô tả quy nạp của phƣơng pháp Hunt
Giả sử xây dựng cây quyết định từ T là tập dữ liệu đầu vào và các lớp
đƣợc biểu hiện dƣới dạng tập C = {C
1
, C
2
… C
k
}
Trƣờng hợp 1: T chứa các trƣờng hợp thuộc về một lớp đơn C
j
, cây
quyết định ứng với T là một lá tƣơng ứng với lớp C
j

Trƣờng hợp 2: T chứa các trƣờng hợp thuộc về nhiều lớp khác nhau
trong tập C, Một kiểm tra đƣợc chọn trên một thuộc tính có nhiều giá trị
{O
1
, O
2
… O
3
}. Trong nhiều ứng dụng n thƣờng đƣợc chọn là 2, khi đó tạo
ra cây quyết định nhị phân. Tập T đƣợc chia thành các tập con T
1
, T

2
, …, T
n

với T
i
chứa tất cả các trƣờng hợp trong T mà có kết quả là O
i
trong kiểm tra
đã đƣợc chọn, và mỗi nhánh tƣơng ứng với mỗi kết quả có thể kiểm tra đó.
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 8
Cách thức xây dựng cây tƣơng tự đƣợc áp dụng đệ quy cho từng tập con
của dữ liệu đầu vào.
Trƣờng hợp 3: T không chứa trƣờng hợp nào, cây quyết định ứng với
T là một lá nhƣng lớp gắn với lá đó phải đƣợc xác định từ những thông tin
khác ngoài T.
2.2. Thuật toán ID3:
2.2.1. Giới thiệu:
Thuật toán ID3 (Iterative Dichotomiser 3) là một trong những thuật
toán xây dựng cây quyết định sử dụng độ đo (information gain) để lựa chọn
thuộc tính phân lớp các đối tƣợng. Thuật toán ID3 là tiền thân của thuật
toán C4.5.
Nó xây dựng cây theo cách từ trên xuống, bắt đầu từ một tập các đối
tƣợng và một đặc tả của các thuộc tính.
Tại mỗi đỉnh của cây, một thuộc tính có information gain lớn nhất sẽ
đƣợc chọn để phân chia tập đối tƣợng.
Quá trình này đƣợc thực hiện một cách đệ qui cho đến khi một tập đối
tƣợng tại một cây con đã cho trở nên thuần nhất, tức là nó chỉ chứa các đối

tƣợng thuộc về cùng một lớp. Lớp này sẽ trở thành một lá của cây.
2.2.2. Hàm entropy:
Hàm Entropy xác định tính không thuần khiết của một tập các dữ liệu
bất kỳ.
E



= 


2



=1

Trong đó:
 E(S) là entropy của tập S.
 c: là số giá trị khác nhau của thuộc tính trong S (entropy đƣợc
tính cho 1 thuộc tính đƣợc chọn)
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 9
 

là tần suất của giá trị i trong tập S.
Nếu E(S) = 0 nghĩa là tập đó chứa toàn các giá trị đồng nhất. Giá trị
của entropy sẽ lớn hơn 1 nếu số lớp khác nhau lớn hơn 2.
2.2.3. Độ đo (information gain)

Độ đo, đo mức độ hiệu quả của một thuộc tính trong bài toán phân lớp
dữ liệu. Đó chính là sự rút gọn mà ta mong đợi khi phân chia các dữ liệu
theo thuộc tính. Công thức tính độ đo:


, 

= 



 







(

)





Trong đó:
 Gain


S, A

là độ lợi của tập S sau khi chia theo thuộc tính A
 E(S) là entropy của tập S
 S
v
là tập con của S mà A có giá trị là v
 Value(A) là tập giá trị có thể có đối với thuộc tính A
Độ đo xác định cải thiện entropy bằng cách chia trên một thuộc tính:
cao hơn thì tốt hơn. Do đó, để phân lớp dữ liệu ta sẽ chọn thuộc tính có
Gain lớn nhất để làm tiêu chuẩn để phân nhánh.
2.2.4. Thuật toán
Mã giả của thuật toán ID3:
ID3(T : bảng dữ liệu; C : thuộc tính phân loại){
 if (T rỗng) return(null);
 N = node mới;
 if (không tồn tại thuộc tính tiềm năng trong T) {
o gán nhãn N với giá trị xuất hiện nhiều nhất của C
trongT
 else if (tất cả các thể hiện trong T có cùng giá trị V của C)
o gán nhãn N, “X.C=V với khả năng xuất hiện 1”
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 10
 else {
o for (mỗithuộc tính A trong T )
o AVG_ENTROPY(A,C,T);
o AS = thuộc tính mà AVG_ENTROPY(AS,C,T) nhỏ
nhất;
o if (AVG_ENTROPY(AS,C,T) >= ENTROPY(C,T))

 gán nhãn N với giá trị có tần số xuất hiện nhiều
nhất của C trong T
o else {
 gán nhãn N với AS;
 for (mỗi giá trị V của AS ){
N1 = ID3(SUBTABLE(T,A,V),C)
if (N1 != null) tạo 1 đƣờng nối từ N đến N1
gán nhãn là V;
 }
 } }
 return N;
}
Trong đó:
 AVG_ENTROPY:là thể hiện của công thức


S
v


S

E(S
v
)
vValue

A



 ENTROPY: tính entropy
 SUBTABLE(T,A,V): tạo ra table con đã loại bỏ cột A sau khi
đã lấy giá trị trong T mà tại cột A có giá trị là V.
2.2.5. Thuận lợi và hạn chế của ID3:
 Hạn chế:
o Chỉ có 1 thuộc tính đƣợc xem xét tại một thời điểm.
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 11
o Phân lớp dữ liệu liên tục có thể tốn chi phí tính toán.
o Dữ liệu mới có thể không phân lớp đƣợc, nếu chỉ có dữ
liệu huấn luyện không đủ lớn.
 Thuận lợi:
o Dữ liệu đoán trƣớc dễ hiểu đƣợc tạo từ các dữ liệu
huấn luyện.
o Tạo cây quyết định nhanh.
o Tạo đƣợc cây quyết định ngắn.
o Chỉ cần kiểm tra các thuộc tính cho đến khi dữ liệu đã
đƣợc phân lớp.
o Toàn bộ tập dữ liệu, đều đƣợc kiểm tra để tạo cây
quyết định.
2.2.6. Ví dụ
Cho bảng thống kê về việc thi đấu quần vợt nhƣ bảng bên dƣới:
Ngày
Quang cảnh
Nhiệt độ
Độ ẩm (%)
Gió to
Kết quả
N1

Nắng
24
70
Không
Thi đấu
N2
Nắng
27
90

Không thi đấu
N3
Nắng
30
85
Không
Không thi đấu
N4
Nắng
22
95
Không
Không thi đấu
N5
Nắng
20
70
Không
Thi đấu
N6

Nhiều mây
22
90

Thi đấu
N7
Nhiều mây
28
75
Không
Thi đấu
N8
Nhiều mây
18
65

Thi đấu
N9
Nhiều mây
28
75
Không
Thi đấu
N10
Mƣa
21
80

Không thi đấu
N11

Mƣa
18
70

Không thi đấu
N12
Mƣa
24
80
Không
Thi đấu
N13
Mƣa
20
80
Không
Thi đấu
N14
Mƣa
21
96
Không
Thi đấu
Bảng 1: Thống kê thi đấu quần vợt

Các công thức cần dùng:
 E

S


= 

p
i
log
2
p
i
c
i=1

 Gain

S, A

= E

S




S
v


S

E(S
v

)
vValue

A


Độ thuần khiết của tập dữ liệu:
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 12
E

Kt qu

= 
9
14
log
2
9
14

5
14
log
2
5
14
= 0.94
Từ đó ta tính tiếp Gain cho từng thuộc tính để suy ra thuộc tính nào

đƣợc chọn làm nút gốc:
G

S, Quang Cnh

= E

S


5
14
ES
nng

4
14
ES
nhi u mây

5
14
E

S



= 0.94 
5

14

3
5
log
2
3
5

2
5
log
2
2
5
+
4
14
0
+
5
14

3
5
log
2
3
5


2
5
log
2
2
5



= 0.246
Đối với thuộc tính nhiệt độ ta chia làm 3 mức:
 Lạnh (x<210): 4 ngày
 Ấm (210≤ x <270): 6 ngày
 Nóng (270≤ x): 4 ngày
G

S, Nhit 

= 0.029
Về độ ẩm, ta chia độ ẩm thành 2 mức:
 Trung bình (x≤75%):6ngày
 Cao (x > 75%):8 ngày
G

S,  m

= 0.09
G

S, Gió


= 0.102
Nhận xét: quang cảnh là thuộc tính mà có độ đo lớn nhất, nhƣ vậy ta
chọn quang cảnh là thuộc tính đầu tiên để triển khai cây.
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 13

Hình 1: Phân nhánh cây theo quang cảnh
Nhận xét: Với quang cảnh nhiều mây, tất cả các ngày đều thi đấu. Tập
dữ liệu con đã thuần nhất.
Ta tiến dùng thuật toán ID3 cho 2 giá trị nắng và mƣa của thuộc tính
quang cảnh.
Bảng giá trị nắng tƣơng ứng với bảng con bên dƣới:
Ngày
Nhiệt độ
Độ ẩm (%)
Gió to
Kết quả
N1
24
70
Không
Thi đấu
N2
27
90

Không thi đấu
N3

30
85
Không
Không thi đấu
N4
22
95
Không
Không thi đấu
N5
20
70
Không
Thi đấu
Bảng 2: Thuộc tính quang cảnh và giá trị nắng
Entropy của bảng dữ liệu trên là:
E

S1

= 
2
5
log
2
2
5

3
5

log
2
3
5
= 0.97
G1

S1, Nhit 

= 0.57
G1

S1,  m

= 0.97
G1

S1, Gió to

= 0.17
Với độ đo lớn nhất của độ ẩm, ta tiến hành phân nhánh cây quyết định
theo thuộc tính Độ ẩm.
Quang cảnh
Thi đấu (4)
(Quang cảnh nhiều mây)
Nắng Mưa
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 14


Hình 2: Phân nhánh cây theo độ ẩm
Bảng giá trị mƣa ứng với bảng bên dƣới:
Ngày
Nhiệt độ
Độ ẩm (%)
Gió to
Kết quả
N10
21
80

Không thi đấu
N11
18
70

Không thi đấu
N12
24
80
Không
Thi đấu
N13
20
80
Không
Thi đấu
N14
21
96

Không
Thi đấu
Bảng 3: thuộc tính quang cảnh với giá trị mưa
Entropy của bảng dữ liệu trên là:
E

S2

= 
2
5
log
2
2
5

3
5
log
2
3
5
= 0.97
G2

S2, Nhit 

= 0.02
G2


S2,  m

= 0.32
G2

S2, Gió to

= 0.97
Với độ đo lớn nhất của thuộc tính gió to, ta tiến hành phân nhánh cây
quyết định theo thuộc tính Gió to.
Quang cảnh
Thi đấu (4)
(Quang cảnh nhiều mây)
Độ ẩm
(Quang cảnh nắng)
Không thi đấu (3)
(Độ ẩm cao)
Thi đấu (2)
(Độ ẩm trung bình)
(Quang cảnh mưa)
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 15

Hình 3: Phân nhánh cây theo thuộc tính gió to
Tất cả các node lá đã là các tập dữ liệu thuần nhất thuộc về những mỗi
lớp phân biệt.Vậy chúng ta đã hoàn thành phân lớp dữ liệu thành một cây
quyết định với các lớp chỉ chứa các tập dữ liệu thuần nhất.
2.3. Thuật toán C4.5
2.3.1. Giới thiệu:

Thuật toán này do Quinlan đƣa ra năm 1993. Thuật toán mở rộng từ
thuật toán ID3.Thuật toán C4.5 sinh ra một cây quyết định phân lớp đối với
một tập dữ liệu đã đƣợc cho bằng cách phân chia đệ qui dữ liệu. Cây quyết
định đƣợc triển khai theo chiến lƣợc chiều sâu trƣớc (Depth-first).
2.3.2. Gain entropy
Thuật toán này xét tất cả các phép thử có thể phân chia tập dữ liệu đã
cho và chọn ra một phép thử cho GainRatio tốt nhất. GainRatio cũng là một
độ đo sự hiệu quả của một thuộc tính trong thuật toán triển khai cây quyết
định. Nó đƣợc tính trên cơ sở của độ đo nhƣ sau:
GainRatio

S, A

=
Gain(S, A)
SpilitInformation(S, A)

SpilitInformation

S, A

= 

S
i


S

log

2

S
i


S

c
i=1

Quang cảnh
Thi đấu (4)
(Quang cảnh nhiều mây)
Độ ẩm
(Quang cảnh nắng)
Không thi đấu (3)
(Độ ẩm cao)
Thi đấu (2)
(Độ ẩm trung bình)
Gió to
(Quang cảnh mưa)
Không thi đấu (2)
(Gió to)
Thi đấu (3)
(Gió không to)
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 16
2.3.3. Thuật toán

Mã giả thuật toán C4.5:
 Kiểm tra các trƣờng hợp cơ bản.
 Trên mỗi thuộc tính a.
 Tìm information bằng cách chia nhỏ a theo nhóm.
 Tìm a_best là thuộc tính với giá trị information gain lớn nhất.
 Tao một node chia dựa trên a_best.
 Đệ quy trên các lớp con do việc chia dựa trên a_best, và thêm
các node nhƣ là các node con của node hiện thời.
2.3.4. Các điểm thuận lợi của C4.5 so với ID3
 Xử lý tốt các thuộc tính rời rạc và liên tục.
 Xử lý dữ liệu ban đầu thiếu thuộc tính.
 Xử lý thuộc tính với chi phí khác nhau.
 Rút gọn cây sau khi tạo – C4.5 sẽ duyệt lại 1 lần sau khi tạo
cây và cố gắng bỏ các nhánh thay vào đó là các lá.
Ngoài ra, Quinlan cũng đã phát triển thuật toán C5.0/See5.0, tuy nhiên
phiên bản này chỉ có bản thƣơng mại. Quinlan đã đề cập một số điểm cải
thiện của phiên bản 5.0 này hơn 4.5 một số điểm sau đây:
 Nó thƣờng cho tốc độ nhanh hơn, tốn kém vùng nhớ ít hơn,
chính xác hơn.
 Tạo cây quyết định nhỏ hơn.
 Hổ trợ việc học giám sát (boosting).
 Tạo cây quyết định có chọn lọc, nó có tùy chọn để loại bỏ các
thuộc tính dƣ thừa, không hữu ích.
2.4. Thuật toán CART
2.4.1. Giới thiệu
CART (Classification AndRegression Tree) đƣợc công bố vào năm
1984 bởi Leo Breiman, Jerome Friedman, Richard Olshen và Charles
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 17

Stone. Để tạo cây quyết định CART sử dụng cách học tập các mẫu – là một
tập dữ liệu đã có đƣợc phân chia trƣớc các lớp cho việc quan sát.
 Là kỹ thuật tạo cây quyết định không tham số, nó có khả năng
tạo cây phân lớp và cây hồi quy.
 Cây quyết định CART đƣợc phân chia đệ quy nhị phân.
 Xử lý đƣợc trên cả dữ liệu liên tục và dữ liệu rời rạc.
 Có khả năng tự động chia hàng loạt thuộc nhóm dữ liệu thành
một số ít nhóm.
 Có xử lý cắt tỉa cây.
2.4.2. Thuật toán
Phân hoạch đệ quy:
 Lấy hết tất cả dữ liệu.
 Xem xét tất cả các giá trị có thể của tất cả các biến.
 Chọn biến/giá trị (X = t1) mà nó có thể tạo ra sự phân nhánh
lớn nhất.
 Nếu X < t1 thì đƣa dữ liệu vào bên trái, ngƣợc lại, đƣa dữ liệu
vào nhánh bên phải.
 Lặp lại thao tác trên cho các node con.
 Việc phân nhánh ngừng khi không thể mở rộng thêm nhánh
hay gặp một điều kiện dừng đã thiết lập từ trƣớc.
2.4.3. Chỉ số Gini:
Chỉ số Gini dung trong thuật toán CART là độ đo về tính không thuần
khiết của một tập dữ liệu.
Gini

D

= 1 (p
i
)

2
m
i=1

Với m là tổng số nhãn lớp, pi là xác suất để một bộ bất kỳ trong D
thuộc về một nhãn Ci, đƣợc tính nhƣ sau:
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 18
p
i
=

C
i
, D


D


Chỉ số Gini thƣờng sẽ đƣợc tính toán dựa trên giả định một tập dữ liệu
D đƣợc phân chia nhị phân thành hai tập con. Đầu tiên xét trƣờng hợp thuộc
tính A bất kỳ trong D có kiểu dữ liệu rời rạc, khi dùng phép chiếu sẽ thu
đƣợc v = {a
1
,a
2
… a
v

} giá trị khác nhau. Để xác định điểm chia tốt nhất của
A, kiểm tra tất cả tập con có thể tạo đƣợc từ v giá trị phân biệt trên, mỗi tập
con tạm gọi là SA là một điều kiện kiểm tra nhị phân dạng A  S
A
. Nhƣ vậy
với v giá trị khác nhau ta sẽ có 2
v
-2 tập con ( không bao gồm tập rỗng, và
tập toàn phần v = {a
1
,a
2
… a
v
}. Tiến hành lặp qua tất cả các tập con này,
mỗi lần lặp sẽ phân chia tập v thành 2 tập con v
1
và v
2
(v
1
U v
2
= v;
v
1
v
2
= ). Với 2 tập con của v, D cũng chia thành 2 tập con D1(các bộ
có giá trị thuộc tính A  v

1
) và D2 ( các bộ có giá trị thuộc tính A  v
2
), chỉ
số Gini(D) là:
Gini
A

D

=

D
1


D

Gini

D
1

+

D
2


D


Gini(D
2
)
Ngƣợc lại với độ đo Gain khi dùng entropy, chỉ số Gini nhỏ nhất (dữ
liệu ít pha tạp nhất) sẽ đƣợc chọn để phân nhánh cây quyết định.Một cách
tổng quát:
Gini
A

D

= 
n
j
n
k
j=1
Gini

j


Trong đó:
 k: số con của node
 n
j
: Số giá trị tại node con j
 n: Số lƣợng giá trị tại node D
2.4.4. Chỉ số twoing:

CART cũng hỗ trợ chỉ số twoing làm tiêu chuẩn phân lớp, có thể đƣợc
sử dụngcho vấn đề nhiều lớp. Tại mỗi node, các lớp đƣợc phân thành hai
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 19
superclasses chứa các lớp rời nhau và các lớp có quan hệ chặt với nhau.
Một tiêu chuẩn phân lớp đối với vấn đề hai lớplà việc tìm ra thuộc tính và
sử dụng hai superclassestối ƣu tiêu chuẩn cho hai lớp. Phƣơng pháp cung
cấp chiến lƣợc khôn khéo để chia vài lớp mà các nhóm tƣơng tự đƣợc gom
nhóm lại với nhau.
2.4.5. Hạn chế của CART
 CART không sử dụng kết hợp nhiều biến.
 Cây quyết định chỉ đƣợc tối ƣu tại mỗi node, nó có thể không
tối ƣu toàn bộ cây.

Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 20
3. ỨNG DỤNG CÂY QUYẾT ĐỊNH VÀO THƢƠNG MẠI ĐIỆN
TỬ
3.1. Sơ lược về thương mại điện tử
Thƣơng mại điện tử là một khái niệm có nhiều cách hiểu, tuy nhiên
tổng quát nhất vẫn là: việc tiến hành một phần hoặc toàn bộ thƣơng mại
bằng các phƣơng tiện điện tử. Thƣơng mại điện tử đƣợc biết đến là một
phƣơng thức kinh doanh hiệu quả từ khi có internet. Chính vì vậy, thƣơng
mại điện tử có thể hiểu một cách cụ thể là việc giao dịch, mua sắm qua
mạng và internet.
Nhìn lại về tình hình thƣơng mại điện tử ở Việt Nam, ta thấy rằng các
hoạt động này có một điểm chung là: làm website để quảng cáo sản phẩm
đến ngƣời tiêu dùng. Những website này mang tính động, nghĩa là sản

phẩm đƣợc cập nhật liên tục và mang tính tƣơng tác cao, tạo thành kênh
giao tiếp hữu dụng giữa ngƣời mua và ngƣời bán.
Tuy nhiên, điểm bất lợi của những website này là bất cứ ngƣời dùng
nào ghé thăm thì cũng chỉ thấy đƣợc những sản phẩm mới nhất hay sản
phẩm bán chạy nhất mà không thấy đƣợc sản phẩm mà họ cần mua. Nói
chung là website này không có thật sự hƣớng đến ngƣời dùng – một điều
căn bản cho sự thành công trong kinh doanh.
3.2. Đặt vấn đề
Vấn đề đặt ra cho website thƣơng mại điện tử hiện nay là tính hƣớng
đến ngƣời dùng, dự đoán đƣợc ngƣời dùng sẽ mua món hàng nào để đƣa ra
sản phẩm quảng cáo phù hợp. Nếu giải quyết đƣợc vấn đề này, chúng ta sẽ
có đƣợc các lợi ích:
 Lƣợng ngƣời dùng (khách hàng) tăng lên vì chúng ta khuyến
khích họ mua đúng những sản phẩm mà họ cần.
 Lợi nhuận tăng lên vì khả năng bán đƣợc hàng rất cao.
 Giảm chi phí làm các bảng khảo sát nhu cầu ngƣời dung.
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 21
Do đó, bài toán đặt ra ở đây là: “tăng cao tính hƣớng ngƣời dùng của
website thƣơng mại điện tử”. Với bài toán này, ta có nhiều cách giải quyết
tuy nhiên chúng em nhận thấy việc áp dụng công nghệ tri thức – cây quyết
định là phù hợp nhất.
3.3. Giải quyết vấn đề
Để giải quyết bài toán này, chúng em quyết định làm một website
kinh doanh sản phẩm áp dụng cây quyết định để tăng tính hƣớng ngƣời
dùng trong hoạt động quảng bá và khuyến khích tiêu dùng.
Môi trƣờng thực hiện:
 Web server PHP (EasyPHP).
 Ngôn ngữ áp dụng: PHP, HTML, CSS, Javascript.

 Cơ sở dữ liệu Mysql.
Website này sẽ gồm có các chức năng chính:
 Quảng bá sản phẩm cho ngƣời dùng (*)
 Tìm ra các luật kết hợp, khuyến khích ngƣời dùng mua món
hàng phù hợp khi khách hàng đã mua ít nhất một món hàng.
 Nhận đơn đặt hàng từ khách hàng và thanh toán qua kênh
thanh toán điện tử (nganluong.vn).
 Các mục nhƣ tin tức, khuyến mãi
Tuy nhiên, vì thời gian có giới hạn nên chúng em chỉ tập trung phát
triển chức năng (*), những chức năng khác sẽ đƣợc hiện thực sau này.
Về dữ liệu đầu vào, dựa vào dữ liệu từ các hóa đơn mua bán, website
sẽ tích lũy đƣợc các thông tin: thông tin chi tiết về khách hàng, thông tin về
sản phẩm khách hàng đã mua
Vì bản chất của vấn đề ở đây là tính hƣớng khách hàng, do đó, ta cần
biết chi tiết về khách hàng để phục vụ tốt hơn. Sau một quá trình mua bán
hàng hóa trên mạng, ta có đƣợc bảng dữ liệu tƣơng tự nhƣ sau:
Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 22
STT

Độ tuổi
Giới tính
Khu vực sống
Nghề nghiệp
Nhóm sản phẩm
đã mua
1
13 <= x <18
Nam

Quận 1
Bác sĩ
1
2
18 <= x <26
Nữ
Quận 2
Kỹ sƣ
2
3
26 <= x <35
Nữ
Quận 1
Sinh viên
2
4
35 <= x < 46
Nam
Quận 7
Giảng viên
3
5
46 <= x
Nữ
Quận 9
Sinh viên
1
Bảng 4: Bảng thông tin khách hàng
Trong đó, thông tin của khách hàng sẽ đƣợc tách thành 4 thuộc tính
riêng biệt để áp dụng giải thuật ID3 (xem chi tiết giải thuật trong phần trên)

để xây dựng cây quyết định.
Vì dữ liệu đầu vào là những mô tả chi tiết nên chúng ta cần chuyển về
dạng các con số cho dễ tính toán.
Ví dụ: độ tuổi từ 13 đến 18 ký hiệu là 1, từ 18 đến 26 ký hiệu là 2
Tƣơng tự: giới tính Nam ký hiệu là 0, giới tính Nữ ký hiệu là 1.
Về khu vực sinh sống, ta dùng các con số từ 1 đến 9 để ký hiệu cho
việc khách hàng sống ở quận tƣơng tứng (quận 1 đến quận 9).
Tƣơng tự, dùng các con số thay cho nghề nghiệp.
Sau khi chuẩn hóa dữ liệu, chúng ta sẽ có đƣợc bảng sau:

STT

Độ tuổi
Giới tính
Khu vực sống
Nghề nghiệp
Nhóm sản
phẩm đã mua
1
1
0
1
1
1
2
2
1
2
2
2

Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 23
3
3
1
1
3
2
4
4
0
7
4
3
5
5
1
10
3
1
Bảng 5: Bảng thông tin khách hàng đã chuẩn hóa
Bảng dữ liệu này đƣợc lƣu vào cơ sở dữ liệu Mysql nhƣ sau:

Hình 4: Dữ liệu đầu vào biểu diễn trong Mysql
Dựa vào bảng dữ liệu này, chúng ta sẽ chạy giải thuật ID3 viết bằng
ngôn ngữ PHP để có đƣợc cây quyết định (và tập luật)
Lƣu đồ giải thuật của ID3 đƣợc viết bằng PHP nhƣ sau:



Ứng dụng công nghệ tri thức – cây quyết định vào thương mại điện tử

Công Nghệ Tri Thức Và Ứng Dụng Trang 24


Bắt đầu
- Chọn một nhóm sản phẩm cụ thể để tạo cây quyết định
- Khởi tạo bảng thuộc tính gồm 4 thuộc tính
- Khởi tạo nút gốc cây quyết định là rỗng
- Khởi tạo các biến cần thiết: kết nối database, danh sách các nút tạo thành luật
Nếu chƣa có thuộc tính nào
làm gốc
- Gán nhãn là „root‟
- Khởi tạo bảng quyết định cho nhóm sản phẩm
Tính số lƣợng ngƣời dùng đã mua và không mua sản phẩm dựa trên điều kiện là
giá trị của nút gốc. Nếu nút gốc đang là nhãn „root‟ thì chỉ dựa trên điều kiện là
mua hay không mua sản phẩm đang xét
T
F
Nếu số ngƣời mua bằng 0 hoặc số
ngƣời không mua bằng 0 (dữ liệu
đồng nhất)
A
F
T
D
B

×