Giáo viên hướng dẫn:PGS.TS. Đỗ Văn NhơnHọc viên
thực hiện:Vũ Xuân VinhMã số học
viên:CH1301117Lớp:Cao học khóa 8
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
LỜI
MỞ
ĐẦU
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị
điện tử không ngừng tăng lên. Sự tích lũy dữ liệu này xảy ra với một tốc độ chóng mặt.
Trang 1
Tháng 10, 2014
THUẬT TOÁN APRIORI VÀ ÁP DỤNG TÌM LUẬT KẾT HỢP
TRONG CƠ SỞ DỮ LIỆU SIÊU THỊ
BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT
VẤN ĐỀ
ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và
theo đó số lượng cũng như kích cỡ của các cơ sở dữ liệu cũng tăng lên một cách nhanh
chóng. Nhu cầu được đặt ra là liệu chúng ta có thể khai thác được gì từ lượng dữ liệu
khổng lồ và tưởng chừng như vô nghĩa đó? Phương pháp khai phá dữ liệu (data mining)
ra đời như là một hướng giải pháp hữu hiệu cho câu hỏi trên.
Khai phá dữ liệu bao gồm rất nhiều những kỹ thuật phân tích dữ liệu bên trong như:
luật kết hợp, phân loại dữ liệu, gom nhóm dữ liệu, lập mô hình, dự báo…nhưng quan
trọng nhất vẫn là phương pháp tìm luật kết hợp để tạo ra các tri thức hữu dụng. Ví dụ
như chúng ta có thể dự đoán được những sản phẩm nào sẽ được mua cùng nhau trong
một thời gian cụ thể đối với hệ thống siêu thị hay dự đoán thị trường đối với lĩnh vực
2.1.2 Quá trình khám phá tri thức trong CSDL 6
2.1.3 Các kỹ thuật khai phá dữ liệu 7
2.2 Luật kết hợp trong khai phá dữ liệu 10
2.2.1 Khai phá luật kết hợp 10
2.2.2 Lý thuyết về luật kết hợp 11
2.3 Thuật toán tìm luật kết hợp Apriori 16
2.3.1 Mô tả thuật toán: 16
2.3.4 Ưu điểm và khuyết điểm của thuật toán Apriori: 19
3.3.5 Cải tiến thuật toán: 19
3.1 Phát biểu bài toán: 23
3.2 Phân tích bài toán 24
3.3 Các bảng cơ sở dữ liệu 25
3.4 Giao diện chương trình 27
TÀI LIỆU THAM KHẢO 30
CHƯƠNG 1 TỔNG QUAN
1.1Giới thiệ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 những kỹ thuật khai
thác cũ như SQL dường như đã không còn phù hợp nữa, nó dần nhường chỗ cho những
kỹ thuật tiên tiến hơn mà cụ thể là khai phá dữ liệu (data mining). Khai phá dữ liệu đã trở
thành một trong những lĩnh vực chính được các nhà khoa học quan tâm nghiên cứu bởi
khả năng áp dụng cao trong thực tiễn cuộc sống. Nó được áp dụng rộng rãi trong nhiều
Trang 4
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
lĩnh vực như: tài chính, thị trường chứng khoán, thương mại, giáo dục, y tế… với nhiều
hướng tiếp cận như: phân lớp/ dự đoán, phân cụm, tìm luật kết hợp …
Trong phạm vi tiểu luận này, em xin trình bày vấn đề tìm luật kết hợp trong cơ sở dữ
liệu siêu thị dựa trên thuật toán Apriori, cách đánh giá và cải thiện cho thuật toán này
cũng như thiết kế và cài đặt một ứng dụng nhỏ để biểu diễn cho thuật toán.
Quá trình KDD là quá trình gồm nhiều giai đoạn và lặp đi lặp lại, mà trong đó sự lặp lại
có thể xuất hiện ở bất cứ bước nào.
Quá trình đó gồm các bước như sau:
a) Làm sạch dữ liệu (data cleaning): loại bỏ nhiễu hoặc các dữ liệu không thích
hợp.
b) Làm giàu dữ liệu (data enrichment): tích hợp dữ liệu từ các nguồn khác nhau
như: CSDL, Kho dữ liệu, file text
c) Chọn lọc dữ liệu (data selection): chọn những dữ liệu liên quan trực tiếp đến
nhiệm vụ sẽ được thu thập từ các nguồn dữ liệu ban đầu.
d) Chuyển đổi dữ liệu (data transformation): dữ liệu sẽ được chuyển đổi về dạng
phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp.
Trang 6
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
e) Khai phá dữ liệu (data mining): là giai đoạn quan trọng nhất, trong đó các
phương pháp thông minh sẽ được áp dụng để trích xuất ra các mẫu dữ liệu.
f) Đánh giá mẫu (pattern evaluation): đánh giá sự hữu ích của các mẫu biểu diễn tri
thức dựa vào một số phép đo.
g) Biểu diễn dữ liệu (knowlegde presentation): sử dụng các kỹ thuật trình diễn và
trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng.
Hình 1 – Quá trình phát hiện tri thức từ cơ sở dữ liệu(Nguồn: Internet)
2.1.3 Các kỹ thuật khai phá dữ liệu
a) Phương pháp suy diễn và qui nạp: Một cơ sở dữ liệu là một kho thông tin nhưng
các thông tin quan trọng hơn cũng có thể được suy diễn từ kho thông tin đó. Có
hai kỹ thuật chính để thực hiện việc này là suy diễn và quy nạp.
Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông
tin trong cơ sở dữ liệu. Phương pháp suy diễn dựa trên các sự kiện chính xác
để suy ra các tri thức mới từ các thông tin cũ. Mẫu chiết xuất được bằng cách
sử dụng phương pháp này thường là các luật suy diễn.
Trang 7
c) Phương pháp mạng Neural:
Mạng Neuron là tiếp cận tính toán mới liên quan tới việc phát triển cấu trúc toán học
và khả năng học. Các phương pháp là kết quả của việc nghiên cứu mô hình học của hệ
thống thần kinh con người.
Mạng Neuron có thể đưa ra ý nghĩa từ các dữ liệu phức tạp hoặc không chính xác và
có thể được sử dụng để chiết xuất các mẫu và phát hiện ra các xu hướng quá phức tạp mà
Trang 8
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
con người cũng như các kỹ thuật máy tính khác không thể phát hiện được. Khi đề cập đến
khai thác dữ liệu, người ta thường đề cập nhiều đến mạng Neuron. Tuy mạng Neuron có
một số hạn chế gây khó khăn trong việc áp dụng và phát triển nhưng nó cũng có những
ưu điểm đáng kể.
d) Phương pháp tìm luật kết hợp:
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu
trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm
được. Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành
phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B
trong cùng bản ghi đó: A => B.
Việc phát triển một thuật toán phải phát hiện luật này trong cơ sở dữ liệu lớn là không
khó. Tuy nhiên, vấn đề là ở chỗ có thể có rất nhiều luật kiểu này hoặc là ta chỉ biết một
tập nhỏ dữ liệu trong cơ sở dữ liệu lớn thoả mãn tiền đề của luật. Ví dụ chỉ có số ít người
mua sách tiếng anh mà mua thêm đĩa CD. Số lượng các luật kết hợp trong một số cơ sở
dữ liệu lớn gần như vô hạn. Do vậy thuật toán sẽ không thể phát hiện hết các luật và
không phân biệt được luật nào là thông tin thực sự có giá trị và thú vị.
Vậy chúng ta đặt ra câu hỏi là luật kết hợp nào là thực sự có giá trị? Chẳng hạn ta có
luật: Âm nhạc, ngoại ngữ, thể thao => CD, nghĩa là những người mua sách âm nhạc,
ngoại ngữ, thể thao thì cũng mua đĩa CD. Lúc đó ta quan tâm đến số lượng trường hơp
khách hàng thoả mãn luật này trong cơ sở dữ liệu hay độ hỗ trợ cho luật này. Độ hỗ trợ
cho luật chính là phần trăm số bản ghi có cả sách âm nhạc, ngoại ngữ, thể thao và đĩa CD
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.
Trang 10
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
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. 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 quy 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 quy luật mà tỉ lệ
hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%. Ta hình dung rằng, một công ty bán hàng
qua mạng, 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 loại
mặt hàng gì, như là áo dài là nhiều nhất, thỏa mãn một ngưỡng nào đó.
2.2.2 Lý thuyết về luật kết hợp
A. Một số khái niệm cơ bản
nhỏ nhất của độ hỗ trợ gọi là minsupp
Supp(r)=
)(
)(
DCard
YXCard ∪
(%) 0
≤
Supp(r)
≤
1
Với:
Card(X
∪
Y): tập các giao tác trên CSDL có chứa cả vế trái lẫn vế phải.
Card(D): tập tất cả các dòng trên CSDL.
b)Độ tin cậy (Confidence): Độ tin cậy của một luật r = X
⇒
Y là tỉ số phần trăm
của số giao tác trong D chứa X
∪
Y với số giao tác trong D có chứa tập mục X. Kí hiệu
Conf(r).
Conf(r) thể hiện tính chính xác, tính đúng đắn hay khả năng tin cậy của luật trong
phạm vi ảnh hưởng của luật (được xác định bởi Supp(r)). Ngưỡng nhỏ nhất của độ tin cậy
gọi là minconf
Conf(r) =
(%)
)(
)(
Điều này 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.
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ì support(B)
≤
support(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à support (B)
≥
minsup thì mọi tập con A
của B là tập phổ biến trên D vì support(A)
≥
support(B)> minsup.Một số hướng tiếp cận
trong khai phá luật kết hợp
• Các tính chất của luật kết hợp:
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 =
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
→
⊆
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:
conf(B
→
(L-B))=
)sup(
)sup(
B
L
≤
)sup(
)sup(
B
L
< min conf
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
Luật kết hợp tiếp cận theo hướng tập thô: tìm luật kết hợp dựa trên lý thuyết tập thô.
Luật kết hợp nhiều mức : cách tiếp cận theo luật này sẽ tìm kiếm thêm những luật có
dạng “mua máy tính PC mua hệ điều hành AND mua phần mềm tiện ích văn phòng
Microsoft Office”. Như vậy dạng luật đầy là dạng luật tổng quát của dạng luật sau và
tổng quát theo nhiều mức khác nhau.
Luật kết hợp mờ: với những hạn chế còn gặp phải trong quá trình rời rạc hóa các
thuộc tính số, các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các hạn
chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng
một ví dụ của dạng này là: “thuê bao cá nhân = ‘yes’ AND thời gian đàm thoại lớn AND
cước nội tỉnh = ‘yes’ cước không hợp lệ = ‘yes’, với độ hỗ trợ 4% và độ tin cậy 85%”.
Trong luật trên, điều kiện thời gian đàm thoại lớn ở vế trái của luật là một thuộc tính đã
được mờ hóa.
Trang 15
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
Luật kết hợp với thuộc tính được đánh trọng số: trong thực tế, các thuộc tính trong
CSDL không phải lúc nào cũng có vai trò như nhau. Có một số thuộc tính được chú trọng
hơn và có mức độ quan trọng cao hơn các thuộc tính khác. Ví dụ khi khảo sát về doanh
thu hàng tháng, thông tin về thời gian đàm thoại,vùng cước là quan trọng hơn nhiều so
với thông tin về phương thức gọi. Trong quá trình tìm kiếm luật, các trọng số sẽ được gán
cho thời gian gọi, vùng cước các trọng số lớn hơn thuộc tính phương thức gọi. Với luật
kết hợp có thuộc tính được đánh trọng số, chúng ta sẽ khai thác được những luật hiếm
(tức là có độ hỗ trợ thấp, nhưng có ý nghĩa đặt biệt hoặc mang rất nhiều ý nghĩa).
Luật kết hợp song song: bên cạnh khai thác luật kết hợp tuần tự, các nhà làm tin học
cũng tập trung vào nghiên cứu các thuật giải song song cho quá trình phát triển luật kết
hợp. Nhu cầu song song hóa và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày
càng lớn hơn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải
được đảm bảo.
2.3Thuật toán tìm luật kết hợp Apriori
2.3.1 Mô tả thuật toán:
nó.
+ Lk : tập phổ biến với kích cỡ k.
Trang 17
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
Hình 2 – Minh họa các bước chạy thuật toán Apriori.
Qua minh họa khi chạy thuật toán Apriori như trên ta thấy, khi không còn tập mục
phổ biến nào được tìm thấy nữa thì thuật toán dừng lại và tập L3 là tập kết quả nhận
được.
2.3.3 Ứng dụng thực tế thuật toán Apiori vào hệ thống siêu thị:
Đầu tiên thực hiện duyệt tất cả các hóa đơn ta có được các giao tác tương ứng là các
giao tác của thuật toán, biết được tên các mặt hàng, số lượng các mặt hàng, tất cả các tên
mặt hàng này được chuyển đổi thành dạng key – value trong cấu trúc từ điển
(Dictionary<int, string>) cho tiện trong việc tính toán và truy xuất, chẳng hạn, mặt hàng
“Nước ngọt” lưu trong Dictionary sẽ là 1 – “Nước ngọt”…
Ở bước một của thuật toán ta đi tìm tập L1, tập mỗi mặt hàng phải có độ hỗ trợ lớn
hơn hoặc bằng độ hỗ trợ tối thiểu (Minsup) của người dùng nhập vào. các tập mục còn lại
của C
1
là các tập 1-Itemset (L
1
) phổ biến. Sau đó kết nối L
1
với L
1
để được tập các tập 2-
Itemset C
2
. Duyệt CSDL xác định độ hỗ trợ của các tập mục trong C
2
2.3.4 Ưu điểm và khuyết điểm của thuật toán Apriori:
Thuật toán kinh điển Apriori tìm tập mục phổ biến thực hiện tốt bởi rút gọn kích
thước các tập ứng cử nhờ kỹ thuật tỉa. Tuy nhiên, trong tình huống mà số các giao tác
nhiều, hoặc với độ hỗ trợ cực tiểu thấp, các thuật toán Apriori gặp phải 2 vấn đề làm ảnh
hưởng tới tốc độ :
• Vấn đề khi số lượng các tập ứng cử cực lớn. Ví dụ: nếu có 10
4
tập phổ biến
1-itemset thì thuật toán Apriori sẽ phải tạo ra 10
7
các ứng cử 2 – itemset; để
khám phá được một số mẫu phổ biến kích thước 100, chẳng hạn tập
{a
1
,a
2
, ,a
100
} thì nó cần tạo ra 2
100
≈ 10
30
các ứng cử .
• Vấn đề phải truy suất xuống cơ sở dữ liệu nhiều lần để kiểm tra tập rất lớn
các ứng cử thỏa độ hỗ trợ tối thiểu. Số lần duyệt CSDL của thuật toán
Apriori bằng độ dài của mẫu phổ biến dài nhất tìm được. Việc này làm ảnh
hưởng tới hiệu suất máy tính. Thuật toán Apriori chỉ thích hợp cho các
CSDL nhỏ, với các CSDL lớn thì thuật toán thực hiện kém hiệu quả.
3.3.5 Cải tiến thuật toán:
Có thể sử dụng một số thuật toán để cái tiến thuật toán Apriori như thuật toán
t
^
kt
t
kt
^
k-1
^
k
k-k
k-1
^
1
;L Answer
minsup}|c.countC { c L
;t.TID,CCthenφ)(C
c.count
Cc
items};oft.set1])c[k(c
itemsoft.setc[k]|(cC {c C
Centries t
;C
)(L C
); k 2; L( k
;database DC
itemsets} {large 1- L
=
≥∈=
>=<+≠
++
Độ hỗ trợ tối thiểu là 0.75%
Trang 21
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
Hình 3 – Sơ đồ so sánh Apriori và AprioriTid
Kết quả cho thấy ở giai đoạn đầu Apriori hiệu quả hơn AprioriTid về mặt thời gian,
tuy nhiên AprioriTid nhanh hơn Apriori ở những giai đoạn sau. Lý do ở những giai đoạn
sau, thuật toán AprioriTid chỉ cần quét các tập ứng viên
kC
đã cố định trong bộ nhớ do
nó tạo ra; trong khi thuật toán Apriori phải thực hiện lại việc quét xuống cơ sở dữ liệu.
CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH VÀ THỬ NGHIỆM
Xây dựng chương trình tìm luật kết hợp trong kho dữ liệu siêu thị,chương trình đựa
viết trên ngôn ngữ lập trình C#. Về mặt dữ liệu để chạy thử, nhập liệu vào file Excel,
gồm 2 file : Hoadon.xls, file này chưa thông tin về hóa đơn, mỗi dòng trong file này có
thể coi làm một giao dịch của thuật toán, ứng với mỗi dòng này ta sẽ có một hoặc chiều
chi tiết hóa đơn liên quan tới các mặt hàng đã được đặt mua. File ChitietHD.xls, file này
chứa thông tin chi tiết hóa đơn, có mối quan hệ nhiều – một với file.
Trang 22
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
3.1 Phát biểu bài toán:
Siêu thị Big C kinh doanh tất cả các mặt hàng tiêu dùng, sản phẩm công nghiệp và cả
các thiết bị công nghệ cao,… phục vụ nhu cầu đời sống hàng ngày và hoạt động sản xuất
kinh doanh.
Siêu thị có các bộ phận sau:
1. Bộ phận nhập hàng
2. Bộ phận kho hàng
3. Bộ phận hướng dẫn viên
4. Bộ phận thu ngân
• Sức mua sắm của khách hàng theo nghề nghiệp, khu vực dân cư
• Chu kỳ mua sắm theo thời gian như vào các ngày nghỉ, ngày lễ sức mua tăng
hơn bình thường.
• Sự kết hợp của các mặt hàng khác nhau trong cùng một lần mua hàng.
Trên cơ sở đó, các nhà quản lý sẽ có các phương án kế hoạch như tuyển dụng, đào tạo
nhân viên để đáp ứng nhu cầu, phân công công việc hợp lý cho nhân viên, có kế hoạch
cung ứng các loại mặt hàng phù hợp với nhu cầu và sắp xếp hợp lý các mặt hàng có mối
liên kết với nhau…
3.2Phân tích bài toán
Muốn có được các thông tin trên, nhưng do dung lượng quá lớn, nên dùng các phương
pháp thống kê cổ điển thì sẽ không thể kết xuất ra được. Do vậy cần dùng các kỹ thuật
khai phá dữ liệu – sử dụng luật kết hợp.
Trong chương trình, chỉ quan tâm đến các dữ liệu thuộc CSDL bán hàng trong siêu
thị. Sử dụng thuật toán Apriori tìm ra sự kết hợp giữa các mặt hàng khác nhau trong một
giao dịch của khách hàng khi đến siêu thị. Trong đó:
Giai đoạn tiền xử lý: giai đoạn này nhằm thiết lập các đối tượng dữ liệu từ dữ liệu
trong CSDL khách hàng. Dữ liệu được tiền xử lý đưa về dạng text, các thuộc tính được
Trang 24
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
2014
ánh xạ bời các số tự nhiên, nghĩa là đánh số thứ tự các thuộc tính từ 1 đến hết. Tìm tập
mục phổ biến và luật kết hợp dựa trên các số thứ tự này, kết quả được ánh xạ ngược trở
lại lên các mục.
Giai đoạn khai phá: đây là quá trình thực hiện thuật toán Apriori áp dụng đối với dữ
liệu cung cấp sau giai đoạn tiền xử lý.
3.3Các bảng cơ sở dữ liệu
Sơ đồ mối quan hệ giữa các bảng chính :
Hình 4 – Sơ đồ mối quan hệ giữa các bảng.
Tổng quan về sơ đồ mối quan hệ giữa các bảng :
Mối quan hệ giữa bảng khách hàng và hóa đơn là một nhiều, ngược lại bảng hóa đơn