Tải bản đầy đủ (.docx) (22 trang)

Tìm hiểu xây dựng chương trình minh họa cho bài toán tìm luật kết hợp

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 (517.96 KB, 22 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG
________________
BÀI THU HOẠCH MÔN HỌC
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
Đề tài: Tìm hiểu xây dựng chương trình
minh họa cho bài toán tìm luật kết hợp
GVHD: GS-TSKH. Hoàng Văn Kiếm
Học viên thực hiện: Trịnh Thị Thanh Nhàn
MSHV: CH1101113
TP. HCM, năm 2012
Công nghệ tri thức và ứng dụng
MỤC LỤC
GVHD: GS.TSKH Hoàng Kiếm Trang 2
Công nghệ tri thức và ứng dụng
Mở đầu
Trong những năm gần đây, với sự phát triển công nghệ thông tin chúng ta thấy một thực
tế là con người có trong tay một lượng dữ liệu rất lớn nhưng với kỹ thuật khai thác cũ
không còn phù hợp với nó nữa nhường chỗ cho những kỹ thuật mới hơn như là khai phá
dữ liệu. Khai phá dữ liệu đã trở thành một lĩnh vực chính được các nhà khoa học quan
tâm nghiên cứu bởi tính ứng dụng cao trong thực tiễn cuộc sống.
Khai phá luật kêt hợp là một nội dung quan trọng trong khai phá dữ liệu. Để nghiên cứu
sâu hơn về khai phá luật kết hợp nên tôi đã chọn đề tài “ Tìm hiểu, xây dựng chương
trình minh họa cho bài toán tìm luật kết hợp” để làm bài thu hoạch kết thúc chuyên đề
“Công nghệ tri thức và ứng dụng” do giảng viên GS.TSKH Hoàng Kiếm phụ trách giảng
dạy.
GVHD: GS.TSKH Hoàng Kiếm Trang 3
Công nghệ tri thức và ứng dụng
Chương 1. Tổng quan về khai phá dữ liệu
1.1 Khái niệm:
Khai phá dữ liệu được dùng để mô tả quá trình phát hiện ra tri thức trong cơ sở dữ liệu


(CSDL). Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp cho việc dự báo
trong kinh doanh, các hoạt động sản xuất…, khai phá dữ liệu làm giảm chi phí về thời
gian so với phương pháp truyền thống trước kia (ví dụ như phương pháp thống kê). Sau
đây là các định nghĩa mang tính mô tả của nhiều tác giả về Khai phá dữ liệu:
Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương pháp được dùng trong
tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và các mẫu chưa biết
bên trong dữ liệu”.
Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó
chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”.
1.2 Các ứng dụng của khai phá dữ liệu:
Khai phá dữ liệu liên quan đến rất nhiều nghành, nhiều lĩnh vực: thống kê, trí tuệ
nhân tạo, CSDL, thuật toán, tính toán song song…Đặc biệt khai phá tri thức rất
gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để mô hình hóa
dữ liệu và phát hiện các mẫu. Khai phá dữ liệu có nhiều ứng dụng trong thực tế, ví
dụ như:
• Bảo hiểm, tài chính và thi trường chứng khoán: phân tích tình hình tài
chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán.
Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận…
• Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định.
• Điều trị y học và chăm sóc y tế: một số thông tin về chẩn đoán bệnh lưu
trong hệ thống quản lý bệnh viện. Phân tích các mối liên hệ giữa các triệu
chứng bệnh, chẩn đoán và phương pháp điều trị.
• Sản xuất và chế biến: quy trình, phương pháp chế biến và xử lý sự cố.
• Text mining và Web mining: phân lớp văn bản và các trang Web, tóm tắt
văn bản.
• Lĩnh vực khoa hoc: quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,
tìm kiếm, so sánh các hệ gene và thông tin di truyền.
• Mạng viễn thông: phân tích các cuộc gọi điện thoại và hệ thống giám sát
lỗi, sự cố, chất lượng dịch vụ…
GVHD: GS.TSKH Hoàng Kiếm Trang 4

Công nghệ tri thức và ứng dụng
1.3 Các phương pháp khai phá dữ liêu:
Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó phương pháp khai
phá dữ liệu để tìm các mẫu đáng quan tâm theo dạng xác định. Có thể kể ra đây
một vài phương pháp như: sử dụng công cụ truy vấn, xây dựng cây quyết định,
dựa theo khoảng cách (K-láng giềng gần), giá trị trung bình, phát hiện luật kết
hợp…. Các phương pháp trên có thể được phỏng theo và được tích hợp vào các hệ
thống lai để khai phá dữ liệu theo thống kê trong nhiều năm nghiên cứu. Tuy nhiên
với dữ liệu rất lớn trong kho dữ liệu thì các phương pháp này cũng đối diện với
thách thức về mặt hiệu quả và quy mô.
Chương 2. Luật kết hợp trong khai phá dữ liệu
2.1 Khai phá luật kết hợp
Được giới thiệu từ năm 1993, bài toán khai thác luật kết hợp nhận được rất nhiều sự quan
tâm của nhiều nhà khoa học. Ngày nay việc khai thác các luật như thế vẫn là một trong
những phương pháp khai thác mẫu phổ biến nhất trong việc khám phá tri thức và khai
thác dữ liệu.
Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được sử dụng
trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học.
Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêu thị, các nhà
quản lý rất thích có được các thông tin mang tính thống kê như: “90% phụ nữ có xe máy
màu đỏ và đeo đồng hồ Thuỵ Sỹ thì dùng nước hoa hiệu Chanel” hoặc “70% khách hàng
là công nhân khi mua TV thường mua loại TV 21 inches”. Những thông tin như vậy rất
hữu ích trong việc định hướng kinh doanh. Vậy vấn đề đặt ra là liệu có tìm được các luật
như vậy bằng các công cụ khai phá dữ liệu hay không? Câu trả lời là hoàn toàn có thể.
Đó chính là nhiệm vụ khai phá luật kết hợp.
Giả sử chúng ta có một CSDL D. Luật kết hợp cho biết phạm vi mà trong đó sự xuất hiện
của tập các mục S nào đó trong các bản ghi của D sẽ kéo theo sự xuất hiện của một tập
những mục U cũng trong những bản ghi đó. Mỗi luật kết hợp được đặc trưng bởi một cặp
tỉ lệ. Mỗi tỉ lệ hỗ trợ được biểu diễn bằng tỉ lệ % những bản ghi trong D chứa cả S và U.
Vấn đề khám phá luật kết hợp được phát biểu như sau: Cho trước tỉ lệ hỗ trợ θ và độ tin

cậy β. Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ và tin cậy lớn hơn θ và β
tương ứng.
GVHD: GS.TSKH Hoàng Kiếm Trang 5
Công nghệ tri thức và ứng dụng
Giả thiết D là CSDL giao dịch và với θ = 40%, β = 90%. Vấn đề phát hiện luật kết hợp
được thực hiện như sau:
Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ kéo theo một số
mục khác.
Chỉ xét những qui luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%.
Hãy tưởng tượng, một công ty bán hàng qua mạng Internet. Các khách hàng được yêu
cầu điền vào các mẫu bán hàng để công ty có được một CSDL về các yêu cầu của khách
hàng. Giả sử công ty quan tâm đến mối quan hệ "tuổi, giới tính, nghề nghiệp và sản
phẩm". Khi đó có thể có rất nhiều câu hỏi tương ứng với luật trên. Ví dụ trong lứa tuổi
nào thì những khách hàng nữ là công nhân đặt mua mặt hàng gì đó, ví dụ áo dài chẳng
hạn là nhiều nhất, thoả mãn một ngưỡng nào đó.
2.2 Lý thuyết về luật kết hợp:
2.2.1 Định nghĩa luật kết hợp:
• Cho một tập I = {I1, I2, , Im} các tập m mục, một giao dịch T được định nghĩa
như một tập con của các mục trong I (T⊆I).
• Gọi D là CSDL của n giao dịch và mỗi giao dịch được đánh nhãn với một định danh
duy nhất. Nói rằng, một giao dịch T ∈ D hỗ trợ một tập X ⊆ I nếu nó chứa tất cả các
mục của X.
• Kí hiệu support(X) (hoặc sup(X), s(X)) là tỷ lệ phần trăm của các giao dịch hỗ trợ
X trên tổng các giao dịch trong D, nghĩa là:
hay
Độ hỗ trợ tối thiểu minsup là một giá trị cho trước bởi người sử dụng.
• Nếu tập mục X có sup(X) ≥ minsup thì ta nói X là một tập các mục phổ biến.
Một luật kết hợp có dạng R: X => Y, trong đó X, Y là tập các mục, X, Y ⊆ I và X ∩Y
= ∅.
GVHD: GS.TSKH Hoàng Kiếm Trang 6

Công nghệ tri thức và ứng dụng
− X được gọi là tiên đề.
− Y được gọi là hệ quả của luật.
Luật X => Y tồn tại một độ tin cậy confidence (c/conf). Độ tin cậy c được định nghĩa
là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y. Ta có công thức tính độ tin cậy c như
sau:
Ví dụ: cho CSDL bán hàng
1 – có bán sản phẩm
0 – không bán sản phẩm
Khoản mục
Giao dịch
Bánh mì bơ phomat táo Nho
T1 1 1 0 1 0
T2 1 0 1 1 0
T3 0 1 1 1 0
T4 1 0 1 1 1
• Ví dụ: X ={ bánh mi, phomat}
+) Các giao dịch hỗ trợ cho X: T2, T4
+) Các giao dịch không hỗ trợ cho X: T1, T3.
X Supp(X)
Bánh mì, phomat 2/4 =1/2
Bánh mì, táo 3/4
Táo, nho 1/4
Táo 4/4 = 1
GVHD: GS.TSKH Hoàng Kiếm Trang 7
Công nghệ tri thức và ứng dụng
Bơ 2/4 = 1/2
Phomat 3/4
Bo, phomat, bánh mì 0/4 = 0
Tuy nhiên, không phải bất cứ luật kết hợp nào có mặt trong tập các luật có thể được

sinh ra cũng đều có ý nghĩa trên thực tế. Mà các luật đều phải thoả mãn một ngưỡng hỗ
trợ và tin cậy cụ thể.
Khai phá luật kết hợp được phân thành hai bài toán con:
Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu do
người dùng xác định. Các tập mục thoả mãn độ hỗ trợ tối thiểu được gọi là các tập mục
phổ biến.
Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn. Ý tưởng
chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta có thể xác định luật
nếu AB => CD giữ lại với tỷ lệ độ tin cậy:
Nếu conf ≥ minconf thì luật được giữ lại (luật này sẽ thoả mãn độ hỗ trợ tối thiểu vì
ABCD là phổ biến).
2.2.2 Một số tính chất liên quan:
2.2.2.1 Với tập mục phổ biến, có 3 tính chất sau:
Tính chất 1: Độ hỗ trợ của tập con
Với A và B là tập các mục, nếu A ⊆ B thì sup(A) ≥ sup(B)
Điều này là rõ ràng vì tất cả các giao tác của D hỗ trợ B thì cũng hỗ trợ A.
Tính chất 2: Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến.
GVHD: GS.TSKH Hoàng Kiếm Trang 8
Công nghệ tri thức và ứng dụng
Nếu một mục trong B không có độ hỗ trợ tối thiểu trên D nghĩa là sup(B)< minsup
thì một tập con A của B sẽ không phải là một tập phổ biến vì sup(B) ≤ sup(A) < minsup
(theo tính chất 1)
Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến
Nếu mục B là mục phổ biến trên D, nghĩa là sup(B) ≥ minsup thì mọi tập con A của B
là tập phổ biến trên D vì sup(A) ≥ sup(B) > minsup.
2.2.2.2 Với luật kết hợp, có 4 tính chất sau:
Tính chất 1: Không hợp các luật kết hợp
Nếu có X→Z và Y→Z trong D thì không nhất thiết X∪Y→Z là đúng
Xét trường hợp X ∩Z =∅ và các tác vụ trong D hỗ trợ Z nếu và chỉ nếu chúng hỗ trợ
mỗi X hoặc Y, khi đó luật X∪Y→Z có độ hỗ trợ 0%.

Tương tự : X→Y ∧ X→Z ⇒ X→Y∪Z
Tính chất 2: Không tách luật
Nếu X∪Y→Z thì X→Z và Y→Z chưa chắc xảy ra
Ví dụ trường hợp Z có mặt trong một giao tác chỉ khi cả hai X và Y cũng có mặt, tức
là sup(X∪Y)= sup(Z), nếu độ hỗ trợ của X và Y đủ lớn hơn sup(X∪Y), tức là sup(X) >
sup(X∪Y) và sup(Y) > sup(X∪Y) thì hai luật riêng biệt sẽ không đủ độ tin cậy
Tuy nhiên đảo lại: X→Y∪Z ⇒ X→Y ∧ X→Z
Tính chất 3: Các luật kết hợp không có tính bắc cầu
Nếu X→Y và Y→Z, chúng ta không thể suy ra X→Z.
Ví dụ: giả sử T(X) ⊂ T(Y) ⊂ T(Z), ở đó T(X), T(Y), T(Z) tương ứng là các giao dịch
chứa X,Y,Z, và độ tin cậy cực tiểu minconf
GVHD: GS.TSKH Hoàng Kiếm Trang 9
Công nghệ tri thức và ứng dụng
conf(X→Y) =conf(Y→Z)=minconf thế thì: conf(X→Y) =minconf2 < minconf vì
minconf < 1, do đó luật X→Z không đủ độ tin cậy
Tính chất 4:
Nếu A→(L - A) không thoả mãn độ tin cậy cực tiểu thì luật
B →(L -B) cũng không thoả mãn, với các tập mục L,A,B và B ⊆ A ⊂ L
Vì supp(B) ≥ sup(A) (theo tính chất 1) và định nghĩa độ tin cậy, chúng ta nhận được:
Cũng như vậy: Nếu có (L-C)→ C thì ta cũng có luật (L – D)→D, với D⊆C và D≠∅.
Bởi vì D⊆C nên (L - D) ⊇ (L - C), do đó sup(L - D) ≤ sup(L-C)

Chương 3. Thuật toán Apriori - thuật toán phát
hiện luật kết hợp
3.1 Ý tưởng thuật toán Apriori
Apriori là một thuật giải được do Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề
xuất lần đầu vào năm 1993. Thuật toán tìm giao dịch t có độ hỗ trợ và độ tin cậy thoả
mãn lớn hơn một giá trị ngưỡng nào đó.
Thuật toán được tỉa bớt những tập ứng cử viên có tập con không phổ biến trước khi tính
độ hỗ trợ.

Thuật toán Apriori tính tất cả các tập ứng cử của tập k trong một lần duyệt CSDL.
Apriori dựa vào cấu trúc cây băm. Tìm kiếm đi xuống trên cấu trúc cây mỗi khi ta chạm
lá, ta tìm được một tập ứng cử viên có tiền tố chung được bao gồm trong giao dịch. Sau
đó các tập ứng cử này được tìm trong giao dịch đã được ánh xạ trước đó. Trong trường
hợp tìm thấy biến đếm được tăng lên 1.
GVHD: GS.TSKH Hoàng Kiếm Trang 10
Công nghệ tri thức và ứng dụng
Ký hiệu: Giả sử các mục trong mỗi giao dịch được lưu giữ theo trật tự từ điển. Gọi số các
mục trong một tập mục là kích thước của nó và gọi tập mục có kích thước k là tập k-mục
(tập k mục). Các mục trong mỗi tập mục cũng được giữ ở trật tự từ điển. Ta sử dụng các
ký hiệu sau:
L
k
: Tập các tập k-mục phổ biến (với độ hỗ trợ cực tiểu minsup nào đó)
C
k
: Tập các tập k-mục ứng cử (các tập mục phổ biến tiềm năng)
3.2 Nội dung thuật toán Apriori:
Cho cơ sở dữ liệu gồm các giao dịch T là tập các giao dịch t1, t2, …, tn. T = {t1, t2, …,
tn}. T gọi là cơ sở dữ liệu giao dịch (Transaction Database)
Mỗi giao dịch ti bao gồm tập các đối tượng I (gọi là itemset)
I = {i1, i2, …, im}. Một itemset gồm k items gọi là k-itemset
Mục đích của luật kết hợp là tìm ra sự kết hợp (association) hay tương quan
(correlation) giữa các items. Những luật kết hợp này có dạng X =>Y
Trong Basket Analysis, luật kết hợp X =>Y có thể hiểu rằng những người mua các
mặt hàng trong tập X cũng thường mua các mặt hàng trong tập Y. (X và Y gọi là
itemset).
Ví dụ, nếu X = {Apple, Banana} và Y = {Cherry, Durian} và ta có luật kết hợp X
=>Y thì chúng ta có thể nói rằng những người mua Apple và Banana thì cũng thường
mua Cherry và Durian.

Theo quan điểm thống kê, X được xem là biến độc lập (Independent variable) còn
Y được xem là biến phụ thuộc (Dependent variable)
Độ hỗ trợ (Support) và độ tin cây (Confidence) là 2 tham số dùng để đo lường luật kết
hợp.
GVHD: GS.TSKH Hoàng Kiếm Trang 11
Công nghệ tri thức và ứng dụng
Độ hỗ trợ (Support) của luật kết hợp X =>Y là tần suất của giao dịch chứa tất cả các
items trong cả hai tập X và Y. Ví dụ, support của luật X =>Y là 5% có nghĩa là 5% các
giao dịch X và Y được mua cùng nhau.
Công thức để tính support của luật X =>Y như sau:
Trong đó: N là tổng số giao dịch.
Độ tin cậy (Confidence) của luật kết hợp X =>Y là xác suất xảy ra Y khi đã biết X. Ví dụ
độ tin cậy của luật kết hợp {Apple} =>Banana} là 80% có nghĩa là 80% khách hàng mua
Apple cũng mua Banana.
Công thức để tính độ tin cậy của luật kết hợp X =>là xác suất có điều kiện Y khi đã biết
X như sau :
Trong đó: n(X) là số giao dịch chứa X
Để thu được các luật kết hợp, ta thường áp dụng 2 tiêu chí: minimum support (min_sup)
và minimum confidence (min_conf)
Các luật thỏa mãn có support và confidence thỏa mãn (lớn hơn hoặc bằng) cả Minimum
support và Minimum confidence gọi là các luật mạnh (Strong Rle)
Minimum support và Minimum confidence gọi là các giá trị ngưỡng (threshold) và phải
xác định trước khi sinh các luật kết hợp.
Một itemsets mà tần suất xuất hiện của nó >= min_sup goi là frequent itemsets
GVHD: GS.TSKH Hoàng Kiếm Trang 12
Công nghệ tri thức và ứng dụng
Một số loại luật kết hợp
Binary association rules (luật kết hợp nhị phân): Apple => Banana
Quantitative association rules (luật kết hợp định lượng):
weight in [70kg – 90kg] => height in [170cm – 190cm]

Fuzzy association rules (Luật kết hợp mờ): weight in HEAVY => height in TALL
Thuật toán phổ biến nhất tìm các luật kết hợp là Apriori sử dụng Binary association rules.
Thuật toán sinh các luật kết hợp Apriori
Tư tưởng chính của thuật toán Apriori là:
- Tìm tất cả frequent itemsets:
k-itemset (itemsets gồm k items) được dùng để tìm (k+1)- itemset.
Đầu tiên tìm 1-itemset (ký hiệu L
1
). L
1
được dùng để tìm L
2
(2-itemsets). L
2
được dùng
để tìm L
3
(3-itemset) và tiếp tục cho đến khi không có k-itemset được tìm thấy.
Từ frequent itemsets sinh ra các luật kết hợp mạnh (các luật kết hợp thỏa mãn 2 tham
số min_sup và min_conf)
Apriori Algorithm
1. Duyệt (Scan) toàn bộ transaction database để có được support S của 1-itemset, so
sánh S với min_sup, để có được 1-itemset (L
1
)
2. Sử dụng L
k-1
nối (join) L
k-1
để sinh ra candidate k-itemset. Loại bỏ các itemsets

không phải là frequent itemsets thu được k-itemset
GVHD: GS.TSKH Hoàng Kiếm Trang 13
Công nghệ tri thức và ứng dụng
3. Scan transaction database để có được support của mỗi candidate k-itemset, so
sánh S với min_sup để thu được frequent k –itemset (L
k
)
4. Lặp lại từ bước 2 cho đến khi Candidate set (C) trống (không tìm thấy frequent
itemsets)
5. Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I
6. Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy
(Confidence) của nó > =min_conf
Chẳn hạn với I= {A1,A2,A5},các tập con của I:
{A1}, {A2}, {A5}, {A1,A2},{A1,A5},{A2,A5}
sẽ có các luật sau
{A1} => {A2,A5},{A2} =>{A1,A5},{A5} =>{A1,A2}
{A1,A2} =>{A5},{A1,A5} =>{A2},{A2,A5} => {A1}
Ví dụ 1: Giả sử ta có có sở dữ liệu giao dịch (Transaction Database -TDB)
như sau
Với minsup = 50% minconf = 80%.
GVHD: GS.TSKH Hoàng Kiếm Trang 14
Công nghệ tri thức và ứng dụng
Thuật toán Apriori khai phá luật kết hợp được mô tả qua các bước sau:
Ta có frequent itemsets I ={B,C,E}, với min_conf =80% ta có 2 luật kết hợp là {B,C} =>
{E} và {C,E} => {B}
GVHD: GS.TSKH Hoàng Kiếm Trang 15
Công nghệ tri thức và ứng dụng
Ví dụ 2 : Giả sử có cơ sở dữ liệu giao dịch bán hàng gồm 5 giao dịch như sau:

Thuật toán Apriori tìm các luật kết hợp trong giao dịch bán hàng trên như sau:

GVHD: GS.TSKH Hoàng Kiếm Trang 16
Công nghệ tri thức và ứng dụng
Kết quả ta có các luật kết hợp sau (với min_sup= 40%, min_conf=70%)
R1: Beer => Diaper (support =60%, confidence = 75%)
R2: Diaper =>Beer (support =60%,confidence = 75%)
R3: Milk =>Beer (support =40%, confidence = 100%)
R4: Baby Powder => Diaper (support =40%,confidence = 100%)
GVHD: GS.TSKH Hoàng Kiếm Trang 17
Công nghệ tri thức và ứng dụng
Từ kết quả các luật được sinh ra bởi giao dịch bán hàng trên, ta thấy rằng có luật có thể
tin được (hợp lý) như Baby Powder => Diaper, có luật cần phải phân tích thêm như
Milk =>Beer và có luật có vẻ khó tin như Diaper =>Beer.Ví dụ này sinh ra các luật có
thể không thực tế vì dữ liệu dùng để phân tích (transaction database) hay còn gọi là
tranining data rất nhỏ.
Thuật toán Apriori được dùng để phát hiện các luật kết hợp dạng khẳng định (Positive
Rule X=>Y) nhị phân (Binary Association Rules) chứ không thể phát hiện các luật kết
hợp ở dạng phủ định (Negative Association Rule) chẳn hạn như các kết hợp dạng
“Khách hàng mua mặt hàng A thường KHÔNG mua mặt hàng B” hoặc “Nếu ủng hộ
quan điểm A thường KHÔNG ủng hộ quan điểm B”. Khai phá các luật kết hợp dạng phủ
định (Mining Negative Association Rules) có phạm vi ứng dụng rất rộng và thú vị nhất là
trong Marketing, Health Care và Social Network Analysis.
GVHD: GS.TSKH Hoàng Kiếm Trang 18
Công nghệ tri thức và ứng dụng
Chương 4. Cài đặt ứng dụng tìm luật kết hợp
4.1 Môi trường cài đặt ứng dụng:
• Hệ điều hành: Window XP, Vista, Win 7
• Ngôn ngữ lập trình: Microsoft Visual Studio 2010
4.2 Cài đặt thử nghiệm
• Giao diện chương trình:
GVHD: GS.TSKH Hoàng Kiếm Trang 19

Công nghệ tri thức và ứng dụng
• Giao diện chương trình khi sửa Transaction (nhấn nút Edit Transaction)
Chọn lại các item cho Transaction đó rồi nhấn End Edit
GVHD: GS.TSKH Hoàng Kiếm Trang 20
Công nghệ tri thức và ứng dụng
• Giao diện output:
GVHD: GS.TSKH Hoàng Kiếm Trang 21
Công nghệ tri thức và ứng dụng
4.3 Kết luận:
Trong quá trình thực hiện bài thu hoạch, tôi đã cố gắng tập trung tìm hiểu và tham
khảo các tài liệu liên quan. Tuy nhiên, với thời gian và trình độ có hạn nên không tránh
khỏi những hạn chế và thiếu sót. Tôi rất mong được sự nhận xét và góp ý của các thầy cô
giáo và bạn bè để hoàn thiện hơn các kết quả nghiên cứu của mình.
4.4 Tài liệu tham khảo:
1. Bài giảng Công Nghệ Tri Thức và Ứng Dụng. Tác giả: GS.TSKH Hoàng Kiến
2. Hoàng Kiếm - Đỗ Phúc (2005), Giáo trình khai phá dữ liệu, Trung tâm nghiên cứu
phát triển công nghệ thông tin, Đại học Quốc gia thành phố Hồ Chí Minh.
3. Đỗ Phúc, Chuyên đề Khai phá dữ liệu và Nhà kho dữ liệu, Tài liệu giảng dạy lớp
Cao học CNTTQM, Đại học Quốc gia Tp.HCM, 2004.
4. Một số trang web như: ,
GVHD: GS.TSKH Hoàng Kiếm Trang 22

×