Thuật toán FP_Growth

Một phần của tài liệu khai phá dữ liệu bằng luật kết hợp (Trang 50 - 66)

Pocedure FP_Growth (Tree, α)

If cây FP chứa 1 path P then

For mỗi tổ hợp β của nốt trên P

Tạo mẫu β∪α với Supp = Suppmin (các nốt trong β);

Else for mỗi αi trên header của cây

Tạo mẫu β= αi ∪α với supp = αi . Supp ;

Thiết lập β’s Conditional Pattern base and β’s Conditional FP-Tree Tree β

If Tree β≠∅, gọi FP_Growth (Tree β, β).

* Kết luật chương II:

Qua chương II chúng ta biết được việc áp dụng các thuật toán vào các lĩnh vực của đời sống xã hội, nó có vai trò rất quan trọng trong việc xây dựng những hệ hỗ trợ ra quyết định. Khai phá luật kết hợp là một hướng đi đang được hoàn thiện. Để có thể áp dụng luật kết hợp trước tiên ta phải tiến hành mã hoá cơ sở dữ liệu hiện có, đây là một bước quan trọng, quyết định có thể sinh luật kết hợp tốt hay không.

Thuật toán Apriori tìm tập mục phổ biến theo hướng sinh ứng cử.

Thuật toán FP_Growth tìm tập mục phổ biến theo hướng không sinh ứng cử. Trên cơ sở là tập phổ biến tìm được ta áp dụng thuật toán khai phá luật kết hợp để sinh ra tập luật kết hợp đáng tin.

{} f:3 c:3 a:3

m-Conditional FP-Tree

Tất cả mẫu phổ biến liên quan đến m m, fm, cm, am, fcm, fam, cam, fcam 

Chương III: CÀI ĐẶT VÀ THỬ NGHIỆM THUẬT TOÁN TÌM TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP 3.1. Phát biểu bài toán.

Với sự phát triển của nền kinh tế hiện nay, thì việc kinh doanh đang là vấn đề được rất nhiều người quan tâm. Xã hội càng phát triển thì trình độ con ngươi ngày càng được nâng cao. Vì vậy phát triển giáo dục đang là vấn đề mà xã hội rất quan tâm, lên việc kinh doanh các tài liệu về sách giáo khoa, sách tham khảo, đồ dùng học tập,..đang là một hướng đi đúng. Nhưng để kinh doanh tốt thì người kinh doanh phải biết quán lý nó như thế nào cho đúng và hợp lý nhất.

Từ những điều đó thiết nghĩa phải có một phần mềm quản lý bán sách, để hỗ trợ cho người quản lý trong việc lựa chọn các đầu sách để bán. Ví dụ khi bán sách giáo khoa thì bán kèm thêm sách tham khảo và đồ dùng học tập gì? Chúng có liên quan tới nhau như thế nào?

Luật kết hợp cho ta biết việc lựa chọn các loại sách gì để bán, giúp người quản lý đưa ra quyết định nhanh, chính xác và hiệu quả nhất.

3.2. Lựa chọn thuật toán để cài đặt phần mềm.

Có rất nhiều thuật toán để đưa ra việc lựa chọn các đầu sách trong việc quán lý bán sách, nhưng chúng em lựa chọn thuật toán Apriori để cài đặt.

Mục đích của thuật toán này là đưa ra các luật kết hợp trong việc lựa chọn các đầu sách để bán. Ví dụ khi bán sách Toán thì bán kèm thêm sách Lý, Hoá.

3.3. Yêu cầu khi cài đặt thuật toán.

- Về máy tính:

+ Cấu hình tối thiểu Ram 256. + Ổ cứng 2G còn trống.

+ CPU P4 1.7Ghz - Về phần mềm:

+ Cài đặt Visual Studio 2005 + DOT.NET 2.0.

3.4. Cơ sở dữ liệu.

3.4.1. Giao diện chính của cơ sở dữ liệu.

Hình 3.1. Giao diện chính của cơ sở dữ liệu

Mô tả một số chức năng trong giao diện:

+ Hệ Thống: Có chức năng thoát khỏi chương trình.

+ DM khách hàng: Có chức năng thêm, lưu, sửa, xóa dữ liệu cho khách hàng. + DM hàng: : Có chức năng thêm, lưu, sửa, xóa dữ liệu cho hàng hóa.

+ DM hóa đơn: : Có chức năng thêm, lưu, sửa, xóa dữ liệu cho hóa đơn. + DM Nhà CC: : Có chức năng thêm, lưu, sửa, xóa dữ liệu cho nhà cung cấp. + Apriori: Có chức năng ghi dữ liệu vào file XML.

3.4.2. Bảng danh mục các Nhà cung cấp hàng hóa.

Cấu trúc và dữ liệu của bảng như sau:

Hình 3.2. Danh mục nhà cung cấp

Một số thuộc tính của bảng là:

+ MaNCC: Mã nhà cung cấp hàng hóa. + TenNCC: Tên nhà cung cấp hàng hóa. + DiaChi: Địa chỉ của nhà cung cấp hàng hóa. + DienThoai: Điện thoại của nhà cung cấp.

+ MaSoThue: Mã số thuế nhà cung cấp hang hóa. + Email: Email cua nhà cung cấp

3.4.3. Bảng danh mục các Hàng Hoá.

Cấu trúc và dữ liệu của bảng hàng hoá như sau:

Hình 3.3. Danh mục hàng hóa

Một số thuộc tính của bảng là: + MaH: Mã hàng hoá.

+ MaNCC: Mã nhà cung cấp hàng hoá. + TenHang: Tên hàng hoá.

+ MoTa: Mô tả hàng hóa.

3.4.4. Bảng danh mục các Khách Hàng.

Cầu trúc và dữ liệu bảng khách hàng như sau:

Hinh 3.4.Danh mục khách hàng

Một số thuộc tính của bảng là: + MaKH: Mã khách hàng. + TenKH: Tên khách hàng.

+ SoCMND: Số chứng minh nhân dân. + DiaChi: Địa chỉ khách hàng.

+ DienThoai: Điện thoại khách hàng. + Email: Email của khách hàng

3.4.5. Bảng danh mục các Hoá Đơn.

Cấu trúc và dữ liệu của bảng hóa đơm như sau:

Hình 3.5. Danh mục hóa đơn

Một số thuộc tính của bảng là: + MaHD: Mã hoá đơn.

+ MaKH: Mã khách hàng. + NgayHD: Ngày nhập hoá đơn. + Ghichu: Ghi chú hóa đơn.

3.4.6. Bảng danh mục chi tiết Hoá Đơn.

Cấu trúc và dữ liệu của bảng chi tiết hóa đơm như sau:

Hình 3.6. Danh mục chi tiết hóa đơn

Một số thuộc tính của bảng là: + MaHD: Mã hoá đơn.

+ MaH: Mã hàng hóa.

3.4.7. Ghi XML.

Hình 3.7. Ghi XML 3.5. Giao diện chính chương trình.

3.6. Kết nối dữ liệu.

Hình 3.9. Kết nối dữ liệu 3.7. Thêm dư liệu Xml

3.8. Kết quả phân tích

Hình 3.11. Kết quả phân tích 3.9. Kết quả lọc MinSup = 10

3.10. Kết quả lọc MinCon = 40%

Hình 3.13. Kết quả lọc độ tin cậy

* Kết luận chuơng III:

Cài đặt bằng thuật toán Apriori áp dụng trong quản lý bán hàng tại thị siêu. Dựa vào kết quả này mà người quản lý biết được những nhóm mặt hàng nào liên quan tới nhau, phục vụ cho mục đích quản lý và lựa chọn các mặt hàng để kinh doanh.

KẾT LUẬN CHUNG

Trong quá trình hoàn thành đồ án này, dù đã đạt được những kiến thức nhất định, nhưng chúng em nhận thấy Khai phá dữ liệu nói chung và khai phá luật kết hợp nói riêng là một lĩnh vực nghiên cứu rộng lớn, nhiều triển vọng. Đề tài đã trình bày được các vấn đề cơ bản về khai phá dữ liệu: Tầm quan trọng của KPDL, các hướng tiếp cận khai phá dữ liệu và các kỹ thuật khai phá dữ liệu. Khai phá dữ liệu sử dụng luật kết hợp và một số thuật toán tìm tập mục thường xuyên theo hướng sinh ứng cử và không sinh ứng cử. Phần cài đặt chương trình đã cài đặt được thuật toán khai phá dữ liệu Apriori.

Tuy nhiên, do những hạn chế về tài liệu và thời gian nên chưa hoàn thành được việc cài đặt thuật toán khai phá luật kết hợp, trong thời gian tiếp theo chúng em sẽ cố gằng hoàn thành phần cài đặt này để đề tài được hoàn thiện hơn.

Chương I: Đã trình bày tổng quan về khai phá dữ liệu (Data Minning); Các loại tri thức tiềm ẩn trong cơ sở dữ liệu, các kỹ thuật khai thác dữ liệu.

Chương II: Đã trình bày tổng quan về khai thác luật kết hợp, nêu ra những khái niệm, định nghĩa, tính chất của tập mục và luật kết hợp, cách xác định độ hỗ trợ của tập mục và luật, độ tin cậy của luật.

Đưa ra các mô hình bài toán khai thác luật kết hợp, nó là tiền để để các thuật toán dựa vào đó phát triển và có những đánh giá so sánh giữa các thuật toán.

Chương II: Cũng trình bày về các thuật toán khai thác luật kết hợp, thuật toán nổi tiếng là Apriori, thuật toán tìm luật kết hợp không phát sinh ứng viên dựa vào cấu trúc cây FP- Tree,…

Chương III: Trình bày về cách cài đặt chương trình khai thác luật kết hợp trong việc quản lý bán hàng tại thị siêu. Dựa vào kết quả này mà người quản lý nắm bắt được những nhóm mặt hàng nào liên quan tới nhau, phục vụ cho mục đích quản lý, lựa chọn các mặt hàng để kinh doanh.

HƯỚNG PHÁT TRIỂN ĐỀ TÀI

Một trong những công việc quan trọng của khai phá luật kết hợp là tìm tất cả các tập phổ biến trong cơ sở dữ liệu, nên trong thời gian tới chúng em sẽ phát triển đề tài rộng ra theo hướng: Ứng dụng thuật toán song song áp dụng cho bài toán khai phá luật kết hợp mờ, là luật kết hợp trong các tập thuộc tính mờ.

Thuật toán song song chia đều cơ sở dữ liệu và tập ứng viên cho các bộ vi sử lý, và các tập ứng viên sau khi chia cho từng bộ xử lý là hoàn toàn độc lập với nhau mục đich cải thiện chi phí tìm luật kết hợp mờ và thời gian mã hoá dữ liệu.

Do nhược điểm của thuật toán Apriori là nếu dữ liệu lớn thì sự phân tích sẽ mất rất nhiều thời gian vì vậy để khắc phục được nhược điểm đó thì chúng ta cần sử dụng thêm một số thuật toán khác ví dụ như thuật toán FP_Growth, thuật toán song song,..

Tiếp tục hoàn thiện hệ thống Quản lý bán hàng tại siêu thị và có thể ứng dụng thêm vào các lĩnh vực khác như bán hàng tại các siêu thị, bán máy tính,..

Khi mà lượng dữ liệu thu thập và lưu trữ ngày càng tăng, cùng với nhu cầu nắm bắt thông tin, thì nhiệm vụ đặt ra cho Khai phá dữ liệu ngày càng quan trọng. Sự áp dụng được vào nhiểu lĩnh vực kinh tế xã hội, an ninh quốc phòng cũng là một ưu thế của khai phá dữ liệu. Với những mong muốn đó chúng em hy vọng sẽ dần đưa những kiến thức đã có từ đề tài này sớm trở thành thực tế, phục vụ cho cuộc sống con người chúng ta.

TÀI LIỆU THAM KHẢO

[1]. R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, and A. I.Verkamo. Fast discovery of association rules. In Advances in Knowledge Discovery and Data Mining, pages 307–328,1996.

[2]. R. Agrawal and R. Srikant. Fast algorithms for mining associationrules. The International Conference on Very LargeDatabases, pages 487–499, 1994.

[3]. R. Agrawal and R. Srikant. Mining sequential patterns. InP. S. Yu and A. L. P. Chen, editors, Proc. 11th Int. Conf. DataEngineering, ICDE, pages 3–14. IEEE Press, 6–10 1995.

[4]. N. F.Ayan, A. U. Tansel, and M. E. Arkun. An efficient algorithm to update large itemsets with early pruning. In KnowledgeDiscovery and Data Mining, pages 287–291, 1999.

[5].TS Đỗ Phúc, Khai thác dữ liệu, Nhà xuất bản Đại Học Quốc Gia TP HCM 2005. [6].Phạm Hữu Khang, Kỹ thuật lập trình C#.Net, Nhà xuất bản Lao Động- Xã Hội. [7].Từng bước học lập trình Visual C#.Net, Nhà xuất bản Lao Động- Xã Hội.

[8]. Giáo trình trí tuệ nhân tạo - cầu trúc dữ liệu - giải thuật di truyền, Nhà xuất bản Lao Động- Xã Hội.

[9]. http://www.cs.uh.edu/~ceick/6340/grue-assoc.pdf, truy cập cuối cùng ngày

20/03/2009.

[10].http://www.vnulib.edu.vn:8000/dspace/bitstream/123456789/1811/1/sedev020

6-03.pdf, truy cập cuối cùng ngày 22/03/2009.

[11].http://gralib.hcmuns.edu.vn/gsdl/collect/hnkhbk/index/assoc/HASH0107.dir/do

c.pdf, truy cập cuối cùng ngày 20-03-2009.

[12].http://www.tapchibcvt.gov.vn/News/PrintView.aspx?ID=15671, truy cập cuối

cùng ngày 22-03-2009.

[13].http://www.uit.edu.vn/forum/index.php?act=Attach&type=post&id=50641,

BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT - ANH

Tiếng Anh Tiếng Việt

Data Mining Khai phá dữ liệu

Data Dữ liệu

Knowledge Discovery in Database-KDD Phát hiện tri thức trong cơ sở dữ liệu

Target Mục đích, mục tiêu.

Clearsed Preprocessed Prepadated Làm sạch - Tiền xử lý - Chuẩn bị trước

Transform Chuyển đổi

Pattern Discovery Khám phá mô hình

Knowlege Tri thức

Clustering Phân cụm

Summerization Tóm tắt

Visualiztion Trực quan hoá

Evolution and deviation analyst Phân tích sự phát triển và độ lệch

Association rules Phân tích luật kết hợp

Classification Phân lớp

Regression Hồi quy

Clustering Gom nhóm

Summarization Tổng hợp

Dependency modeling Mô hình ràng buộc

Change and Deviation Dectection Dò tìm biến đổi và độ lệch

Hồi qui Regression

Cross validation Đánh giá chéo

Support Phổ biến

Minimum Support Độ phổ biến tối thiểu

Confidence Độ tin cây

Minimum Confidence Độ tin cây tối thiểu

Itemset Hạng mục

Procedure Thủ tục

Code Mã, cốt

Input Đầu vào

Transasction Giao dịch

Transaction Identification Giao dịch định danh

Frenquent-Itemset Tập mục phổ biến

Frequent Patern Mô hình phổ biến

Conditional Pattern Bases Cơ sở mẫu điều kiện

Conditional FP tree Cây FP điều kiện

Một phần của tài liệu khai phá dữ liệu bằng luật kết hợp (Trang 50 - 66)

w