KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP. ỨNG DỤNG SQL SERVER BUSINESS INTELLIGENCE TRONG KHAI PHÁ DỮ LIỆU - Pdf 26

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Báo cáo môn học
KHAI PHÁ DỮ LIỆU
Đề tài :
KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP.
KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP.
ỨNG DỤNG SQL SERVER BUSINESS
ỨNG DỤNG SQL SERVER BUSINESS
INTELLIGENCE TRONG KHAI PHÁ DỮ LIỆU
INTELLIGENCE TRONG KHAI PHÁ DỮ LIỆU
.
.
HVTH : Nguyễn Bảo Minh – CH1101104
GVHD : PGS.TS Đỗ Phúc
Lớp : Cao Học-K6
Thành Phố Hồ Chí Minh 11/2012
MỤC LỤC
Chương I: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 2
1.1. Tổng quan 2
1.2. Khai phá dữ liệu và phát hiện tri thức 2
1.3. Quá trình phát hiện tri thức từ cơ sở dữ liệu 2
1.3.1. Xác định bài toán 3
1.3.2. Thu thập và tiền xử lý 3
1.3.3. Khai phá dữ liệu 6
1.3.4. Phát biểu và đánh giá kết quả 7
1.3.5. Sử dụng tri thức đã phát hiện 7
1.4. Khai phá dữ liệu có những lợi ích gì 7
1.5. Các kỹ thuật khai phá dữ liệu 8
1.5.1. Kỹ thuật khai phá dữ liệu mô tả 8
1.5.2. Kỹ thuật khai phá dữ liệu dự đoán 8

3.3.2 Tab Mining Accuracy Chart 39
Chương IV: MINH HỌA THUẬT TOÁN APRIORI TRÊN C# 44
3.1. Phát biểu bài toán 44
3.3. Kết quả phân tích 44
KẾT LUẬN 46
TÀI LIỆU THAM KHẢO 47
Lời Mở Đầu
LỜI MỞ ĐẦU
Trong kỷ nguyên toàn cầu hóa ngày nay các lĩnh vực khoa học kỹ thuật đang
ngày một phát triển mạnh mẽ. Đặc biệt là nghành khoa học máy tính rất phát triển
ngoài việc được áp dụng rộng rãi trong công nghệ thông tin nó ứng dụng rất nhiều
trong các lĩnh vực khác nhau của cuộc sống như: Khoa học, Giáo dục, Y tế, kinh
doanh v.v Nó đã trở thành một phần không thể thiếu được trong cuộc sống hàng ngày
của con người.
Việc dùng các phương tiện tin học để tổ chức và khai thác các cơ sở dữ liệu đã
được phát triển từ những năm 60. Đặc biệt trong thập kỷ gần đây vai trò của máy tính
trong việc lưu trữ và xử lý thông tin ngày càng trở lên quan trọng. Với sự phát triển
mạnh mẽ của công nghệ điện tử tạo ra các bộ nhớ có dung lượng lớn, bộ xử lý tốc độ
cao cùng với các hệ thống mạng viễn thông phát triển vượt bậc đã góp phần tạo nên
những dữ liệu khổng lồ như cơ sở dữ liệu thông tin khách hàng, dữ liệu lịch sử các
giao dịch, dữ liệu bán hàng, dữ liệu các tài khoản vay, sử dụng vốn cũng như vô số
các thông tin được cập nhật thông qua internet mỗi ngày.
Vấn đề đặt ra là làm thế nào để xử lý khối lượng thông tin cực lớn như vậy một
cách nhanh chóng, phù hợp, tự động, chính xác và có hiệu quả để lấy được thông tin có
giá trị. Để làm được điều đó người ta đã sử dụng quá trình Phát hiện tri thức trong cơ
sở dữ liệu( Knowledge Discovery in Database-KDD). Nhiệm vụ của KDD là từ dữ liệu
sẵn có phải tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện
cũng như tìm ra những xu hướng phát triển và các xu hướng tác động lên chúng .Các
kỹ thuật cho phép ta lấy được các tri thức từ cơ sở dữ liệu sẵn có đó được gọi là kỹ
thuật Khai phá dữ liệu( Data Mining).

thập và tiền xử lý dữ liệu, phát hiện tri thức, minh hoạ và đánh giá tri thức đã phát hiện
và đưa kết quả vào thực tế.
Khai phá dữ liệu có những điểm khác nhau về mặt ngữ nghĩa so với phát
hiện tri thức từ cơ sở dữ liệu nhưng thực tế ta thấy khai phá dữ liệu là chỉ một giai
đoạn phát hiện tri thức trong một chuỗi các giai đoạn quá trình phát hiện tri thức
trong cơ sở dữ liệu. Tuy nhiên đây là giai đoạn đóng vai trò chủ chốt và là giai đoạn
chính tạo nên tính đa ngành của phát hiện tri thức trong cơ sở dữ liệu.
1.3. Quá trình phát hiện tri thức từ cơ sở dữ liệu
Phát hiện tri thức từ cơ sở dữ liệu là một quá trình có sử dụng nhiều phương
pháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người làm trung
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 2
Chương I: Tổng quan về khai phá dữ liệu
tâm. Do đó nó không phải là một hệ thống phân tích tự động mà là một hệ thống bao
gồm nhiều hoạt động tương tác thường xuyên giữa con người và cơ sở dữ liệu, tất
nhiên là với sự hỗ trợ của các công cụ tin học.
Hình 1.1. 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 từ cơ sở dữ liệu là 1 quá trình tương tác và lặp đi
lặp lại theo kiểu xoắn chô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 trứng mang tính chất học của quá trình phát hiện trí
thức và là phương pháp luận trong viện phát hiện tri thức. Các giai đoạn đó sẽ được
trình bày cụ thể như sau:
1.3.1. Xác định bài toán
Đây là một quá trình mang tính định hì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 cơ sở dữ
liệu được chuyên môn hoá 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, v.v.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 với một lĩnh vực khác. Vì vậy 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.

gom dữ liệu là tính không đủ chặt chẽ, logic. Vì vậy, dữ liệu thường chứa các giá trị vô
nghĩa và không có khả năng kết nối dữ liệu. Giai đoạn này sẽ tiến hành xử lý những
dạng dữ liệu không chặt chẽ nói trên. Những dữ liệu dạng này được xem như thông tin
dư thừa, không có giá trị. Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này
nếu không được “làm sạch - tiền xử lý - chuẩn bị trước” thì sẽ gây nên những kết quả
sai lệch nghiệm trọng.
Giai đoạn này thực hiện một số chức năng sau:
- Điều hoà dữ liệu: Công việc này nhằm giảm bớt tính không nhất quán dữ liệu
lấy từ nhiều nguồn khác nhau. Phương pháp thông thường là khử các trường hợp trùng
lặp dữ liệu và thống nhất các ký hiệu. Ví dụ một khách hàng có thể có nhiều bản ghi
do việc nhập sai tên hoặc do quá trình thay đổi một số thông tin cá nhân gây ra và tạo
ra sự nhầm lẫn là có nhiều khách hàng.
- Xử lý các giá trị khuyết: Tính không đầy đủ của dữ liệu có thế gây ra hiện
tượng dữ liệu chứa các giá trị khuyết. Đây là hiện tượng khá phổ biến. Người ta sử
dụng nhiều phương pháp khác nhau để xứ lý các giá trị khuyết như: Bỏ qua các bộ
có giá trị khuyết, điểm bổ sung bằng tay, dùng một hằng chung để bổ sung vào giá
trị khuyết, dùng giá trị trung bình của mọi bản ghi trên thuộc tinh khuyết, dùng giá
trị trung bình của mọi bản ghi cùng lớp hoặc dùng các giá trị mà tần suất xuất hiện
lớn nhất.
- Xử lý nhiễu và các ngoại lệ: Thông thường nhiễu dữ liệu có thể là nhiễu
ngẫu nhiên hoặc các giá trị bất bình thường. Để làm sạch nhiễu, người ta có thể sử
dụng phương pháp làm trơn nhiễu hoặc dùng các giải thuật phát hiện ra các ngoại lệ
để xử lý.
1.3.2.4. Làm giàu dữ liệu
Mục đích của giai đoạn này là bổ sung thêm nhiều loại thông tin có liên quan
vào cơ sở dữ liệu gốc. Để làm được điêu này, chúng ta phải có các cơ sở dữ liệu
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 5
Chương I: Tổng quan về khai phá dữ liệu
khác ở bên ngoài có liên quan tới cơ sở dữ liệu gốc ban đầu. Ta tiến hành bổ sung
những thông tin cần thiết, làm tăng khả năng khám phá tri thức.

Chương I: Tổng quan về khai phá dữ liệu
Là giai đoạn thiết yếu, 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.
1.3.4. Phát biểu và đánh giá kết quả
Các tri thức phát hiện từ cơ sở dữ liệu 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ợ các quyết định khác nhau.
Do nhiều phương pháp khai thác có thể được áp dụng nên các kết quả có mức độ
tốt, xấu khác nhau. Việc đánh giá các kết quả thu được là cần thiêt, Các tri thức phát hiện
từ cơ sở dữ liệu 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ợ các quyết định khác nhau.
Do nhiều phương pháp khai thác có thể được áp dụng nên các kết quả có mức độ
tốt, xấu khác nhau. 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 hoc.
1.3.5. Sử dụng tri thức đã phát hiện
Củng cố, tinh chế các tri thức đã được phát hiện. Kết hợp các tri thức thành hệ
thống. Giải quyết các xung đột tiềm tàng trong tri thức khai thác được. Sau đó tri thức
được chuẩn bị sẵn sàng cho ứng dụng.
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. Do 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 hoá quá
trình này.
1.4. Khai phá dữ liệu có những lợi ích gì
- Cung cấp tri thức hỗ trợ ra quyết định.
- Dự báo.
- Khái quát dữ liệu.
Hình 1.3 Là một mô hình thể hiện lợi ích của KPDL trong việc phân tích và ra
quyết định cho việc ra tiếp thị của một loại sản phẩm nào đó

Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 7

Chương I: Tổng quan về khai phá dữ liệu
Mô tả tập trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con người có thể
hiểu được.
Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu là:
- Phân lớp (Classification).
- Hồi qui (Regression).
- Gom nhóm (Clustering).
- Tổng hợp (Summarization).
- Mô hình ràng buộc (Dependency modeling).
- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection).
1.6.1. Phân lớp (Classification)
Phân lớp là việc phân loại một mẫu dữ liệu vào một trong số các lớp đã xác
định.
Mục tiêu của thuật toán phân lớp là tìm ra các mối quan hệ nào đó giữa các
thuộc tính dự báo và thuộc tính phân lớp, từ đó sử dụng mối quan hệ này để dự báo lớp
cho các bộ dữ liệu mới khác cùng khuông dạng.
1.6.2. Hồi quy (Regression)
Hồi quy là việc lọc một hàm ánh xạ từ một mẫu 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, ví
dụ như biết các phép đo vi sóng từ xa, đánh giá khả năng tử vong của bệnh nhân 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 chỉ tiêu quảng cáo, v. v.
1.6.3. Gom nhóm (Clustering)
Là việc mô tả chung để tìm ra các tập xác định các nhóm hay các loại để mô tả dữ
liệu. Các nhóm có thể tách riêng nhau hoặc phân cấp hoặc gối lên nhau. Có nghĩa là một
dữ liệu có thể vừa thuộc nhóm này, vừa thuộc nhóm kia. Các ứng dụng khai phá dữ liệu
có nhiệm vụ gom nhóm như: Phát hiện tập các khách hàng có phản ứng giống nhau trong
cơ sở dữ liệu tiếp thị, xác định các loại quang phổ từ các phương pháp đo tia hồng ngoại.
1.6.4. Tổng hợp (Summarization)
Nhiệm vụ tổng hợp là việc sản sinh ra các mô tả đặc trưng cho một lớp. Các

giả thiết mô tả và cần phải diễn tả được các giả thiết mô tả nào được tạo ra bởi giải
thuật. Mô hình đó sẽ được đánh giá bằng cách đưa các dữ liệu thử vào mô hình và thay
đổi lại các tham số cho phù hợp nếu cần.
• Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn
của quá trình phát hiện tri thức hay không. Việc đánh giá độ chính xác dự đoán dựa
trên đánh giá chéo (Cross Validation). Đánh giá chất lượng mô tả liên quan đến độ
chính xác dự đoán, độ mới, khả năng sử dụng, khả năng hiểu được của mô hình. Cả hai
chuẩn thống kê và chuẩn logic đều có thể được sử dụng để đánh giá mô hình.
• Phương pháp tìm kiếm: Phương pháp tìm kiếm bao gồm hai thành phần:
tìm kiếm tham số và tìm kiếm mô hình.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 10
Chương I: Tổng quan về khai phá dữ liệu
- Tìm kiếm tham số: Để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các
dữ liệu quan sát được và với một mô tả mô hình đã định.
- Tìm kiếm mô hình: Xảy ra giống như một vòng lặp qua phương pháp tìm
kiếm tham số: Mô tả mô hình bị thay đổi tạo nên một họ các mô hình.
= > Với mỗi một mô tả mô hình, phương pháp tìm kiếm tham số được áp
dụng để đánh giá chất lượng mô hình. Các phương pháp tìm kiếm mô hình thường sử
dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không gian các mô hình có thể
thường ngăn cản các tìm kiếm tổng thể, hơn nữa các giải pháp đơn giản không dễ đạt
được.
1.7.2. Một số phương pháp khai thác dữ liệu phổ biến
1.7.2.1. Phương pháp quy nạp (Induction).
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.

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 hay tất cả những người thích cả ba loại sách trên.
Tuy nhiên giá trị hỗ trợ là không đủ. Có thể có trường hợp ta có một nhóm
tương đối những người đọc cả ba loại sách trên nhưng lại có một nhóm với lượng lớn hơn
những người thích sách thể thao, âm nhạc, ngoại ngữ mà không thích mua đĩa CD. Trong
trường hợp này tính kết hợp rất yếu mặc dù độ hỗ trợ tương đối cao. Như vậy chúng ta
cần thêm một độ đo thứ hai đó là độ tin cây (Confidence). Độ tin cậy là phần trăm các bản
ghi có đĩa CD trong số các bản ghi có sách âm nhạc, thể thao, ngoại ngữ.
Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật dạng
X => B sao cho tần số của luật không nhỏ hơn ngưỡng Minsup cho trước và độ tin cậy
của luật không nhỏ hơn ngưỡng Minconfi cho trước. Từ một cơ sở dữ liệu ta có thể tìm
được hàng nghìn và thậm chí hàng trăm nghìn các luật kết hợp.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 12
Chương I: Tổng quan về khai phá dữ liệu
1.7.2.4. Mạng Neuron
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à 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

tin về ngày mua bán, số lượng hàng bán, Từ cơ sở dữ liệu bán hàng, vay vốn chúng
ta có thể tìm ra các mối quan hệ giữa các cặp thuộc tính- giá trị thuộc tính. Đó là luật
kết hợp tiêu biểu: Ví dụ có 80% khách hàng mua bàn chải đánh răng thì sẽ mua kem
đánh răng,khách hàng vay vốn dưới 3 triệu thì tỉ lệ nợ xấu chỉ 0,001% chẳng hạn…
2.2. Các khái niệm cơ bản
2.2.1. Ngữ cảnh khai phá dữ liệu
Cho tập O là tập hữu hạn khác rỗng các giao tác và I là tập hữu hạn khác rỗng
các mặt hàng, R là một quan hệ hai ngôi giữa O và I sao cho với o

O và i

I, (o,i)

R=
> giao tác.o có chứa mặt hàng i. Ngữ cảnh khai phá dữ liệu (dưới đây sẽ gọi tắt là
NCKPDL) là bộ ba (O, I, R).
2.2.2 Các kết nối Galois
Cho NCKPDL (O, I, R), xét hai kết nối Galois ρ và λ được định nghĩa như sau:
ρ : P (I) →P (O) và λ : P (O) →P (I):
Cho S

I, ρ (S) = {o

O |

i

S, (o, i)

R}

Chương II: Tập phổ biền và luật kết hợp
2.2.3.2. Độ hỗ trợ của luật X→Y là tỉ số của số giao tác có chứa X

Y và số
giao tác trong cơ sở dữ liệu D, kí hiệu là Supp (X→Y).
Supp (X→Y)=
{ }
D
TDT ⊆∪∈ YX:
Như vậy độ hỗ trợ của một luật bằng 30% nghĩa là có 30% số giao tác có chứa
tập mục X

Y. Độ hỗ trợ có ý nghĩa thống kê của luật kết hợp.
2.2.4 Độ tin cậy ( Confidence)
2.2.4.1. Tính chất 2. 2.4.1: Hỗ trợ của tập con.
Giả sử A,B

I là tập các tập mục với A

B thì Supp (A)

Supp (B).
Thật vậy, tính chất này có thể suy ra trực tiếp từ khái niệm tập mục phổ biến, vì
tất cả các giao tác hỗ trợ B thì cũng hỗ trợ A. Như vậy giao tác nào chứa tập mục B thì
cũng chứa tập mục A.
2.2.4.2. Tính chất 2.2.4.2
Giả sử A, B là hai tập mục, A, B

I. Nễu B là tập mục phổ biến và A



Y)

Conf (X/Z

Y

Z).
Thật vậy, từ X

Y
ZYX ∪∪⊆
và X/Z

X ta có:
( )
( )
ZXSupp
ZYXSupp
\
∪∪



( )
( )
XSupp
YXSupp ∪
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 16
Chương II: Tập phổ biền và luật kết hợp

phổ biến. Ký hiệu FS (O, I, R, Minsup) = {S

P (I) | SP (S) ≥ Minsup).
2.2.6 Luật kết hợp
Cho NCKPDL (O, I, R) và ngưỡng Minsup

(0, 1]. Với một S

FS (O, I, R,
Minsup), gọi X và Y là các tập con khác rỗng của S sao cho S = X

Y và X

Y = ∅.
Luật kết hợp X với Y có dạng X→Y phản ánh khả năng khách hàng mua tập mặt hàng
Y khi mua tập mặt hàng X. Độ phổ biến của luật kết hợp X→Y với S = X→Y là SP
(S).
Độ tin cậy của luật kết hợp X→Y được ký hiệu là CF (X→Y) và được tính
bằng công thức CF (X→Y) = SP (X

Y)/SP (X)
Nguyên lý Apriori.
• Cho S

FS (O, I, R, Minsup), nếu T

S thì T

FS (O, I, R, Minsup).
• Cho T


Z, ta suy ra X

Y

Z.
2.2.6.2. Tính chất 2.2.6.2: Luật kết hợp không có tính tách.
Nếu X

Y

Z thì X

Z và Y

Z chưa chắc xảy ra.
Chẳng hạn xét trường hợp Z có mặt trong giao tác chỉ khi cả tập X và Y cũng có
mặt, tức là Supp (X

Y) = Supp (Z). Nếu độ hỗ trợ X, Y đủ lớn hớn
Supp (X

Y) tức là Supp (X)

Supp (X

Y) và Supp (Y)

Supp (X



Z) = Minconf
2
< Minconf (vi 0 < Minconf < 1), suy ra luật X

Z không có Conf tối thiểu, tức là X

Z không thoả mãn trên D.
2.2.6.4. Tính chất 2.2.6.4
Nếu luật X

(L-X) không thoả mãn độ tin cậy cực tiểu thì luật Y

(L-Y)
cũng không thoả mãn với các tập mục Y

X

L.
2.3. Tìm tập phổ biến
2.3.1. Một số khái niệm
Cho NCKPDL (O, I, R) và Minsup

(0, 1], tìm FS (O, I, R, Minsup). Thuật
toán được xây dựng dựa trên nguyên lý Apriori. Đầu tiên thuật toán sẽ tìm các tập phổ
biến có một phần tử. Sau đó các ứng viên của các tập phổ biến có hai phần tử sẽ được
tạo lập bằng cách hợp các tập phổ biến có một phần tử. Một cách tổng quát, các tập
ứng viên của tập phổ biến có k phần tử sẽ được tạo từ các tập phổ biến có k-1 phần tử.
Gọi F
k

j
∈ I : CSDL giao dịch
- Giao dịch t chứa X nếu X là tập các hạng mục trong I và X ⊆ t
VD : X = {bánh mì, sữa chua}
- Độ phổ biến (supp) của tập các hạng mục X trong CSDL D là tỷ lệ giữa số
các giao dịch chứa X trên tổng số các giao dịch trong D.
Supp (X) = count (X) / | D |
Tập các hạng mục phổ biến S hay tập phổ biến (Frequent Itemset) là tập các
hạng mục có độ phổ biến thỏa mãn độ phổ biến tối thiểu
Nếu Supp (S) ≥ Minsup thì S - tập phổ biến.
- Tính chất của tập phổ biến (Apriori).
Tất cả các tập con của tập phổ biến đều là tập phổ biến.
2.3.2. Thuật toán Apriori
2.3.2.1. Mô tả thuật toán
Đầu tiên thực hiện duyệt CSDL để tìm các mục riêng biệt trong CSDL và độ hỗ
trợ tương ứng của nó. Tập thu được là C
1
. Duyệt tập C
1
loại bỏ các mục có độ hỗ trợ <
Minsup, 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

Input: Tập L
k+1
là tập (k+1)-Itemset phổ biến.
Output: Tập C
k
là tập các ứng cử viên cho tập mục phổ biến k-Itemset
Tập các ứng cử k-Itemset được sinh ra từ việc kết nối L
k-1
với chính nó. Giả sử
l
1,
l
2
là các tập mục của L
k-1
. Ta ký hiệu l
j
[i] là mục thứ Itemset trong tập mục l
j
,việc kết
nối L
k-1
với L
k+1
được thực hiện như sau: Các tập mục của L
k-1
được kết nối với nhau
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 19
Chương II: Tập phổ biền và luật kết hợp
nếu mục đầu của chúng trùng nhau và l

[k-1] < l
2
[k-1] để đảm bảo không sinh lặp lại các tập đã sinh. Kết
quả tập mục thu được sau khi kết nối l
1
và l
2
sẽ là
(l
1
[1], l
1
[2], v.v.l
1
[k-2], l
1
[k-1], l
2
[k-1]).
Bước tỉa (Prune)
Input: C
k
– là tập các ứng cử k-Itemset
Output: L
k
– là tập các tập k-Itemset phổ biến
Ta có C
k
⊇L
k

qua các bước sau
Nhận xét :
Trong lần lặp đầu tiên của thuật toán, mỗi mục là một thành viên của tập ứng cử
C
1
. Thuật toán thực hiện quét tất cả các giao dịch của D theo đó đếm số số lần xuất
hiện của mỗi mục.
Giả sử độ hỗ trợ cực tiểu đếm số giao dịch là 50%. Khi đó tập mục phổ biến 1-
Itemset (L
1
), được xác định như sau: L
1
bao gồm tất cả các ứng cử 1-Itemset thoả mãn
độ hỗ trợ tối thiểu. L1={A,B,C,D}
Tìm ra các tập mục phổ biến 2-Itemset (L
2
), thuật toán sử dụng kết nối L
1
với L
1
để sinh ra tập ứng cử 2-Itemset (C
2
). C
2
bao gồm tổ hợp chập lj[i] của các phần tử có
trong L
1
do đó số lượng các phần tử của C
2
được tính như sau:

là:C3={ABC,ABE,ACE,BCE}
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 21
Chương II: Tập phổ biền và luật kết hợp
Sử dụng tính chất Apriori để tỉa bớt các ứng cử: Tất cả các tập con của tập phổ
biến là tập phổ biến. Do đó 3 ứng cử viên của tập C
3
không thể là tập phổ biến vì nó
chứa các tập không phổ biến, ta thực hiện tỉa (loại) bốn tập ứng cử viên đó khỏi C
3
. Cụ
thể như sau:
Các tập {ABC},{ABE},{ACE} không thể lập tập phổ biến vì các tập con {AE},
{AB} không là tập phổ biến. vì vậy C3 lúc này chỉ còn lại tập ứng viên {BCE}.
Việc tỉa bớt các tập ứng cử này sẽ làm giảm bớt việc phải quét CSDL để tính độ
hỗ trợ khi xác định L
3
. Lưu ý rằng, với ứng cử k-Itemset, chúng ta chỉ cần kiểm tra tập
con (k-1)-Itemset có là phổ biến hay không? Vì thuật toán Apriori sử dụng chiến lược
tìm kiếm theo chiều rộng.
Sau đó giải thuật quét tập ứng viên C3 tìm ra tập L3={BCE} thỏa min
support=50%.
Vì tập L3 chỉ có 3 items không thể sinh ra C4 ={} thuật toán sẽ dừng ở đây.
2.3.2.3. Procedure-Code.
Input : CSDL D, Minsup
Output : L : các tập phổ biến trong D
Ck : Tập ứng viên kích thước k
Lk : Tập phổ biến kích thước k
L1 = Tìm_tập_phổ_biến_1_hạng mục (D);
1) L
1

;
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 22

Trích đoạn Khai phá dữ liệu bằng luật kết hợp trong BIDS
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status