Tải bản đầy đủ (.doc) (49 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.3 MB, 49 trang )

ĐẠ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


1.6. Nhiệm vụ chính của khai phá dữ liệu 8
1.6.1. Phân lớp (Classification) 9
1.6.2. Hồi quy (Regression) 9
1.6.3. Gom nhóm (Clustering) 9
1.6.4. Tổng hợp (Summarization) 9
1.6.5. Mô hình ràng buộc (Dependency modeling) 10
1.6.6. Dò tìm biến đổi và độ lệch (Change and Deviation Dectection) 10
1.7. Các phương pháp khai phá dữ liệu 10
1.7.1. Các thành phần của giải thuật khai phá dữ liệu 10
1.7.2. Một số phương pháp khai thác dữ liệu phổ biến 11
Chương II: TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP 15
2.2.1. Ngữ cảnh khai phá dữ liệu 15
2.2.2 Các kết nối Galois 15
2.2.3 Độ hỗ trợ (Support) 15
2.2.4 Độ tin cậy ( Confidence) 16
2.2.5 Tập mặt hàng phổ biến 17
2.2.6 Luật kết hợp 17
2.3. Tìm tập phổ biến 18
2.3.1. Một số khái niệm 18
2.3.2. Thuật toán Apriori 19
2.4.1. Phát biểu bài toán khai phá luật kết hợp 24
2.4.2. Phát triển giải pháp hiệu quả trong khai thác luật kết hợp 26
CHƯƠNG III :ỨNG DỤNG SQL SERVER BUSINESS INTELLIGENCE
DEVELOPMENT STUDIO TRONG KHAI PHÁ DỮ LIỆU 29
3.1 Giới thiệu 29
3.2 Luật kết hợp với Microsoft Association Rule trong BIDS 29
3.2.1 Qui trình Xây dựng mô hình khai phá dữ liệu với BIDS như sau : 29
3.2.2 Khai phá dữ liệu bằng luật kết hợp trong BIDS 30
3.3 Sự kết hợp để phân tích dữ liệu sử dụng nhiều mô hình khai phá dữ liệu 37
3.3.1 Tab Attribute Discrimination 38

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).

Có rất nhiều kỹ thuật khai phá dữ liệu khác nhau cũng như các phần mềm khác
nhau để thực hiện data mining, trong phạm vi đề tài này tập trung nghiên cứu về việc
luật kết hợp trong khai phá dữ liệu và sử dụng công cụ SQL Server Business
Intelligence Development Studio trong data mining cũng như viết chương trình minh
họa thuật toán luật kết hợp.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 1
Chương I: Tổng quan về khai phá dữ liệu
Chương I: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Tổng quan
Khai phá dữ liệu (data mining) được định nghĩa như là một quá trình chắt lọc hay
khai phá tri thức từ một lượng lớn dữ liệu. Một ví dụ hay được sử dụng là là việc khai
thác vàng từ đá và cát, Dataming được ví như công việc "Đãi cát tìm vàng" trong một
tập hợp lớn các dữ liệu cho trước. Thuật ngữ Data mining ám chỉ việc tìm kiếm một
tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô. Có nhiều thuật ngữ hiện
được dùng cũng có nghĩa tương tự với từ Data mining như Knowledge Mining (khai
phá tri thức), knowledge extraction(chắt lọc tri thức), data/patern analysis(phân tích dữ
liệu/mẫu), data archaeoloogy (khảo cổdữ liệu), data dredging(nạo vét dữ liệu),
Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹthuật được sử dụng để tự động
khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu
khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó.
1.2. Khai phá dữ liệu và phát hiện tri thức
Yếu tố thành công trong mọi hoạt động kinh doanh ngày nay là việc biết sử
dụng thông tin có hiệu quả. Điều đó có nghĩa là từ các dữ liệu có sẵn phải tìm ra những
thông tin tiềm ẩn mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển
và những yếu tố tác động lên chúng. Thực hiện công việc đó chính là quá trình phát
hiện tri thức trong cơ sở dữ liệu mà trong đó kỹ thuật cho phép ta lấy được các tri thức
chính ra từ kỹ thuật khai phá dữ liệu.
Nếu quan niệm tri thức là mối quan hệ của các mẫu giữa các phần tử dữ liệu thì
quá trình phát hiện tri thức chỉ toàn bộ quá trình triết xuất tri thức từ cơ sở dữ liệu,
trong đó trải qua nhiều giai đoạn khác nhau như: Tìm hiểu và phát hiện vấn đề, thu

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.

1.3.2. Thu thập và tiền xử lý
Các 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
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 3
Chương I: Tổng quan về khai phá dữ liệu
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ừ cơ sở
dữ liệu. Có thể nói giai đoạn này chiếm từ 70%-80% giá thành trong toàn bộ bài toán.
Người ta chia giai đoạn và tiền xử lý dữ liệu như: Gom dữ liệu, chọn dữ liệu,
làm sạch, mã hoá dữ liệu, làm giàu, đánh giá và trình diễn dữ liệu. Các công đoạn này
được thực hiện theo trình tự nhất định cụ thể như sau:
Hình 1.2. Quá trình phát hiện tri thức
1.3.2.1. Gom dữ liệu
Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu. Đây là bước
được khai thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ các
nguồn ứng dụng Web.
1.3.2.2. Chọn lọc dữ liệu
Ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn
nào đó. Đây là giai đoạn chọn lọc, trích rút các dữ liệu cần thiết tứ cơ sở dữ liệu tác
nghiệp vào một cơ sở dữ liệu riêng. Chúng ta chọn ra những dữ liệu cần thiết cho các
giai đoạn sau. Tuy nhiên công việc thu gom dữ liệu vào một cơ sở dữ liệu thường rất
khó khăn vì dữ liệu nằm rải rác khắp nơi trong cơ quan, tổ chức cùng một loại thông
tin, nhưng được tạo lập theo các dạng hình thức khác nhau. Ví dụ nơi này dùng kiểu
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 4
Chương I: Tổng quan về khai phá dữ liệu
chuỗi, nơi kia lại dùng kiểu số để khai báo một thuộc tính nào đó của khách hàng.
Đồng thời chất lượng dữ liệu của các nơi cũng không giống nhau. Vì vậy chúng ta cần
chọn lọc dữ liệu thật tốt để chuyển sang giai đoạn tiếp theo
1.3.2.3. Làm sạch
Giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước
rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi thường mắc phải trong khi

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.

Đây là bước mang tính tư duy trong khai phá dữ liệu.Ở giai đoạn này nhiều
thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán
thường dùng là nguyên tắc phân loại, nguyên tắc kết hợp hoặc các mô hình dữ liệu
tuần tự, v. v.
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.
1.3.2.5. Mã hoá dữ liệu
Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điều
khiển được bởi việc tổ chức lại nó. Dữ liệu đã được chuyển đổi phù hợp với mục đích
khai thác. Mục đích của giai đoạn này là chuyển đổi kiểu dữ liệu về những dạng thuật
tiện để tiến hành các thuật toán khám phá dữ liệu. Có nhiều cách mã hoá dữ liệu như:
- Phân vùng: Dữ liệu là giá trị chuỗi, nằm trong các tập các chuỗi cố đinh.
- Biến đổi giá trị năm thành con số nguyên là số năm đã trôi qua so với năm
hiện hành.
- Chia giá trị số theo một hệ số để tập các giá trị nằm trong vùng nhỏ hơn.
- Chuyển đổi Yes-No thành 0-1.
1.3.2.6. Đánh giá và trình diễn
Đây là giai đoạn cuối trong quá trình khai phá dữ liệu.Ở giai đoạn này, các mẫu
dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải bất cứ mẫu dữ
liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch. Vì vậy, cần phải ưu tiên những
tiêu chuẩn đánh giá để chiết xuất ra các tri thức cần chiết xuất ra.
Trên đây là 6 giai đoạn trong quá trình khai phá dữ liệu.
1.3.3. Khai phá 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ý. Trong giai đoạn này, công việc chủ yếu là xác định được bài toán khai
phá dữ liệu, tiến hành lựa chọn các phương pháp khai thác phù hợp với dữ liệu có
được và tách ta các tri thức cần thiết.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 6

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

Tiếp thị
CSDL
Tiếp thị
KDD &
Data Mining
Nhà kho dữ liệu
Chương I: Tổng quan về khai phá dữ liệu
Hình 1.3: Mô hình lợi ích của khai phá dữ liệu
1.5. Các kỹ thuật khai phá dữ liệu
Kỹ thuật khai phá dữ liệu thường được chia làm 2 nhóm chính: dự đoán
(Predictive) và mô tả (Descriptive).
1.5.1. Kỹ thuật khai phá 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 trong
CSDL hiện có. Các kỹ thuật này gồm có: Phân cụm (clustering), tóm tắt
(summerization), trực quan hoá (visualiztion), 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).v.v.
1.5.2. Kỹ thuật khai phá 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 (regression, Deviation
Detection: Phát hiện độ lệch.
1.6. Nhiệm vụ chính của khai phá dữ liệu
Rõ ràng rằng mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ
được sử dụng cho lợi ích cạnh tranh trên thương trường và các lợi ích trong nghiên cứu
khoa học.
Do đó, ta có thể coi mục đích chính của khai thác dữ liệu sẽ là mô tả và dự
đoán. Các mẫu mà khai phá dữ liệu phát hiện được nhằm vào mục đích này.
Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong cơ sở dữ
liệu để chiết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những giá trị
trong tương lai của các biến đáng quan tâm.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 8

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

mô tả này là một kiểu tổng hợp, tóm tắt mô tả các đặc tính chung của tất cả các bộ dữ
liệu dạng giỏ mua hàng thuộc một lớp.
Các mô tả đặc trưng thể hiện dưới dạng các luật thường có khuôn dạng: “Nếu
một bộ dữ liệu thuộc về một lớp đã chỉ ra trong tiền đề, thì bộ dữ liệu đó có tất cả các
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 9
Chương I: Tổng quan về khai phá dữ liệu
thuộc tính đã nêu trong kết luận”. Những luật này có những đặc trưng khác biệt so với
các luật phân lớp. Luật phát hiện đặc trưng cho một lớp chỉ được sản sinh khi các bộ
dữ liệu thuộc về lớp đó.
1.6.5. Mô hình ràng buộc (Dependency modeling)
Bao gồm việc tìm kiếm một mô hình mô tả sự phụ thuộc đáng kể giữa các
biến. Các mô hình phụ thuộc tồn tại dưới hai mức: Mức cấu trúc của mô hình xác định
các biến nào là phụ thuộc cục bộ với nhau, mức định lượng của một mô hình xác định
độ mạnh của sự phụ thuộc theo một thước đo nào đó.
1.6.6. Dò tìm biến đổi và độ lệch (Change and Deviation Dectection)
Tập trung vào khai thác những thay đổi đáng kể nhất trong dữ liệu từ các giá
trị chuẩn hoặc được đo trước đó.
Vì các nhiệm vụ khác nhau này yêu cầu số lượng và các dạng thông tin rất
khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn giải thuật khai phá
dữ liệu khác nhau. Ví dụ như giải thuật tạo cây quyết định tạo ra được một mô tả phân
biệt được các mẫu giữa các lớp nhưng không có các tính chất và đặc điểm của lớp.
1.7. Các phương pháp khai phá dữ liệu
Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó, giải thuật
khai phá dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, cây
phân lớp, hồi quy, gom nhóm, v. v.
1.7.1. Các thành phần của giải thuật khai phá dữ liệu
Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểu diễn
mô hình, đánh giá mô hình, tìm kiếm mô hình.
• Biểu diễn mô hình: Mô hình được biểu diễn bằng một ngôn ngữ L để mô tả
các mẫu có thể khai thác được. Tức là người phân tích dữ liệu cần phải hiểu đầy đủ 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.

• Phương pháp quy nạp: .Phương pháp quy nạp suy ra các thông tin được sinh
ra từ cơ sở dữ liệu. Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải
bắt đầu với các tri thức đã biết trước. Các thông tin mà phương pháp này đem lại là các
thông tin hay các tri thức cấp cao diễn tả về các đối tượng trong cơ sở dữ liệu. Phương
pháp này liên quan đến việc tìm kiếm các mẫu trong CSDL. Trong khai phá dữ liệu, quy
nạp được sử dụng trong cây quyết định và tạo luật.
1.7.2.2. Cây quyết định và luật
• Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm
phân các đối tượng dữ liệu thành một số lớp nhất định. Các nút của cây được gán nhãn
là tên các thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mô
tả các lớp khác nhau. Các đối tượng được phân lớp theo các đường đi trên cây, qua các
cạnh tương ứng với các giá trị, thuộc tính của đối tượng tới lá.
• Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý
nghĩa về mặt thống kê. Các luật có dạng Nếu P thì Q, với P là mệnh đề đúng với một
phần trong CSDL, Q là mệnh đề dự đoán.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 11
Chương I: Tổng quan về khai phá dữ liệu
Cây quyết định và luật có ưu điểm là hình thức mô tả đơn giản, mô hình suy
diễn khá dễ hiểu đối với người sử dụng. Tuy nhiên, giới hạn của nó là mô tả cây và
luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn về cả độ chính
xác của mô hình.
1.7.2.3. Phát hiện các luật kết hợp
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần 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à tập luật kết hợp
tìm được. Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai
thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện
của B trong cùng bản ghi đó: A = > B.
Việc phát triển một thuật toán phải phát hiện luật này trong cơ sở dữ liệu lớn
là không khó. Tuy nhiên, vấn đề là ở chỗ có thể có rất nhiều luật kiểu này hoặc là ta
chỉ biết một tập nhỏ dữ liệu trong cơ sở dữ liệu lớn thoả mãn tiền đề của luật. Ví dụ chỉ

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

Neuron. Tuy mạng Neuron có một số hạn chế gây khó khăn trong việc áp dụng và phát
triển nhưng nó cũng có những ưu điểm đáng kể.
Hình 1.4.Thể hiện sơ đồ khai phá dữ liệu bằng mạng Neunon.
Một trong số những ưu điểm phải kể đến của mạng Neuron là khả năng tạo
ra các mô hình dự đoán có độ chính xác cao, có thể áp dụng được cho rất nhiều loại bài
toán khác nhau, đáp ứng được nhiệm vụ đặt ra của khai phá dữ liệu như phân lớp, gom
nhóm, mô hình hóa, dự báo các sự kiện phụ thuộc vào thời gian, v.v.
1.7.2.5. Giải thuật di truyền
Giải thuật di truyền, nói theo nghĩa rộng là mô phỏng lại hệ thống tiến hóa
trong tự nhiên, chính xác hơn đó là giải thuật chỉ ra tập các cá thể được hình thành,
được ước lựợng và biến đổi như thế nào? Ví dụ như xác định xem làm thế nào để lựa
chọn các cá thể tạo giống và lựa chọn các cá thể nào sẽ bị loại bỏ. Giải thuật cũng mô
phỏng lại yếu tố gen trong nhiễm sắc thể sinh học trên máy tính để có thể giải quyết
nhiều bài toán thực tế khác nhau.
Giải thuật di truyền là một giải thuật tối ưu hóa. Nó được sử dụng rất rộng
rãi trong việc tối ưu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng
Neuron. Sự liên hệ của nó với các quá trình khai phá dữ liệu. Ví dụ như trong kỹ thuật
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 13
Chương I: Tổng quan về khai phá dữ liệu
cây quyết định, tạo luật. Như đã đề cập ở phần trước, các luật mô hình hóa dữ liệu
chứa các tham số được xác định bởi các giải thuật phát hiện tri thức.
Giai đoạn tối ưu hóa là cần thiết để xác định xem các giá trị tham số nào tạo
ra các luật tốt nhất. Và vì vậy mà giải thuật di truyền đã được sử dụng trong các công
cụ khai phá dữ liệu.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 14
Chương II: Tập phổ biền và luật kết hợp
Chương II: TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP
2.1. Mở đầu
Hiện nay các siêu thị,công ty, doanh nghiệp,ngân hàng đang lưu trữ một lượng
thông tin lớn về bán hàng,vay vốn. Một bản ghi trong cơ sở dữ liệu này chứa các thô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}

Cho X

O, λ (X) = {i

I |

o

X, (o, i)

R}
Trong đó P (X) là tập các tập con của X.
Cặp hàm (ρ, λ) được gọi là kết nối Galois. Giá trị ρ (S) biểu diễn tập các giao
tác có chung tất cả các mặt hàng trong S. Giá trị λ (X) biểu diễn tập mặt hàng có trong
tất cả các giao tác của X.
2.2.3 Độ hỗ trợ (Support)
2.2.3.1. Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu D là tỉ số giữa các
giao tác T

D có chứa tập X là tổng số giao tác trong D (hay là phần trăm của các
giao tác trong D có chứa tập mục X), kí hiệu là Supp (X).
Supp (X)=
{ }
D
TXDT ⊂∈ :
Ta có 0

Supp (X) với mọi tập X.
Hay có thế nói Support chỉ mức độ “thướng xuyên xảy ra” của mẫu.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 15

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


B thì
A cũng là tập mục phổ biến.
Thật vậy, nếu B là tập mục phổ biến thì Supp (B)

Minsup, mọi tập mục A là
tập mục con của tập mục B đều là tập mục thường xuyên trong cơ sở dữ liệu D vì Supp
(A)

Supp (B) (Theo tính chất 2.3.1).
2.2.4.3. Tính chất 2.2.4.3
Giả sử A, B là hai tập mục A

B và A là tập mục không phổ biến thì B cũng là
tập mục không phổ biến.
Thật vậy, A là tập mục không thường xuyên nên Supp (A)

Minsup mà A

B
nên Supp (A)

Supp (B).
Suy ra Supp (B)< Minsup vậy B là tập mục không phổ biến.
2.2.4.4. Tính chất 2. 2.4.4
Giả sử X, Y, Z

I là những tập mục, sao cho X

Y = ∅. Thì:
Conf (X


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

Độ tin cậy của một luật r = X→Y là tỉ số (phần trăm) của số giao tác trong D
chứa X

Y với số giao tác trong D có chứa tập mục X. Kí hiệu độ tin cậy của một luật
là Conf (r). Ta có 0

conf

1.
Nhận xét: Độ hỗ trợ và độ tin cậy chính là xác suất sau:
Supp (X→Y) = P (X

Y).
Conf (X→Y) = P (Y/X) = Supp (X

Y)/Supp (X).
Ta nói rằng với luật có độ tin cậy 85% thì có nghĩa là 85% các giao tác có chứa
X thì cũng chứa Y. Độ tin cậy của một luật là thể hiện mức độ tường quan trong dữ
liệu giữa hai tập X và Y. Độ tin cậy là độ đo mức độ tin cậy của một luật.
2.2.5 Tập mặt hàng phổ biến
Cho NCKPDL (O, I, R) và Minsup

(0, 1] là ngưỡng phổ biến tối thiểu. Cho S

I, độ phổ biến của S ký hiệu là SP (S) là tỉ số giữa số các giao tác có chứa S và số
lượng giao tác trong O. Nói cách khác SP (S)= |ρ (S)| / |O|.
Cho S

I, S là một tập các mặt hàng phổ biến theo ngưỡng Minsup nếu và chỉ
nếu SP (S) ≥ Minsup. Trong các phần sau tập mặt hàng phổ biến sẽ được gọi tắt là tậ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


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

S thì S

FS (O, I, R, Minsup).
2.2.6.1. Tính chất 2.2.6.1: Luật kết hợp không có hợp thành.
Nếu X

Y và Y

Z thoả mãn trên D thì không nhất thiết X

Y

Z là đúng.
Thật vậy, nếu xét trường hợp X

Y= ∅ và các giao dịch trên D hỗ trợ Z khi
và chỉ khi chúng hỗ trợ X hoặc hỗ trợ Y. Khi đó Supp (X

Y) = 0 và Conf (X

Y)
= 0.
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 17
Chương II: Tập phổ biền và luật kết hợp
Tương tự, trường hợp có X

Y và X


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


Y ) thì hai
luật riêng biệt sẽ không đủ độ hỗ trợ.
Tuy nhiên trương hợp ngựơc lại X

Y

Z thì suy ra được X

Y và X

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

Y và Y

Z thoả mãn trên D thì không thể khẳng định X

Z thoả
mãn trên D.
Giả sử T (X)

T (Y)

T (Z) và Conf (X

Y) = Conf (Y

Z) = Minconf.
Khi đó Conf (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

= {S

P (I) | SP (S) ≥ Minsup và |S|= k}. Thuật toán sẽ duyệt từng ứng viên để
tạo Fk bao gồm các ứng viên có độ phổ biến lớn hơn hoặc bằng ngưỡng Minsup.
- Tập các hạng mục (Itemset) I = {i
1
, i
2
, …, i
m
}:
VD : I = {sữa, bánh mì, ngũ cốc, sữa chua}
Tập k hạng mục (k-Itemset).
- Giao dịch t : tập các hạng mục sao cho t ⊆ I
VD : t = {bánh mì, sữa chua, ngũ cốc}
Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 18
Chương II: Tập phổ biền và luật kết hợp
- CSDL D = {t
1
, t
2
, …, t
n
}, ti= {ii
1
, ii
2
, …, ii
k
} với ii

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

. Duyệt CSDL xác định độ hỗ trợ của các tập mục
trong C
2
. Duyệt C
2
Loại bỏ các tập mục có độ hỗ trợ < Minsup, các tập mục còn lại của C
2
là tập các tập 2-Itemset (L
2
) phổ biến. L
2
lại được sử dụng để sinh ra L
3
và cứ tiếp tục như
vậy cho đến khi tìm được tập mục k-Itemset L
k
mà L
k
= ∅ (tức là không có tập mục phổ
biến nào được tìm thấy) thì dừng lại.
Tập các tập mục phổ biến của CSDL là: ∪
k
i-1
= L
1.
Để tăng hiệu quả của thuật toán trong quá trình sinh các tập mục ứng cử, ta sử
dụng tính chất của tập mục phổ biến để làm giảm số lượng tập các tập ứng cử, không
phải là tập phổ biến được sinh ra. Tính chất đó là: Tập các tập con khác rỗng của tập
mục phổ biến đều là tập mục phổ biến.
Bước nối:

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

1
[k-1]<l
2
[k-1]. Tức là hai tập mục l
1
và l
2
của L
k-
1
có thể kết nối được với nhau nếu thoả mãn:
(L
1
[1] = L
2
[1])^(L
1
[2] = L
2
[2])^ ^(L
1
[k-2] = L
2
[k-2])^(L
1
[k-1] = L
2
[k-1])
Điều kiện l
1

[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

các thành phần của C
k
có thể là phổ biến hoặc không phổ biến,
nhưng tất cả các tập k-Itemset đều nằm trong C
k
.
Bước này chúng ta thực hiện các công việc sau: Quét CSDL D một lần tính độ
hỗ trợ cho mỗi tập mục trong C
k
. Loại bỏ những tập mục có độ hỗ trợ nhỏ hơn hoặc
bằng giá trị Minsup cho trước khỏi C
k
. Tập C
k
thu được chính là L
k
.
Tuy nhiên tập Ck có thể rất lớn và vì vậy nó làm cho công việc tính toán trở nên
phức tập. Để giảm kích thước của tập Ck thì ta sử dụng tính chất Apriori: Bất kỳ một
tập (k-1)-Itemset không phổ biến thì nó không thể là tập con của tập k-Itemset phổ
biến, Do đó, nếu bất kỳ tập con (k-1)-Itemset của ứng cử k-Itemset không có mặt trong
Lk-1 thì ứng cử đó không là phổ biến, và do vậy có thể loại bỏ tập mục này khỏi Ck.
Việc kiểm tra các tập con (k-1)-Itemset có thể được thực hiện một cách nhanh chóng
bằng cách duy trì một cây băm .
2.3.2.2. Ví dụ minh hoạ cho thuật toán Apriori
Giả sử ta có có sở dữ liệu giao dịch (Transaction Database -TDB) như sau:

Báo Cáo Thu Hoạch Khai Phá Dữ Liệu Trang 20
Chương II: Tập phổ biền và luật kết hợp
Thuật toán Apriori với với yêu cầu min support>=50% luật kết hợp được mô tả

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:

|C
2
| = C
2
|1|L
= C
2
4
=
!2!2
!4
= 6
Tiếp theo, quét các giao dịch trong D và tính độ hỗ trợ của các tập ứng cử trong
C
2
.
Tập mục phổ biến 2-Itemset L
2
được xác định, bao gồm các tập mục 2-Itemset
là ứng cử trong C
2
có độ hỗ trợ lớn hơn hoặc bằng độ hỗ trợ tối thiểu Minsup.
L2={AC,BC,BE,CE}.
Sinh các tập ứng cử 3-Itemset, C
L¬k-1
bằng cách, kết nối L
2
với chính nó ta nhận
được kết quả C
3

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

= {large 1-itemsets};
2) for ( k = 2; L
k-1
≠ ∅; k++ ) do begin
3) C
k
= apriori-gen(L
k-1
); // Ứng Viên Mới
4) forall transactions t ∈ D do begin
5) C
t
= subset(C
k
, t); // Ứng viên trong t
6) forall candidates c ∈ C
t
do
7) c.count++;
8) end
9) L
k
= {c ∈ C
k
| c.count≥ minsup}
10) end
11) Answer = U
k
L
k

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

×