Mô phỏng bài toán: 1 cửa hàng nƣớc giả khát sau 1 thời gian bán hàng, muốn cải tiến phƣơng thức bán hàng để nâng cao thị yếu cho khách, và các mặt hàng có thể bán chạy hơn. Chúng ta sẽ đƣa ra giải pháp: tìm những mặt hàng hay đƣợc bán cùng nhau nhất để nhập hàng; khi bày hàng, hoặc ghi danh sách các món trong hóa đơn thì những mặt hàng hay đƣợc tiêu dùng cùng nhau sẽ đƣợc xếp gần nhau nhằm gợi ý cho khách mua. (nhằm thay thế cho cách gợi ý thông qua giao tiếp truyền thống làm cho khách hàng cảm thấy không thoải mái).
Bảng Item: lƣu lại các món ăn của 1 nhà hàng. Order: lƣu lại các đơn hàng
Order_Item: lƣu lại các món ăn đƣợc gọi theo từng đơn hàng.
3.2.2. Các bước thực hiện
Bƣớc 1: Đƣa cơ sở dữ liệu thực về dạng ma trận nhị phân O(n x m)
Với các hàng tƣơng ứng là các món ăn, các cột là các hóa đơn tƣơng ứng. Nếu hóa đơn j chứa món ăn i thì Oi,j = 1.
Bƣớc 2: Dùng thuật toán C-Miner để tìm ra các tập phổ biến đóng
ngƣời dùng.
Ta so sánh giá trị các hàng và các cột trong tập phổ biến đóng (ở bƣớc 3) với giá trị tƣơng ứng trong mảng item[] và mảng order[] (mảng lƣu lại các giá trị món ăn, và hóa đơn tƣơng ứng với các hàng và các cột) để tìm ra kết quả trả về cho ngƣời dùng.
Từ kết quả này nhà hàng có thể quyết có định hƣớng tốt hơn trong kinh doanh, ví dụ khi ghi thực đơn, gợi ý cho khách khi mua hàng, hoặc xếp trên quầy giới thiệu sản phẩm những mặt hàng hay mua cùng nhau thì xếp gần nhau
Cài đặt thuật toán trong không gian 3 chiều gồm 3 phần:
1, Chia không gian gốc thành các lát cắt. (lấy 1 chiều làm chiều cơ sở để chia, liệt kê tất cả các tập con các phần tử của chiều cơ sở có thể xảy ra, tạo ra các lát cắt đại diện cho các tập con).
2, Dùng thuật toán C-Miner để khai phá các tập phổ biến đóng FCPs trong không gian 2 chiều (lát cắt).
3, Kết hợp giữa các FCP và tập con các phần tử của chiều cơ sở tƣơng ứng ta đƣợc khối có thể là FCC. Dùng bƣớc loại bỏ cuối cùng (Post-pruning) để tìm ra các khối thỏa mãn là khối phổ biến đóng.
Ví dụ: cho cơ sở dữ liệu nhƣ sau. Chúng ta sẽ xem các class trong chƣơng trình cài đặt sẽ cho ra kết quả nhƣ thế nào?
sub_Set có nhiệm vụ liệt các tập con có thể xảy ra thỏa mãn minH, để phục vụ cho việc tạo các dàn.
Kết quả sau khi lớp sub_Set thực hiện:
Bƣớc 2: Kết quả của bƣớc 1 thu đƣợc 4 tập con, suy ra ta có thể tạo ra
4 mặt cắt tƣơng ứng (class Representative_slice_generation.java thực hiện). 4 mặt cắt sẽ lần lƣợt đƣợc tạo ra; các dàn lần lƣợt đƣợc áp dụng thuật toán C- Miner để khai phá tập đóng FCPs. Kết quả FCPs đƣợc lƣu tổng hợp lại, chờ đến bƣớc loại bỏ cuối cùng (post-pruning).
từ 4 mặt cắt, chúng ta có đƣợc 9 FCPs. Tại đây lớp Post_pruning đƣợc thực hiện để loại bỏ những khối không phải là khối đóng. Ta sẽ thu đƣợc các khối FCCs thỏa mãn minH, minR, và minC.
Mô phỏng bài toán: Có 1 chuỗi các cửa hàng bán lẻ, giám đốc cần xác định những mặt hàng đƣợc bán cùng nhau trong các cửa hàng, theo các mùa để đầu tƣ cho phù hợp. Thuật toán tìm khối đóng trong không gian 3 chiều sẽ giúp chúng ta tìm ra lời giải cho bài toán này.
3.4.1. Cơ sở dữ liệu
Item: bảng lƣu các sản phẩm
Address: bảng lƣu địa chỉ các cửa hàng Season: bảng lƣu các mùa trong năm
Address_Item_Season: lƣu các sản phẩm đƣợc bán trong các hóa đơn theo mùa
3.4.2. Các bước thực hiện
Bƣớc 1: Chúng ta phải mã hóa dữ liệu để phù hợp với đầu vào của thuật toán khai phá tập đóng trong không gian 3 chiều RSM. Đấy chính là bƣớc tích hợp dữ liệu, làm sạch dữ liệu, và chuyển đổi dữ liệu cho phù hợp với bộ máy khai phá.
Kết quả sau khi mã hóa cơ sở dữ liệu:
Ma trận sau khi mã hóa cơ sở dữ liệu:
Chúng ta sẽ lấy chiều cao H chính là chiều các mùa làm chiều cơ sở để liệt kê các tập con để tạo ra các lát cắt.
Trong cơ sở dữ liệu thử nghiệm có 11 lát cắt, nhƣng chỉ có 1 lát cắt của subSet chứa h0 và h1 (mùa xuân và mùa hè) tìm đƣợc tập phổ biến đóng.
Sau khi dùng lƣợc bỏ các khối không thỏa mãn là khối đóng (bằng class post-pruning) ta thu đƣợc khối đóng FCC thỏa mãn minH, minR, và minC.
Từ khối khối phổ biến đóng thu đƣợc từ thuật toán khai thác khối phổ biến đóng trong không gian 3 chiều, ta mã hóa ngƣợc trở lại để trả về kết quả có thể hiểu đƣợc cho ngƣời dùng:
Từ kết quả thu đƣợc, các nhà quản lý sẽ có những kế hoạch, chiến lƣợc để tác động lại quá trình kinh doanh. Ví dụ: biết đƣợc thị hiếu khách hàng, nhà kinh doanh sẽ có hƣớng đầu tƣ tốt hơn cho kế hoạch kinh doanh của mình, ngoài ra nhà kinh doanh còn có thể sắp xếp hàng hóa theo 1 thứ tự nào đó, nhằm mục đích gợi ý khéo cho khách hàng mà không cần phải nói bằng lời. Vấn đề này ứng dụng rất tốt trong siêu thị.
Luận văn đã giới thiệu tổng quát về khai phá tri thức và khai phá dữ liệu, các hƣớng tiếp cận chính trong khai phá tri thức. Ngoài ra luận văn còn đề cập đến một số phƣơng pháp khai phá dữ liệu dạng đóng đƣợc ứng dụng trong nhiều lĩnh vực thực tế hiện nay. Cụ thể là thuật toán C-Miner trong khai phá bộ dữ liệu 2 chiều, và Representative Slice Mining (RSM) trong khai phá bộ dữ liệu 3 chiều. Kết quả thực nghiệm cho thấy các thuật toán trên đều mang lại kết quả chính xác và đã tối ƣu đƣợc độ phức tạp thời gian so với các thuật toán khai phá tập phổ biến đóng cơ bản khác
* Vấn đề khó khăn trong quá trình nghiên cứu:
+Tài liệu nghiên cứu về các mẫu gene đồng thể hiện trong y học nên đòi hỏi độ chính xác cao, vì vậy cần có máy móc hiện đại để đo độ chính xác, độ tin cậy, hiệu quả của thuật toán.
+Tài liệu liên quan đến vấn đề đƣợc đề cập đến trong luận văn không nhiều, đa số các tài liệu đòi hỏi phải mua bản quyền.
+Có một số kĩ thuật tác giả có sử dụng để làm modul trong thuật toán, nhƣng không đƣợc miêu tả trong luận văn, ví dụ phần mềm giúp cho việc phân cụm dữ liệu: CLUTO2
software. Làm cho việc nghiên cứu tài liệu gặp khó khăn.
+Trong cài đặt thuật toán hiện thời, do cài đặt kiểu mảng nên gây ra tình trạng dƣ thừa nhiều dữ liệu, lãng phí bộ nhớ.
* Vấn đề đã giải quyết đƣợc:
+ Đã hiểu đƣợc cách thức khai phá dữ liệu.
+ Hiểu đƣợc nội dung luận văn của tiến sĩ Ji Liping, và cài đặt đƣợc thuật toán sử dụng trong luận văn (thuật toán khai phá tập phổ biến đóng FCPs, và khai phá khối phổ biến đóng FCCs).
+Cải tiến thuật toán của tác giả để ứng dụng trong kinh doanh (đã cài đặt đƣợc ứng dụng để minh họa).
* Vấn đề cần khắc phục, và đề xuất:
+Trong cấu trúc dữ liệu cài đặt thuật toán cần chuyển đổi kiểu mảng sang kiểu danh sách.
+Cần có cơ sở dữ liệu thực tế đủ lớn để xác thực tính hiệu quả của thuật toán.
Tiếng Việt
1. Hoàng Kiếm, Lƣơng Hán Cơ (2004), "Các vấn đề liên quan trong bài toán tìm tập phổ biến đóng", Hội Thảo Quốc Gian lần Thứ VII: Một số vấn đề
chọn lọc của Công Nghệ Thông Tin và Truyền Thông, Đà Nẵng
2. Hoàng Kiếm, Lƣơng Hán Cơ (2004), "Sử dụng tập phổ biến đóng trong bài toán tìm luật kết hợp", Hội nghị Khoa học trường Đại học Khoa học Tự nhiên TP. Hồ Chí Minh lần thứ 4.
3. Nguyễn Xuân Huy, Đoàn Văn Ban, Nguyễn Hữu Trọng, (2007) "Phát triển thuật toán khai phá dữ liệu dựa trên bao đóng của tập thuộc tính", Tạp chí
Tin học và Điều khiển học, Viện Khoa học và Công Nghệ Việt Nam, Số 2,
tập 23.
4. Ngô Quốc Tạo (2009), “Bài giảng môn Data Mining” , Lớp CHK8-ĐH Thái Nguyên
5. Nguyễn Hoàng Tú, “Giáo trình khai phá dữ liệu và ứng dụng”.
Tiếng Anh
6. Ji liping - a dissertation submitted for the degree of doctor of philosophy, “Mining localized co-expressed gene patterns from microarray data”.
7. Jiawei Han and Michelin Kamber, “Data Mining concepts and
techniques”, Morgan Kaufmann Publishers.
8. Rakesh, Johannes Gehrke , “Automatic subspace clustering of high
demensional data for data mining application”, IBM Almaden research
Center.
9. Doug Burdick, Manuel Calimlim, Johannes Gehrke , “A maximal frequent Itemset Algorithm for Transactional Databases”.