1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP

36 708 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 1,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được.. Còn khai mỏ

Trang 1

TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI MỎ DỮ LIỆU 3

1 Phát hiện tri thức và khai mỏ dữ liệu 3

2 Quá trình phát hiện tri thức từ cơ sở dữ liệu 4

3 Khai mỏ dữ liệu 7

LUẬT KẾT HỢP TRONG KHAI MỎ DỮ LIỆU 14

1 Khai phá luật kết hợp 14

2 Lý thuyết về luật kết hợp 14

2.1 Khái niệm 14

2.2 Một số tính chất: 15

TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP 17

1 Thuật toán AIS 17

2 Thuật toán SETM 17

3 Thuật toán Apriori 18

3.1 Ý tưởng thuật toán Apriori 18

3.2 Thuật toán Apriori (Pseudo code) 19

4 Thuật toán AprioriTID: 22

4.1 Ý tưởng 22

4.2 Thuật toán AprioriTID (Pseudo code) 22

5 Thuật toán Apriori-Hybrid 24

6 Thuật toán FP-growth 24

KHAI THÁC LUẬT KẾT HỢP TRONG BÀI TOÁN KHÁM VÀ ĐIỀU TRỊ BỆNH NGOẠI TRÚ TẠI PHÒNG KHÁM Y HỌC CỔ TRUYỀN BỆNH VIỆN BÀ RỊA TỈNH BÀ RỊA – VŨNG TÀU 29

1 Cài đặt chương trình: 29

2 Về kỹ thuật: 29

3 Giao diện: 29

4 Cơ sở dữ liệu: 30

5 Giới thiệu source code của chương trình: 32

6 Hướng dẫn sử dụng: 33

KẾT LUẬN 35

TÀI LIỆU THAM KHẢO 36

Trang 2

CÁC TỪ VIẾT TẮC

FP-Growth Frequent parttern tree

FP-tree Frequent pattern tree

IT-tree Itemset-Tidset tree

ICD Phân loại bệnh tật quốc tế (ICD-10)

Minconf Độ tin cậy tối thiểu

TID_List Danh sách định danh của giao tác

We are data rich, but information poor.

“Necessity is the mother of invention” - Plato

Trang 3

CHƯƠNG 1 TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI MỎ DỮ LIỆU

1 Phát hiện tri thức và khai mỏ dữ liệu

Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệu ngày càng phát triển tạo điều kiện cho các đơn vị thu thập dữ liệu tốt hơn Đặc biệt trong lĩnh vực kinh doanh, các doanh nghiệp đã nhận thức được tầm quan trọng của việc nắm bắt và xử lý thông tin, nhằm giúp các chủ doanh nghiệp trong việc vạch ra các chiến lược kinh doanh kịp thời mang lại những lợi nhuận

to lớn cho doanh nghiệp của mình Tất cả lí do đó khiến cho các cơ quan, đơn vị

và các doanh nghiệp đã tạo ra một lượng dữ liệu khổng lồ cỡ Gigabyte thậm chí

là Terabyte cho riêng mình

Khi lưu trữ các dữ liệu khổng lồ như vậy thì chúng ta thấy rằng chắc chắn chúng phải chứa những giá trị nhất định nào đó; Tuy nhiên, theo thống kê thì chỉ

có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có

Với những lý do như vậy, các phương pháp quản trị và khai thác CSDL truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật phát hiện tri thức và khai mỏ dữ liệu (KDD - Knowledge Discovery and Data Mining)

Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các ký hiệu, hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Chúng ta sử dụng các bit để đo lường các thông tin và xem nó như là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu

Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các

sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được hiểu

ra, có thể được phát hiện, hoặc có thể được học

Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích,

và có thể hiểu được Còn khai mỏ dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói một cách khác, mục đích của phát hiện tri thức và khai mỏ dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị tìm ẩn bởi hàng “núi” dữ liệu

Trang 4

Nhiều người coi khai mỏ dữ liệu và khám phá tri thức trong cơ sở dữ liệu

là như nhau Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình phát hiện tri thức trong cơ sở dữ liệu

2 Quá trình phát hiện tri thức từ cơ sở dữ liệu

Quá trình phát hiện tri thức có thể chia thành các bước như sau:

- Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệu không thích hợp

- Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khác nhau

- Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đến nhiệm vụ

- Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạng phù hợp cho việc khai phá

- Khai mỏ dữ liệu (Data mining): Các kỹ thuật được áp dụng để trích xuất thông tin có ích hoặc các mẫu điển hình trong dữ liệu

- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được

- Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức khai phá được cho người sử dụng

5 Đưa kết quả vào thực tiễn

Trang 5

Hình 1 mô tả 5 giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ liệu Mặc dù có 5 giai đoạn như trên xong quá trình khám phá tri thức từ cơ sở

dữ liệu là một quá trình tương tác và lặp di lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước Ngoài ra, giai đoạn sau lại dựa trên kết quả thu được của giai đoạn trước theo kiểu thác nước

Đây là một quá trình biện chứng mang tính chất khoa học của lĩnh vực phát hiện tri thức và là phương pháp luận trong việc xây dựng các hệ thống phát hiện tri thức

2.1 Xác định vấn đề

Đây là một quá trình mang tính định tính với mục đích xác định được lĩnh vực yêu cầu phát hiện tri thức và xây dựng bài toán tổng kết Trong thực tế, các CSDL được chuyên môn hóa và phân chia theo các lĩnh vực khác nhau như sản phẩm, kinh doanh, tài chính, quản lý,… Với mỗi tri thức phát hiện được có thể

có giá trị trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối với một lĩnh vực khác Vì vậy mà việc xác định lĩnh vực và định nghĩa bài toán giúp định hướng cho giai đoạn tiếp theo thu thập và tiền xử lý dữ liệu

2.1.1 Thu thập và tiền xử lý dữ liệu

Cơ sở dữ liệu thu được thường chứa rất nhiều thuộc tính nhưng lại không đầy đủ, không thuần nhất, có nhiều lỗi và các giá trị đặc biệt Vì vậy, giai đoạn thu thập và tiền xử lý dữ liệu trở nên rất quan trọng trong quá trình phát hiện tri thức từ CSDL

Thu thập và tiền xử lý dữ liệu được chia thành các giai đoạn như sau:

a Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan trong

các nguồn dữ liệu, trích rút các dữ liệu cần thiết từ CSDL hoạt động và đưa vào CSDL riêng Do vậy chúng ta chỉ cần chọn những dữ liệu thực sự quan tâm và hữu ích nhằm phục vụ cho các giai đoạn kế tiếp

Ví dụ: CSDL ban đầu được thu thập tại bệnh viện Bà Rịa có rất nhiều bảng, trong quá trình chọn lọc dữ liệu và chúng ta chỉ cần các bảng mà ta muốn Mining

b Làm sạch dữ liệu:Dữ liệu thực tế, đặc biệt dữ liệu lấy từ nhiều nguồn

khác nhau thường không đồng nhất Do đó trước khi khai mỏ dữ liệu chúng ta cần có biện pháp xử làm sạch dữ liệu Các thao tác làm sạch dư liệu như sau:

- Trùng lắp dữ liệu là lỗi khá quan trọng, do đó chúng ta phải xóa bỏ dữ liệu

có thông tin bị trùng lắp do trong quá trình thao tác, thông tin không được cập nhật kịp thời hay bị sai lệch

Trang 6

- Giới hạn vùng giá trị: là lỗi thường xảy ra đó là nằm ngoài vùng giới hạn cho phép Nghĩa là các thông tin chứa các giá trị không theo một quy tắc nào đó, những lỗi này khá đặc biệt mà chúng ta rất khó phát hiện Vì thế nó ảnh hưởng không nhỏ đến việc đưa quá trình data mining vào bảng dữ liệu, cho nên để sửa chữa các mâu thuẩn này nếu phần thông tin nào là không biết thì nó có thể được thay thế bằng giá trị NULL và cứ như vậy chúng ta tiến hành sửa chữa các mâu thuẫn trong các vùng dữ liệu khác.

c Làm giàu dữ liệu: Việc thu thập dữ liệu đôi khi không đảm bảo tính đầy

đủ của dữ liệu, một số thông tin quan trọng có thể thiếu hoặc không đầy đủ Do

đó quá trình làm giàu bao gồm việc tích hợp và chuyển đổi dữ liệu Các dữ liệu

từ nhiều nguồn khác nhau được tích hợp thành một kho thống nhất Các khuôn dạng khác nhau của dữ liệu cũng được quy đổi, tính toán lại để đưa về một kiểu thống nhất, tiện cho quá trình phân tích

d Mã hóa dữ liệu: Mã hóa là chuyển đổi kiểu dữ liệu về những dạng

thuận tiện cho việc tiến hành tìm luật kết hợp ở giai đoạn khám phá tiếp theo Chỉ có các thành phần thực thi trong thuật toán tìm luật kết hợp được mã hóa Tùy theo từng kiểu dữ liệu mà chúng ta có những cách mã hóa khác nhau, như: Phân vùng; Chuyển đổi giá trị năm thanh số so với hiện tại, ví dụ:

AN HÙNG VINH 1960 52

AN THỊ CẨM LINH 1958 54 BẠCH NGỌC ON 1939 73 BÀNH THỊ HÒE ANH 1958 54 BÀNH THỊ LIỄU ANH 1948 64 BIỆN THỊ SĨ PHU 1974 38 BÙI CAO TÁC 1928 84 BÙI ĐÌNH NAM 1947 65 BÙI ĐỨC QUẾ 1945 67 BÙI ĐỨC QUY 1950 62 BÙI NHƯ XUYẾN 1946 662.1.2 Khai thác dữ liệu

Giai đoạn khai thác dữ liệu được bắt đầu sau khi dữ liệu đã được thu thập

và tiến hành xử lý

Thông thường, các bài toán khai thác dữ liệu bao gồm: các bài toán mang

tính chất mô tả - đưa ra những tính chất chung nhất của các dữ liệu, các bài toán

khai thác dự báo – bao gồm cả việc thực hiện các suy diễn trên dữ liệu Tùy theo bài toán xác định được mà ta lựa chọn các phương pháp khai thác dữ liệu cho phù hợp

2.1.3 Minh họa và đánh giá

Các tri thức phát hiện từ CSDL cần được tổng hợp dưới dạng các báo cáo phục vụ cho các mục đích hỗ trợ quyết định khác nhau

Trang 7

Việc đánh giá các kết quả thu được là cần thiết, giúp tạo cơ sở cho những quyết định chiến lược Thông thường chúng được tổng hợp, so sánh bằng các biểu đồ và được kiểm nghiệm, tin học hóa Công việc này thường là của các chuyên gia, các nhà phân tích và quyết định.

2.1.4 Đưa kết quả vào thực tế

Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng dụng trong những lĩnh vực khác nhau Các kết quả có thể là các dự báo hoặc các mô

tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hóa quá trình này

Ví dụ: từ CSDL bệnh nhân có độ tuổi từ 50 > 60, gồm có 9 giao tác, với

độ hỗ trợ=50%, và độ tin cậy=60% Khi thực hiện ta có tập phần tử phổ biến là:

3, và tìm được luật kết hợp là:2 (Hình 2)

Hình 2: Kết quả tìm kiếm luật kết hợp

3 Khai mỏ dữ liệu

3.1 Các quan niệm về khai mỏ dữ liệu

Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin có ích từ kho dữ liệu khổng lồ

Khai phá dữ liệu được áp dụng trong các cơ sở dữ liệu quan hệ, giao dịch,

cơ sở dữ liệu không gian, cũng như các kho dữ liệu phi cấu trúc

Như vậy, mục đích của khai mỏ dữ liệu là tìm ra các mẫu hoặc mô hình đang tồn tại trong các CSDL nhưng vẫn còn tiềm ẫn bởi số lượng dữ liệu khổng lồ

3.2 Nhiệm vụ của khai mỏ dữ liệu

Trang 8

- Phân cụm, phân loại, phân nhóm, phân lớp Nhiệm vụ là trả lời câu hỏi: Một dữ liệu mới thu thập sẽ thuộc về nhóm nào? Quá trình này thường được thực hiện một cách tự động.

- Khám phá luật kết hợp Nhiệm vụ là phát hiện ra những mối quan hệ giống nhau của các bản ghi giao dịch Luật kết hợp X=>Y có dạng tổng quát là: Nếu một giao dịch đã sở hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất Y, ở một mức độ nào đó Khám phá luật kết hợp được hiểu theo nghĩa: Biết trước các tính chất X, vậy các tính chất Y là những tính chất nào?

- Lập mô hình dự báo: Phân nhóm dữ liệu vào một hay nhiều lớp dữ liệu đã xác định trước hoặc sử dụng các trường đã cho trong một cơ sở dữ liệu để

dự báo sự xuất hiện(hoặc không xuất hiện) của các trường hợp khác

- Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể có thể chứa các đối tượng không tuân theo mô hình dữ liệu

- Phân tích sự tiến hóa: Thực hiện việc mô tả và mô hình hóa các quy luật hay khuynh hướng của những đối tượng mà ứng xử của chúng thay đổi theo thời gian

3.3 Triển khai việc khai mỏ dữ liệu

Nhóm các tác giả Cabena Et Al đề nghị triển khai quá trình khai mỏ dữ liệu theo 5 bước:

- Bước 1: Xác định rõ mục tiêu thương mại cần khai phá

- Bước 2: Chuẩn bị dữ liệu: Thu thập, tiền xử lý, chuyển đổi khuôn dạng dữ liệu nếu thấy cần thiết

- Bước 3: Khai phá dữ liệu: Chọn thuật toán thích hợp

- Bước 4: Phân tích kết quả thu được: Xem có gì thú vị không?

- Bước 5: Tiêu hóa các tri thức thu lượm được: Nhằm đề ra kế hoạch khaithác các thông tin mới

Một tác giả khác cũng nói tới quy trình 5 bước của khai phá dữ liệu, với quan điểm gần giống như trên:

- Bước 1: Chiết xuất, biến đổi và nạp dữ liệu vào hệ thống kho dữ liệu

- Bước 2: Lưu trữ và quản trị dữ liệu trong một cơ sở dữ liệu nhiều chiều

- Bước 3: Xác định mục tiêu cần khai phá (Sử dụng các công cụ phân tích về mặt tác nghiệp)

- Bước 4: Sử dụng các phần mềm phân tích dữ liệu để khai mỏ dữ liệu

- Bước 5: Thể hiện kết quả khai mỏ dưới khuôn dạng hữu ích hay bảng biểu,

đồ thị

3.4 Một số ứng dụng khai mỏ dữ liệu

Vào cuối thế kỷ XX, người ta coi khai mỏ dữ liệu là quá trình phân tích CSDL nhằm phát hiện ra các thông tin mới và giá trị, thường thể hiện dưới dạng các mối quan hệ chưa biết đến giữa các biến số Những phát hiện này được sử dụng nhằm tăng thêm tính hiệu quả của doanh nghiệp trong khi phải cạnh tranh trên thương trường Nhờ phân tích các dữ liệu liên quan đến khách hàng, doanh nghiệp có khả năng dự báo trước một số hành vi ứng xử của khách hàng

Trang 9

Những năm gần đây, người ta quan niệm khai mỏ dữ liệu là một quá trình phân tích dữ liệu từ các viễn cảnh khác nhau và rút ra các thông tin bổ ích có thể dùng để tăng lợi nhuận, và giảm chi phí Phần mềm khai mỏ dữ liệu là một công

cụ phân tích dùng để phân tích dữ liệu Nó cho phép người sử dụng phân tích dữ liệu theo nhiều góc nhìn khác nhau, phân loại dữ liệu thao những quan điểm riêng biệt và tổng kết các mối quan hệ đã được bóc tách Xét về khía cạnh kỹ thuật, khai mỏ dữ liệu là một quá trình tìm kiếm các mối tương quan giữa các mẫu ẩn chứa trong hàng chục trường dữ liệu của một CSDL quan hệ cỡ lớn

Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như:

- Thương mại, Thông tin sản xuất,

- Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, …khoa học địa lý: dự báo động đất, … khoa học môi trường: biến đổi khí hậu toàn cầu và nước biển dâng,

- Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet…

3.5 Các kỹ thuật khai phá dữ liệu

- Kỹ thuật khai mỏ dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu tring cơ sở dữ liệu hiện có Các kỹ thuật này gồm có: Gom nhóm (clustering), tóm tắt (summerization), trực quan hóa visualiztation), phân tích sự phát triển và độ lệch (evolution and deviation analyst), phân tích luật kết hợp (association rules) …

- Kỹ thuật khai mỏ dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy (regession)…

Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân cụm dữ liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp

a) Phân cụm dữ liệu:

Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng

Hình 3: Phân cụm dữ liệu

Trang 10

- Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết, chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai.

c) Phương pháp hồi quy:

Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để

dự đoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc

Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị thực Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, chẳng hạn như khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chẩn đoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chi tiêu quảng cáo

d) Khai phá luật kết hợp:

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 Mẫu đầu ra của giải thuật khai phá dữ liệu là luật kết hợp tìm được Chẳng hạn, phân tích cơ sở dữ liệu bán hàng nhận được thông tin

về những khách hàng mua máy tính có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau: “Máy tính=>Phần mềm quản lý tài chính” (Độ hỗ trợ: 2%, độ tin cậy: 60%)

Hình 4: Phân lớp dữ liệu

Trang 11

Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật.

Chúng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá Độ hỗ trợ 2%

có nghĩa là 2% của tất cả các vụ đang phân tích chỉ ra rằng máy tính và phần mềm quản lý tài chính là đã được mua cùng nhau Còn độ tin cậy 60% có nghĩa là: 60% các khách hàng mua máy tính cũng mua phần mềm Khai phá luật kết hợp được thực hiện qua hai bước:

- Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu

- Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu

Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường …

3.6 Kiến trúc của hệ thống khai mỏ dữ liệu

Khai mỏ dữ liệu là một giai đoạn trong quá trình phát hiện tri thức từ số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu trữ khác Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri thức, những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ như là tri thức mới trong cơ sở tri thức.(Hình 5)

Giao diện người dùng

Đánh giá mẫu

Mô tả khai mỏ dữ liệu

CSDL hay kho dữ liệu phục vụ

Cơ sở tri thức

Cơ sở dữ liệu Kho dữ liệu

Hình 5: Kiến trúc của hệ thống khai mỏ dữ liệu

Trang 12

- Giao diện người dùng: Là modul giữa người dùng và hệ thống khai mỏ dữ liệu Cho phép người dùng tương tác với hệ thống trên cơ sở những truy vấn hay tác vụ, cung cấp thông tin cho việc tìm kiếm.

- Đánh giá mẫu: Sử dụng các độ đo và tương tác với modul khai mỏ dữ liệu

để tập trung vào tìm các mẫu quan tâm

- Mô tả khai phá dữ liệu: Bao gồm tập các modul chức năng để thực hiện các nhiệm vụ mô tả đặc điểm, kết hợp, phân lớp, phân cụm dữ liệu…

- Cơ sở tri thức: Là lĩnh vực tri thức được sử dụng để hướng dẫn việc tìm hoặc đánh giá các mẫu kết quả thu được

- Cơ sở dữ liệu hay kho dữ liệu phục vụ: Kết quả lấy dữ liệu có liên quan trên cơ sở khai mỏ dữ liệu của người dùng

- Cơ sở dữ liệu, kho dữ liệu: Là một hoặc tuyển tập các cơ sở dữ liệu, kho dữ liệu … Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ liệu có thể thực hiện trên dữ liệu

3.7 Quá trình khai mỏ dữ liệu

Các thuật toán khai mỏ dữ liệu thường được mô tả như những chương trình hoạt động trực tiếp trên tệp dữ liệu Với phương pháp máy học và thống kê trước đây, thường thì bước đầu tiên các thuật toán nạp toàn bộ tệp(file) dữ liệu vào bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai thác các kho dữ liệu lớn, mô hình này không thể đáp ứng bởi vì không thể nạp hết dữ liệu vào bộ nhớ mà còn khó có thể chiết xuất ra những tệp đơn giản để phân tích

Quá trình khai mỏ dữ liệu (Hình 6) bắt đầu bằng cách xác định chính xác vấn đề cần giải quyết Tiếp đến là xác định dữ liệu liên quan dùng để xây dựng giải pháp Bước tiếp theo là thu thập các dữ liệu liên quan và xử lý chúng thành dạng sao cho thuật toán có thể hiểu được

Trang 13

Sau đó chọn thuật toán khai mỏ dữ liệu thích hợp và thực hiện việc khai

mỏ dữ liệu để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng (luật kết hợp, cây quyết định …)

Với thuật toán và nhiệm vụ khai mỏ dữ liệu khác nhau thì dạng mẫu chiết

xuất được cũng rất đa dạng

Trang 14

CHƯƠNG 2 LUẬT KẾT HỢP TRONG KHAI MỎ DỮ LIỆU

1 Khai phá luật kết hợp

Luật kết hợp được giới thiệu lần đầu tiên vào năm 1993 Luật kết hợp là một trong những kỹ thuật được nghiên cứu tốt nhất vũng như quan trọng nhất trong việc khai mỏ dữ liệu Nó tìm ra những mối liên hệ giữa các trường mô tả đối tượng trong CSDL và xây dựng thành các luật cụ thể Luật kết hợp là tri thức quan trọng nhất tiềm ẩn trong CSDL

Mục đích của luật kết hợp là rút ra những mối liên quan, những tập mẫu phổ biến, những cấu trúc kết hợp hay cấu trúc ngẫu nhiên giữ những tập hợp Items trong trong các transaction database hoặc trong những kho dữ liệu

Ví dụ: “98% khách hàng mà mua tạp chí thể thao thì đều mua các tạp chí

về ôtô” ð sự kết hợp giữa “tạp chí thể thao” với “tạp chí về ôtô”; “Có tới 70% người truy nhập Web vào địa chỉ Url 1 thì cũng vào địa chỉ Url 2 trong một

phiên truy nhập web” ð sự kết hợp giữa “Url 1” với “Url 2” Khai phá dữ liệu

sử dụng Web (Dữ liệu từ file log của các site, chẳng hạn được MS cung cấp)

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ư tập mẫu 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

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 item của X

Điều này nghĩa là X ⊆ T, trong một số trường hợp người ta dùng ký hiệu T(X) để chỉ tập các giao dịch hỗ trợ cho 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à:

sup(X)= {T∈|X⊆T}

Trang 15

Độ 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 tập phổ biến được sử dụng như một tập đáng quan tâm trong các thuật toán, ngược lại, những tập không phải tập phổ biến là những tập không đáng quan tâm Các phần sau sẽ sử dụng những cụm từ khác như “X có độ hỗ trợ tối thiểu”, hay “X không có độ hỗ trợ tối thiểu” cũng để nói lên rằng X thỏa mãn hay không thỏa mãn support(X) ≥ minsup

→Một khoản mục X được gọi là k-itemset nếu lực lượng của X bằng k, tức là |X|=k

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 = ∅ X được gọi là tiên đề và Y được gọi là hệ quả của luật

Luật X => Y tồn tại một độ tin cậy c Độ 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:

conf(X =>Y)= p(Y ⊆ I | X ⊆ I ) = p(Y⊆T∧X⊆T

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ể Do vậy, cho một tập các giao dịch D, bài toán phát hiện luật kết hợp là sinh ra tất cả các luật kết hợp mà có độ tin cậy conf lớn hơn độ tin cậy tối thiểu minconf và độ hỗ trợ sup lớn hơn độ hỗ trợ tối thiểu minsup tương ứng do người dùng xác định Khai phá luật kết hợp được phân thành hai bài toán con như sau:

- 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:

) sup(

) sup(

AB

ABCD conf =

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 Một số tính chất:

2.2.1 Tính chất của tập mục phổ biến: có 3 tính chất

- Tính chất 1:

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

Trang 16

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.2.2.2 Tính chất của luật kết hợp: có 4 tính chất

- 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à đúngXé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

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:

conf(B →(L-B))= sup(L)sup(L) < minconf

sup(B ) sup(A)

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)

sup(L)sup(L) minconf

sup(L-D) sup(L-C)

Các tính chất này sẽ được sử dụng trong thuật toán mô tả trong các chương sau

Trang 17

CHƯƠNG 3 TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP

1 Thuật toán AIS

Thuật toán do Agrwal đề nghị năm 1993 Thuật toán này chú trọng khai phá luật kết hợp có dạng XY, với Y là tập hợp chỉ bao gồm 1 tính chất (tập hợp 1 phần tử) Thuật toán tìm cách xây dựng dần dần các tập ứng cử viên cho

“chức vụ” tập hợp xuất hiện σ – thường xuyên Với cách đánh số thứ tự từ điển cho từng tính chất, việc bổ sung phần tử cho tập ứng cử viên tránh được trùng lặp, do vậy tiết kiệm tối đa thời gian tính toán

Số lượng các tập ứng cử viên quá nhiều có thể gây ra hiện tượng tràn bộ nhớ Thuật toán đề nghị một phương án quản lý bộ nhớ hợp lý đề phòng trường hợp này: không cho phép các ứng cử viên chiếm bộ nhớ, mà ghi thẳng chúng vào đĩa ở chế đồ thường trực (disk-resident)

 Thuật toán AIS (Pseudo code)

4 forall các giao dịch t D do begin

5 Lt = Subset(Lk-1,t); // các tập mục phổ biến thuộc Lk-1 chứa trong giao dịch t

6 forall các tập mục phổ biến lt ∈ Lt B do begin

7 Ct = tăng thêm một mục có trong giao dịch t;

8 forall các ứng cử viên c ∈ Ct do

9 if (c ∈ Ck) then

add tăng biến đếm của c thêm 1 cho mục tương ứng của Ck

else add c và Ck và tăng biến đếm tương ứng thêm 1;

10 End

11 Lk = { c ∈ Ck | c.count ≥ minsup}

12 End

13 Trả lời = ∪k L k ;

Thuật toán được áp dụng tỏ ra thành công cho cơ sở dữ liệu của các công

ty bán lẻ hàng hóa và đã tìm ra các luật kết hợp đề cập đến mối quan hệ giữa hành vi ứng xử mua hàng của khách hàng với 63 gian hàng của công ty, sau khi nghiên cứu 46.873 giao dịch mua hàng

2 Thuật toán SETM

Thuật toán do Houtsma đề nghị năm 1995 Thuật toán này cũng sử dụng

kỹ thuật bổ sung dần dần từng phần tử (từ tập hợp 1 phần tử) nhằm tìm kiếm các tập hợp ứng cử viên Một cải tiến đáng kể là Thuật toán đề nghị lưu lại cả ID của giao dịch cùng với tập hợp ứng cử viên Agrawal đã chỉ ra, Thuật toán này

Trang 18

không những không có phương án quản lý bộ nhớ mà nó còn giả định nhét toàn

bộ tập hợp ứng cử viên của bước trước vào bộ nhớ để bước sau tiện bề sử dụng

Sarawagi đã chỉ ra Thuật toán này không hiệu quả

 Thuật toán SETM(Pseudo code)

5 forall các giao dịch t D do begin

6 Lt = (l L’k-1 | l.TID = t.TID); // các tập có (k - l) mục phổ biến trong

giao dịch t

7 forall các tập mục phổ biến lt Lt do begin

8 Ct = tăng lt thêm một mục có trong giao dịch t; //Các ứng cử viên có

13 delete các mục c ∈ C’k có c.count<minsup đưa vào L’k ;

14 Lk ={<l.itemset, countof l in L’k > | l ∈ Lk'}; //kết hợp với bước 13

15 Sort L’k theo TID;

16 end

17 Trả lời = ∪k Lk ;

3 Thuật toán Apriori

3.1 Ý tưởng thuật toán Apriori

- 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 L1) L1 được dùng để tìm L2 itemsets) L2 được dùng để tìm L3 (3-itemset) và tiếp tục cho đến khi không có k-itemset được tìm thấy

(2 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)

Các bước thực hiện thuật toán:

- Bước 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 (L1)

- Bước 2 Sử dụng Lk-1 nối (join) Lk-1 để sinh ra candidate k-itemset Loại

bỏ các itemsets không phải là frequent itemsets thu được k-itemset

Ngày đăng: 10/04/2015, 16:27

HÌNH ẢNH LIÊN QUAN

Hình 1: Quá trình khám phá tri thức từ CSDL - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 1 Quá trình khám phá tri thức từ CSDL (Trang 4)
Hình 1 mô tả 5 giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ  liệu. Mặc dù có 5 giai đoạn như trên xong quá trình khám phá tri thức từ cơ sở - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 1 mô tả 5 giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ liệu. Mặc dù có 5 giai đoạn như trên xong quá trình khám phá tri thức từ cơ sở (Trang 5)
Hình 2: Kết quả tìm kiếm luật kết hợp - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 2 Kết quả tìm kiếm luật kết hợp (Trang 7)
Hình 3: Phân cụm dữ liệu - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 3 Phân cụm dữ liệu (Trang 9)
Hình 4: Phân lớp dữ liệu - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 4 Phân lớp dữ liệu (Trang 10)
Hình 5: Kiến trúc của hệ thống khai mỏ dữ liệu - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 5 Kiến trúc của hệ thống khai mỏ dữ liệu (Trang 11)
Hình 6: Mô tả quy trình khai mỏ dữ liệu - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 6 Mô tả quy trình khai mỏ dữ liệu (Trang 12)
Hình 7: Giao diện chương trình hỗ trợ tìm luật kết hợp - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 7 Giao diện chương trình hỗ trợ tìm luật kết hợp (Trang 29)
Hình 8: Chọn các items - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 8 Chọn các items (Trang 33)
Hình 9: Mô tả kết quả tìm kiếm luật kết hợp - TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP
Hình 9 Mô tả kết quả tìm kiếm luật kết hợp (Trang 34)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w