Tải bản đầy đủ
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM

Tải bản đầy đủ

64

gian ví dụ: vào mùa hè thì các sản phẩm như nước uống, quạt, điều hòa sẽ
tăng.
3.2. Xây dựng chương trình
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, em quan tâm đến các dữ liệu thuộc CSDL bán
hàng trong siêu thị với hơn một nghìn giao dịch diễn ra trong vòng một năm.
Sử dụng thuật toán ITARM tìm ra sự kết hợp giữa các mặt hàng khác nhau
trong các giao dịch của khách hàng khi đến siêu thị trong một khoảng thời
gian nào đó. Ví dụ như: vào mùa đông nếu khách hàng mua mũ len vào ngày
thứ nhất thì sẽ mua áo len vào ngày sau đó, hay như vào mùa hè nếu khách
hàng mua quạt vào ngày đầu tiên thì sẽ mua điều hoà vào hai ngày sau đó…
Đầu vào của chương trình là: cơ sở dữ liệu bán hàng trong vòng một
năm. Đầu ra là các luật kết hợp có dạng: X → Y thoả mãn:
- Độ hỗ trợ và độ tin cậy của luật phải lớn hơn bằng độ hỗ trợ và
độ tin cậy tối thiểu.
- Sự kiện X phải xảy ra trước sự kiện Y.
Chương trình xây dựng trên Visual Studio, CSDL sau giai đoạn tiền xử
lý được lưu trữ trong SQL Server. Cơ sở dữ liệu của bài toán: Bảng Cơ sở dữ
liệu bán hàng có cấu trúc như sau:
+ Id: mã của giao dịch
+ Item: các khoản mục trong giao dịch
+ Time: thời gian giao dịch xảy ra

65

Hình 3.1. Bảng cơ sở dữ liệu
Chương trình gồm hai phần chính như sau:
Phần 1: Tab “Tập phổ biến” sử dụng thuật toán CFPmine khai
thác cây CFPTree để tìm ra các tập phổ biến trong các giao dịch của cơ sở dữ
liệu.
Phần 2: Tab “Luật kết hợp” sử dụng thuật toán ITARM khai thác
dữ liệu chuỗi thời gian dựa trên thuật toán CFPmine. Kết quả của phần này là
các luật kết hợp được đưa ra trong một khoảng thời gian nào đó.
Chương trình có giao diện như sau:

66

Hình 3.2. Giao diện chính của chương trình
Trong Tab “Tập phổ biến” khi ta chọn vào nút “Chọn CSDL” thì CSDL
đã được tạo ra trong SQL Server sẽ được tải lên như sau:

Hình 3.3. Thực hiện chọn CSDL

67

Trong Tab này ta còn có thể xóa dữ liệu đã chọn bằng nút “Xóa
CSDL”. Khi thực hiện thao tác xóa thì dữ liệu đã được thêm vào trong form
qua lệnh “Chọn CSDL” sẽ được xóa hết. Khi đó tab “Tập phổ biến” sẽ như
sau:

Hình 3.4. Thực hiện xóa CSDL
Sau khi ta đã chọn CSDL thì ta có thể tiến hành tìm các tập phổ biến
của cơ sở dữ liệu đưa vào. Ta nhập giá trị độ hỗ trợ tối thiểu, sau đó ta nhấp
chuột vào nút “Tìm tập phổ biến”. Khi đó, chương trình chạy sẽ cho ra kết
quả là các tập phổ biến của cơ sở dữ liệu vừa thêm vào.

68

Hình 3.5. Tìm tập phổ biến dựa trên thuật toán CFPmine
Bên cạnh đó, khi ta muốn thực hiện lại thuật toán tìm tập phổ biến với
độ hỗ trợ tối thiểu khác thì ta có thể nhấp chuột vào nút “Reset”. Khi đó, ta có
thể thực hiện lại thuật toán với độ hỗ trợ tối thiểu khác.

69

Hình 3.6. Thực hiện lệnh Reset
Phần tiếp theo của chương trình là tìm luật kết hợp theo thuật toán
ITARM. Trong Tab “Luật kết hợp” sử dụng thuật toán ITARM để tìm ra các
luật kết hợp dạng như sau: Nếu mua sản phẩm A vào ngày thứ nhất thì sẽ mua
sản phẩm B vào ngày hôm sau. Trong chương trình này khoảng thời gian đó
là ba tháng (tương ứng với một mùa trong năm). Để thực hiện chương trình,
ta tiến hành chọn cơ sở dữ liệu bằng nút “Chọn CSDL”.

70

Hình 3.7. Chọn dữ liệu cho thuật toán tìm luật kết hợp
Và khi muốn xóa dữ liệu thì ta có thể thực hiện bằng cách nhấp chuột
vào nút “Xóa CSDL” thì cơ sở dữ liệu vừa chọn sẽ bị xóa khỏi.

Hình 3.8. Thực hiện xóa cơ sở dữ liệu

71

Tiếp theo, ta tiến hành nhập giá trị của độ hỗ trợ tối thiểu và độ tin cậy
tối thiểu. Cuối cùng khi ta nhấp chuột vào nút “Luật kết hợp” thì kết quả sẽ
hiển thị ra các khoản mục thường xuyên và các luật kết hợp trong khoảng thời
gian nào đó. Trong đó các luật kết hợp sẽ có dạng như sau:
Mũ len(04) → Áo len(05) : tức là nếu mua mũ len vào ngày 04 thì sẽ
mua áo len vào ngày 05.
Bia(13) → Gà quay(21), Thịt xông khói(26): tức là mua Bia vào ngày
13 thì sẽ mua Gà quay và Thịt xông khói vào các ngày tiếp theo (ngày 21,
ngày 26 )

Hình 3.9. Thực hiện luật kết hợp

72

Trong phần này ta cũng có thể tìm luật kết hợp với độ hỗ trợ tối thiểu
và dộ tin cậy tối thiểu khác bằng cách nhấp chuột vào nút “Reset” thì kết quả
sẽ như hình sau:

Hình 3.10. Thực hiện lệnh Reset

73

KẾT LUẬN
Có thể nói rằng, khai phá dữ liệu là một trong những kỹ thuật quan
trọng, mang tính thời sự không chỉ đối với Việt Nam mà còn của cả nền
công nghệ thông tin thế giới hiện nay. Khai phá dữ liệu đang được áp dụng
một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau:
marketing, tài chính, ngân hàng và bảo hiểm, khoa học, y tế, an ninh,
internet… Rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật
khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu
được những lợi ích to lớn. Một trong những phương pháp quan trọng và cơ
bản nhất của kỹ thuật khai phá dữ liệu mà đề tài đi sâu tìm hiểu là khai phá
luật kết hợp từ dữ liệu chuỗi thời gian. Mục tiêu của phương pháp này là phát
hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu.
Luận văn đã giới thiệu tổng quát về khai phá dữ liệu, dữ liệu chuỗi thời gian.
Ngoài ra luận văn còn đề cập đến phương pháp khai phá luật kết hợp từ dữ
liệu chuỗi thời gian được ứng dụng trong nhiều lĩnh vực thực tế hiện nay. Cụ
thể là thuật toán ITARM khai phá luật kết hợp dựa trên cây CFPTree. Kết quả
thực nghiệm cho thấy thuật toán trên đã mang lại kết quả chính xác.
Hướng phát triển của luận văn
Trong thời gian tới em sẽ tiếp tục hoàn thiện chương trình và có thể
ứng dụng thêm vào trong các lĩnh vực khác như y tế, ngân hàng.
Ngoài ra, em sẽ tiếp tục tìm hiểu thêm một số kỹ thuật khai phá dữ
liệu khác và đặc biệt là một số thuật toán khai phá dữ liệu từ chuỗi thời gian
khác, hay là tìm hiểu các thuật toán tối ưu hơn để khai phá dữ liệu đạt được
hiệu quả nhất. Từ đó ứng dụng các thuật toán đó vào một số bài toán thực tế.

74

TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Ngô Quốc Tạo(2011), Bài giảng môn Data Mining, Lớp CK09D- ĐH
Thái Nguyên.
2. Hoàng Kiếm, Đỗ Phúc(2005), Giáo trình khai phá dữ liệu, Đại học
Quốc gia thành phố Hồ Chí Minh.
Tiếng Anh
3. Graham Williams, Simeon Simoff(2006), Data Mining: Theory,
Methodology, Techniques, and Applications, Springer.
4. Jiawei Han, Micheline Kamber(2001), Data Mining: Concepts and
Techniques, Hacours Science and Technology Company.
5. David Hand, Heikki Mannila, Padhraic Smyth(2001), Principles of
Data Mining, MIT Press.
6. A.K. Jain, R.C. Dubes(1988), Algorithms for clustering data, Prentice
Hall.
7. Y.G.Sucahyo and R.P.Gopalan(2004),“CT-PRO:A Bottom–Up Non
Recursive Frequent Itemset Mining Algorithm Using Compressed FP-Tree
Data Structure”, Proceedings of the IEEE ICDM Workshop on Frequent
Itemset Mining Implementations.
8. Mark Last, Yaron Klein, Abraham Kandel(2001), “Knowledge
Discovery in Time Series Databases ", IEEE Transactions on systems, man,
and cybernetichs-part B: Cybernetics, pp.160-169.
9. L.Qin, Z. Shi(2006), “Efficiently Mining Association Rules from Time
Series”, International Journal of Information Technology, pp.30-37.
10.Y.G.Sucahyo and R.P.Gopalan(2003),“CT-ITL: Efficient Frequent
Item Set Mining Using a Compressed Prefix Tree with Pattern Growth”,
Proceedings of 14th Australasian Database Conference, pp.95-104.