khai phá dữ liệu bằng luật kết hợp
Trang 1NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 2
LỜI NÓI ĐẦU
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, nó được ứng dụng rất nhiềutrong các lĩnh vực khác nhau của cuộc sống như: Giáo dục, Y tế, Kinh tế, Khoa học,Xây dưng, Nó đã trở thành một phần không thể thiếu được trong cuộc sống hàngngà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 những năm 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 quantrọng Bên cạnh đó các thiết bị thu thập dữ liệu tự động tương đối phát triển đã tạo
ra những kho dữ liệu khổng lồ 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ốngmạng viễn thông, người ta đã xây dựng các hệ thống thông tin nhằm tự động hoámọi hoạt động kinh doanh của mình Điều này đã tạo ra một dòng dữ liệu tăng lênkhông ngừng ví ngay từ các các giao dịch đơn gian nhất như một cuộc điện thoại,kiểm tra sức khỏe, sử dụng thẻ tín dụng, v.v.đều được ghi vào trong máy tính Chotới nay con số này đã trở lên khổng lồ, bao gồm các cơ sở dữ liệu, thông tin kháchhà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, Vấn đề đặt ra là làm thế nào để sử lý khối lượng thông tin cực lớn nhưvậy để phát hiện ra các tri thưc tiềm ẩn trong nó
Để 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 đượcphá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ênchú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)
Từ những lý do đó chúng em đã hiểu về đề tài Khai phá dữ liệu bằng luật kết hợp Nhằm phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra những mẫu
thông tin, hoạt động có tính chính quy trong tập dữ liệu mà người sử dụng mong muốn, đồng thời để áp dụng vào bài toán Quản lý bán hàng tại siêu thị
Trong quá trình làm đồ án để hoàn thành đề tài này chúng đã nhận được sựgiúp đỡ chỉ bảo tận tình của các thầy cô giáo trong khoa công nghệ thông tin và các
bạn trong lớp, đặc biệt là thầy giáo Trần Hùng Cường Nhưng do thời gian có giới
hạn và năng lực còn hạn chế nên không tránh khỏi những sai sót, chúng em mongnhận được sự góp ý hơn nữa của thầy cô và các bạn
Chúng em cũng xin chân thành cảm ơn các thầy giáo, cô giáo trong khoaCông Nghệ Thông Tin đã tạo điều kiện giúp đỡ chúng em trong xuốt thời gian làm
đồ án và học tập tại trường
Trang 3Chúng em xin chân thành cảm ơn các bạn cùng lớp đã tạo điều kiện chochúng em hoàn thành tốt luận văn này
Chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện:
Phạm Thị Hoàn Trần Việt Phương Đông
Lớp CĐ-ĐH-KHMT3-K1
Trang 4TÓM TẮT ĐỒ ÁN
Nội dung của đồ án là những kiến thức về khai phá dữ liệu sử dụng luật kếthợp, các thuật toán kinh điển trong quá trình sử dụng luật kết hợp, cách áp dụngthuật toán Apriori vào một phần nhỏ trong bài toán Quản lý bán hàng tại siêu thị
Phân tích cơ sở dữ liệu và cài đặt thuật toán Apriori để áp dụng một phầnnhỏ vào bài toán Quản lý bán hàng tại siêu thị
Đồ án bao gồm có 3 chương, với các nội dung như sau:
Chương I: Tổng quan về khai phá dữ liệu Nội dung trong chương này sẽ
được trình bày bao gồm: Khai phá dữ liệu và phát hiện tri thức, quá trình phát hiện
tri thức từ cơ sở dữ liệu, khai phá dữ liệu có lợi ích gì? Các kỹ thuật khai phá dữliệu, nhiêm vụ chính của khai phá dữ liệu, các phương pháp khai phá dữ liệu, ứngdụng của khai phá dữ liệu và một số thách thức đặt ra cho việc khai phá dữ liệu
Chương II: Tập phổ biến và luật kết hợp: Nội dung đuợc trình bày bao
gồm: Một số khái niệm, tính chất cơ bản của tập phổ biến và luật kết hợp, tìm tậpphổ biến, một số thuật toán cơ bản về luật kết hợp, một số ví dụ minh họa các thuậttoán
Chương III: Cách cài đặt và thử nghiệm thuật toán tìm tập phổ biến và luật kết hợp: Phân tích một cơ sở dữ liệu, trình bày về cách cài đặt chương trình
khai thác luật kết hợp trong việc quản lý bán hàng tại siêu thị Dựa vào kết quả này
mà người quản lý bán hàng tại thị siêu nắm bắt được những nhóm mặt hàng nào cóliên quan tới nhau, phục vụ cho mục đích quản lý và lựa chọn các mặt hàng để kinhdoanh
Trang 5SUMMARY OF THE PROJECT
This project’s content is the knowledge of data mining which usesassociation rules, the classical algorithms in the proccess of using association rules,how to apply Apriori Algorithms to a small part on Sales Management Problem insupermarket
The purposes of this project are:
Analysing data and using technique to find out sample informations,actions which have regular nature in data files that users want
Bringing out the classical algorithms such as Apriori, the algorithms offinding association rules without arising subsets (candidates) which base on FP-Tree Structure etc in using association rules to analyse any database
Analysing database and installing Apriori Algorithms to apply partly toSales Management Task in supermarket
The project has 3 chapters, with main content as follows:
Chapter I: Overview of data mining The contents of this chapter which
will be presented consist of: Data Mining and Knowledge Discovery in database,the advantages of data mining? Techniques of data mining, main task of datamining, methods of data mining, application of data mining and some challengeswhich are set up for data mining
Chapter II: Frequent- Itemset and Association Rules This chapter’s
content includes in: some concepts, basic property of Frequent- Itemset andAssociation Rules, searching for Frequent- Itemset, some basic algorithms ofAssociation Rules, some examples which illustrates algorithms
Chapter III: How to install and test The Algorithms of finding Frequent Itemset and Association Rules They are: Analysing one database, presenting the
way to install program “ Exploiting Frequent Itemset in Sales Management insupermarket” Sales Manager bases on this result to know gather of related product
to statisfy the purpose of management and choice products to do bussiness
Trang 6MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 1
LỜI NÓI ĐẦU 2
TÓM TẮT ĐỒ ÁN 4
SUMMARY OF THE PROJECT 5
DANH SÁCH HÌNH VẼ 9
ANH SÁCH BẢNG BIỂU 10
DANH SÁCH CÁC TỪ VIẾT TẮT 11
MỞ ĐẦU 12
Chương I: TỔNG QUAN VỀ KHAI PHÁI DỮ LIỆU 13
1.1 Đặt vấn đề 13
1.2 Khai phá dữ liệu và phát hiện tri thức 14
1.3 Quá trình phát hiện tri thức từ cơ sở dữ liệu 14
1.3.1 Xác định bài toán 15
1.3.2 Thu thập và tiền xử lý 15
1.3.2.1 Gom dữ liệu 16
1.3.2.2 Chọn lọc dữ liệu 16
1.3.2.3 Làm sạch 16
1.3.2.4 Làm giàu dữ liệu 17
1.3.2.5 Mã hoá dữ liệu 17
1.3.2.6 Đánh giá và trình diễn 17
1.3.3 Khai phá dữ liệu 18
1.3.4 Phát biểu và đánh giá kết quả 18
1.3.5 Sử dụng tri thức đã phát hiện 18
1.4 Khai phá dữ liệu có những lợi ích gì 18
1.5 Các kỹ thuật khai phá dữ liệu 19
1.5.1 Kỹ thuật khai phá dữ liệu mô tả 19
1.5.2 Kỹ thuật khai phá dữ liệu dự đoán 19
1.6 Nhiêm vụ chính của khai phá dữ liệu 19
1.6.1 Phân lớp (Classification) 20
1.6.2 Hồi quy (Regression) 20
1.6.3 Gom nhóm (Clustering) 20
1.6.4 Tổng hợp (Summarization) 20
Trang 71.6.5 Mô hình ràng buộc (Dependency modeling) 20
1.6.6 Dò tìm biến đổi và độ lệch (Change and Deviation Dectection) 21
1.7 Các phương pháp khai phá dữ liệu 21
1.7.1 Các thành phần của giải thuật khai phá dữ liệu 21
1.7.2 Một số phương pháp khai thác dữ liệu phổ biến 22
1.7.2.1 Phương pháp quy nạp (Induction) 22
1.7.2.2 Cây quyết định và luật 22
1.7.2.3 Phát hiện các luật kết hợp 22
1.7.2.4 Mạng Neuron 23
1.7.2.5 Giải thuật di truyền 24
1.8 Ứng dụng của khai phá dữ liệu 24
1.9 Một số thách thức đặt ra cho việc khai phá dữ liệu 25
Chương II: TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP 27
2.1 Mở đầu 27
2.2 Các khái niệm cơ bản 27
2.2.1 Định nghĩa 2 2.1: Ngữ cảnh khai phá dữ liệu 27
2.2.2 Định nghĩa 2 2 2: Các kết nối Galois 27
2.2.3 Định nghĩa 2.2.3: Độ hỗ trợ (Support) 27
2.2.4 Định nghĩa 2 2.4: Độ tin cậy ( Confidence) 28
2.2.5 Định nghĩa 2.2.5: Tập mặt hàng phổ biến 29
2.2.6 Định nghĩa 2.2.6: Luật kết hợp 29
2.3 Tìm tập phổ biến 30
2.3.1 Một số khái niệm 30
2.3.2 Thuật toán Apriori 31
2.4 Tìm luật kết hợp 36
2.4.1 Phát biểu bài toán khai phá luật kết hợp 36
2.4.2 Phát triển giải pháp hiệu quả trong khai thác luật kết hợp 38
2.5 Quy trình khai thác luật kết hợp 40
2.6 Một số thuật toán khác 41
2.6.1 Thuật toán khai phá song song cho luật kết hợp mờ 41
2.6.2 Thuật toán FP-Growth 42
Chương III: CÀI ĐẶT VÀ THỬ NGHIỆM THUẬT TOÁN TÌM TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP 52
Trang 83.1 Phát biểu bài toán 52
3.2 Lựa chọn thuật toán để cài đặt phần mềm 52
3.3 Yêu cầu khi cài đặt thuật toán 52
3.4 Cơ sở dữ liệu 53
3.4.1 Giao diện chính của cơ sở dữ liệu 53
3.4.2 Bảng danh mục các Nhà cung cấp hàng hóa 54
3.4.2 Bảng danh mục các Hàng Hoá 55
3.4.4 Bảng danh mục các Khách Hàng 56
3.4.5 Bảng danh mục các Hoá Đơn 57
3.4.6 Bảng danh mục chi tiết Hoá Đơn 58
3.4.7 Ghi XML 59
3.5 Giao diện chính chương trình 59
3.6 Kết nối dữ liệu 60
3.7 Thêm dư liệu XML 60
3.8 Kết quả phân tích 61
3.9 Kết quả lọc MinSup = 10 61
3.10 Kết quả lọc MinCon = 40% 62
KẾT LUẬN CHUNG 63
HƯỚNG PHÁT TRIỂN ĐỀ TÀI 64
BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT - ANH 65
TÀI LIỆU THAM KHẢO 65
Trang 9DANH SÁCH HÌNH VẼ
Hình 1.1 Quá trình phát hiện tri thức từ cơ sở dữ liệu 14
Hình 1.2 Quá trình phát hiện tri thức 15
Hình 1.3: Mô hình lợi ích của khai phá dữ liệu 19
Hình 1.4.Thể hiện sơ đồ khai phá dữ liệu bằng mạng Neunon 24
Hình 2.5 Minh họa luật kết hợp không có tính tách 30
Hình 3.1 Giao diện chính của cơ sở dữ liệu 53
Hình 3.2 Danh mục nhà cung cấp 54
Hình 3.3 Danh mục hàng hóa 55
Hinh 3.4.Danh mục khách hàng 56
Hình 3.5 Danh mục hóa đơn 57
Hình 3.6 Danh mục chi tiết hóa đơn 58
Hình 3.7 Ghi XML 59
Hình 3.8 Giao diện chính của chương trình 59
Hình 3.9 Kết nối dữ liệu 60
Hình 3.10 Thêm dư liệu XML 60
Hình 3.11 Kết quả phân tích 61
Hình 3.12 Kết quả lọc độ phổ biến tối thiểu 61
Hình 3.13 Kết quả lọc độ tin cậy 62
DANH SÁCH BẢNG BIỂU
Trang 10Bảng 2.1 CSDL sử dụng minh hoạ thuật toán Apriori 33
Bảng 2 2 Kết quả thực hiện thuật toán Aprori cho CSDL D 34
Bảng 2 3 Ví dụ về một CSDL giao dịch – D 37
Bảng 2.4 Tập mục thường xuyên Minsup = 50% 37
Bảng 2.5 Luật kết hợp sinh từ tập mục phổ biến ABE 38
Bảng 2.6 Cây FP 43
Bảng 2.7 Cây FP 44
Bảng 2.8 Cây FP 45
Bảng 2.9 Cây FP 46
Bảng 2.10 Cây FP 47
Bảng 2.11 Cây FP 48
Bảng 2.12 Cây FP 48
Bảng 2.13 Cây FP 49
Bảng 2.14.Cơ sở dữ liệu 50
DANH SÁCH CÁC TỪ VIẾT TẮT
Trang 11KDD Phát hiện tri thức trong cơ sở dữ liệu
Trang 12MỞ ĐẦU
Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tintrong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồngnghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một nhiều lên
Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn 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ảilà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ó.Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống không đáp ứngđược kỳ vọng này, nên đã ra đời Kỹ thuật phát hiện tri thức và khai phá dữ liệu(KDD - Knowledge Discovery and Data Mining)
Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu,ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹthuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưavào ứng dụng
Hiện nay có rất nhiều phương pháp để kinh doanh cũng như có rất nhiềuphần mềm để quản lý việc kinh doanh đó Ví dụ như phần mềm quản lý bán hàngtại thị siêu bằng Fox, C#, VB, Tuy nhiên đề tài này chúng em không xây dựng mộtphần mềm quản lý bán hàng tại thị siêu hoàn chỉnh mà chỉ tìm hiểu và cài đặt mộtkhía cạnh nhỏ trong bài toán Quản lý bán hàng tại siêu thị Đó là phân tích dữ liệubằng luật kết hợp trong quá trình tìm hiểu các mặt hàng có liên quan tới nhau nhưthế nào? Giúp cho nhà quản lý tìm hiểu, phân tích để lựa chọn các mặt hàng kinhdoanh tốt hơn
Trong phạm vi của đề tài nghiên cứu này, chúng em xin được trình bày:Những kiến thức về khai phá dữ liệu sử dụng luật kết hợp Đây là dạng luậtkết hợp tương đối đơn giản nhưng tính hiệu quả cao, giúp tìm ra được những luật
Trang 13Chương I: TỔNG QUAN VỀ KHAI PHÁI DỮ LIỆU1.1 Đặt vấn đề
Trong kỉ nguyên Internet, Intranets, Warehouses, đã mở ra nhiều cơ hội chonhững nhà doanh nghiệp trong việc thu thập và xử lý thông tin Hơn nữa, các côngnghệ lưu trữ và phục hồi dữ liệu phát triển một cách nhanh chóng vì thế cơ sở dữliệu ở các cơ quan, doanh nghiệp, đơn vị ngày càng nhiều thông tin tiềm ẩn phongphú và đa dạng
Cơ sở dữ liệu trong các doanh nghiệp thì dữ liệu giao dịch đóng một vai tròrất quan trọng cho việc hoạch định kế hoạch kinh doanh trên thương trường vàonhững năm tiếp theo Hiện tại, việc sử dụng các dữ liệu này tuy đã đạt được một sốkết quả nhất định song vẫn còn một số vấn đề tồn đọng như:
- Dựa hoàn toàn vào dữ liệu, không sử dụng tri thức có sẳn về lĩnh vực, kếtquả phân tích khó có thể làm rõ được
- Phải có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thếnào và ở đâu
Trong điều kiện và yêu cầu của xã hội, đòi hỏi phải có những phương phápnhanh, phù hợp, tự động, chính xác và có hiệu quả để lấy được thông tin có giá trị.Các tri thức chiết xuất được từ cơ sở dữ liệu trên sẽ là một nguồn tài liệu hỗ trợ cholãnh đạo trong việc lên kế hoạch hoạt động hoặc trong việc ra quyết định sản xuấtkinh doanh Vì vậy, tính ứng dụng của khai phá dữ liệu bằng luật kết hợp từ cơ sở
dữ liệu giao dịch là một vấn đề đang được quan tâm đặc biệt trong xã hội hiện nay
Mục đích của việc nghiên cứu là xây dựng một giải pháp hiệu quả tính ứngdụng luật kết hợp trong việc ra quyết định của cơ quan doanh nghiệp dựa trên cơ sở
Có rất nhiều kỹ thuật khai phá dữ liệu khác nhau tuân theo các bước quátrình phát hiện tri thức, để giải quyết các nhiệm vụ để khai phá dữ liệu Sau đâychúng em sẽ lần lượt trình bày những vẫn đề đã nêu ra
Trang 141.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 ranhững thông tin tiềm ẩn mà trước đó chưa được phát hiện, tìm ra những xu hướngphá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ệuthì 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áthiệ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ộtgiai đ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 trithứ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ươngpháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người làmtrung 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
Sử dụng tri thức và phát hiện được triết xuất tri thức
Hình 1.1 Quá trình phát hiện tri thức từ cơ sở dữ liệu
Mặc dù có 5 giai đoạn như trên( hình 1.1) xong 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 đó
Trang 15lầ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ứngmang 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 trongviệ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.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 thuthậ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ừ
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ạnnày được thực hiện theo trình tự nhất định cụ thể như sau:
Knowledge
Pattern Discovery
Transforme
d Data
Cleansed Preprocessed Preparated Data
Target Data
Gom DL
Mã hoá DL
Chọn lọc DL
Làm giàu DL Làm sạch DL
Đánh giá & trình diễn
Internet,
Hình 1.2 Quá trình phát hiện tri thức
Trang 161.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ẩnnà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ácnghiệ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 chocá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ệuthường rất kho khăn vì dữ liệu nằm rải rác khắp nơi trong cơ quan, tổ chức cùngmộ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 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ộtbướ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ảitrong khi gom dữ liệu là tính không đủ chặt chẻ, logíc Vì vậy, dữ liệu thường chứacá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ếnhà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ấtquan 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ườnghợ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 rahiệ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ộctinh 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
Trang 17- Xử lý nhiễu và các ngoại lệ: Thông thường nhiễu dữ liệu có thể là nhiễungẫ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ácngoạ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ênquan 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 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àynhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuậttoá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áckhuô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ớimụ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ữngdạ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ămhiệ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ácmẫ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 ưutiê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
Trang 181.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ánkhai 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
Là giai đoạn thiết yếu, trong đó các phương pháp thông minh sẽ được ápdụ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áocá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áthiệ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ằngcá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 đó trithứ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ụngtrong 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 đó
Trang 19
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:
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ệutrong 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)…
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êncứ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
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)
Trang 20- 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.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ânbiế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ớibằ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ốngnhau 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 đotia 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 thuộc tính đã nêu trong kết luận” Những luật này có những đặc trưng khácbiệ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ảnsinh 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ácbiế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ìnhxác định độ mạnh của sự phụ thuộc theo một thước đo nào đó
Trang 211.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ácgiá 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ấtkhác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn giải thuật khaiphá 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ểmcủ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ậtkhai 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ểudiễ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ênquan đế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
- Tìm kiếm tham số: Để tối ưu hóa các tiêu chuẩn đánh giá mô hình vớicá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áptì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 ápdụ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ảnkhông dễ đạt được
Trang 221.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ựchiệ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 khaiphá 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 đượcgá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ộctí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ớimột phần trong CSDL, Q là mệnh đề dự đoán
Cây quyết định và luật có ưu điểm là hình thức mô tả đơn giản, mô hìnhsuy 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ếthợ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ợpgiữ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ệulớ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
Trang 23Ví 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ậtkế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ôngthể 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ẳnghạn ta có luật: Âm nhạc, ngoại ngữ, thể thao = > CD, nghĩa là những người muasá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ómtươ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ớnhơ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ậychúng ta cần thêm một độ đo thứ hai đó là độ tin cây (Confidence) Độ tin cậy là phầntră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ậtdạ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
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ấutrú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ôngchí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 xuhướ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 đếnmạng Neuron Tuy mạng Neuron có một số hạn chế gây khó khăn trong việc ápdụng và phát triển nhưng nó cũng có những ưu điểm đáng kể
Trang 24Mô hình mạng Neuron
Mẫu chiết xuất được
Dữ liệu
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ăngtạ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ềuloạ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ếnhó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ìnhthà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ảithuậ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ấtrộ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ậtmạ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 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àotạ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áccông cụ khai phá dữ liệu
1.8 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như:
Hệ CSDL, thống kê, trực quan hoá.v.v Hơn nữa, tuỳ vào cách tiếp cận được sửdụng, khai phá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơron, lýthuyết tập thô, tập mờ, biểu diễn tri thức, v.v.So với các phương pháp này, khai phá
dữ liệu có một số ưu thế rõ rệt
So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khaiphá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ
Trang 25hoặc biến đổi liên tục Trong khi đó phương pháp học máy chủ yếu được áp dụngtrong các CSDL đầy đủ, ít biến động và tập dữ liệu không qua lớn.
Phương pháp hệ chuyên gia: Phương pháp này khác với khai phá dữ liệu
ở chỗ các ví dụ của chuyên gia thường ở mức cao hơn nhiều so với các dữ liệu trongCSDL, và chúng thường chỉ bao hàm được các trường hợp quan trọng Hơn nữa cácchuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được
Phương pháp thống kê là một trong những nên tảng lý thuyết của khaiphá dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phươngpháp thống kê còn tồn tại một số điểm yếu mà khai phá dữ liệu khắc phục được
Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu cócấu trúc trong rất nhiều CSDL
Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không sửdụng tri thức có sẵn về lĩnh vực
Kết quả phân tích của hệ thống sẽ rất nhiều và khó có thể làm rõ ra được.Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác địnhphân tích dữ liệu như thế nào và ở đâu
Với nhưng ưu điểm đó, khai phá dữ liệu hiện đang được áp dụng mộtcách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau như:Marketing, tài chính, ngân hàng và bảo hiểm, khoa học, y tế, an ninh,internet.v.v.rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khaiphá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu được những lợiích to lớn
Một số ứng dụng của khai phá dữ liệu trong lĩnh vực kinh doanh:
Brandaid: Mô hình Marketing linh hoạt tập chung vào hàng tiêu dùng.Callpla: Giúp nhân viên bán hàng xác định số lần viếng thăm của kháchhàng triển vọng và khách hàng hiện có
Detailer: Xác định khách hàng nào nên viếng thăm và sản phẩm nào nêngiới thiệu trong từng chuyến viếng thăm
Geoline: Mô hình thiết kế địa bàn tiêu thụ và dịch vụ
Mediac: Giúp người quảng cáo mua phương tiện trong một năm, lập kếhoạch sử dụng phương tiện bao gồm phác hoạ khúc thị trường, ước tính tiềm năng
1.9 Một số thách thức đặt ra cho việc khai phá dữ liệu
Trang 26Quan hệ giữa các trường phức tạp.
Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
Tích hợp với các hệ thống khác…
* Kết luận chương I
Qua chương I chúng ta đã biết được thế nào là tổng quan về khai phá dữ liệu
Nó bao gồm một số nội dung sau:
Khai phá dữ liệu và phát hiện tri thức: Là quá trình khám phá tri thức tiềm ẩntrong cơ sở dữ liệu
Quá trình phát hiện tri thức từ cơ sở dữ liệu: Là một quá trình có sử dụngnhiều phương pháp và công cụ tin học để tìm ra một cơ sở dữ liệu có ích cho người
sử dụng
Khai phá dữ liệu có lợi ích gì: Cung cấp tri thức và hỗ trợ việc ra quyết định,
dự báo, khái quát dữ liệu
Các kỹ thuật khai phá dữ liệu: Có rất nhiều các kỹ thuật nhưng thường sửdụng kỹ thuật mô tả và dự đoán
Nhiệm vụ của khai phá dữ liệu: Phân lớp, hồi quy, gom nhóm, tổng hợp, môhình ràng buộc, dò tìm biến đổi và độ lệch
Các phương pháp khai phá dữ liệu: Phương pháp quy nạp, cây quyết định vàluật, phát hiện các luật kết hợp, mạng Neuron, giải thuật di truyền
Ứng dụng của khai phá dữ liệu: Marketing, tài chính, ngân hàng và bảohiểm, khoa học, y tế, an ninh, internet…
Một số thách thức đặt ra cho việc khai phá dữ liệu: Cơ sở dữ liệu lớn, dữ liệu
bị thiếu hoặc nhiễu, quan hệ giữa các trường phức tạp.v.v
Trang 27Chương II: TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP2.1 Mở đầu
Hiện nay các công ty, doanh nghiệp đang lưu trữ một lượng thông tin lớn vềbán hàng 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, chúng ta có thể tìm ra các mốiquan 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 sách ngoại ngữ thì sẽ mua đĩa CD hoặc VCD.
2.2 Các khái niệm cơ bản
2.2.1 Định nghĩa 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 oO và iI,(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 Định nghĩa 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) = {ooO |iS, (o, i) R}
Cho X O, λ (X) = {oi I | oX, (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 giaotá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 Định nghĩa 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ácgiao tác trong D có chứa tập mục X), kí hiệu là Supp (X)
Supp (X)= TD D:X T
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
2.2.3.2 Độ hỗ trợ của luật X→Y là tỉ số của số giao tác có chứa XY và sốgiao tác trong cơ sở dữ liệu D, kí hiệu là Supp (X→Y)
Supp (X→Y)= TD:XDYT
Trang 28Như vậy độ hỗ trợ của một luật bằng 50% nghĩa là có 50% số giao tác cóchứa tập mục XY Độ hỗ trợ có ý nghĩa thống kê của luật kết hợp.
2.2.4 Định nghĩa 2 2.4: Độ tin cậy ( Confidence)
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
Nhận xét: Độ hỗ trợ và độ tin cậy chính là xác suất sau:
Supp (X→Y) = P (XY)
Conf (X→Y) = P (Y/X) = Supp (XY)/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 quantrong 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
Trang 292.2.5 Định nghĩa 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) = {oS P (I) | SP (S) ≥ Minsup)
2.2.6 Định nghĩa 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 = XY 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ậpmặ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ínhbằng công thức CF (X→Y) = SP (XY)/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)
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
Để giải thích cho tính chất này ta phân tích ví dụ sau:
Trang 30Hình 2.5 Minh họa luật kết hợp không có tính tách
Khi Z thể hiện trong một giao dịch chỉ nếu cả X và Y đều thể hiện giao dịch
đó, nghĩa là Supp (X Y) = Supp (Z) Nếu Supp cho X và Y lớn hơn Supp (X
Y), thì hai luật trên sẽ không có Conf yêu cầu Nhưng nếu X Y Z thỏa mãntrên D thì có thể suy ra X Y và X Z cũng thỏa mãn trên D vì Supp (XY) Supp (XYZ) và Supp (XZ) Supp (XYZ)
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 Zthoả 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) = Minconf2 < 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
T(Y)
T(Z)T(X)
Trang 31duyệ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ặcbằng ngưỡng Minsup.
- Tập các hạng mục (Itemset) I = {oi1, i2, …, i m}:
VD : I = {osữ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 = {obánh mì, sữa chua, ngũ cốc}
- CSDL D = {ot1, t2, …, tn}, ti= {oii1, ii2, …, iik} với iij 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 = {obá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ậpcá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à C1 Duyệt tập C1 loại bỏ các mục có độ hỗ trợ
< Minsup, các tập mục còn lại của C1 là các tập 1-Itemset (L1) phổ biến Sau đó kết nối
L1 với L1 để được tập các tập 2-Itemset C2 Duyệt CSDL xác định độ hỗ trợ của các tậpmục trong C2 Duyệt C2 Loại bỏ các tập mục có độ hỗ trợ < Minsup, các tập mục cònlại của C2 là tập các tập 2-Itemset (L2) phổ biến L2 lại được sử dụng để sinh ra L3 và cứtiếp tục như vậy cho đến khi tìm được tập mục k-Itemset Lk mà Lk = Æ (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= L1.
Để 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ỗngcủa tập mục phổ biến đều là tập mục phổ biến
Trang 32Bước nối:
Input: Tập Lk+1 là tập (k+1)-Itemset phổ biến
Output: Tập Ck 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 Lk-1 với chính nó Giả
sử l1, l2 là các tập mục của Lk-1 Ta ký hiệu lj[i] là mục thứ Itemset trong tập mục
lj,việc kết nối Lk-1 với Lk+1 được thực hiện như sau: Các tập mục của Lk-1 được kết nốivới nhau nếu mục đầu của chúng trùng nhau và l1[k-1]<l2[k-1] Tức là hai tập mục l1
và l2 của Lk-1 có thể kết nối được với nhau nếu thoả mãn:
(L1[1] = L2[1])^(L1[2] = L2[2])^ ^(L1[k-2] = L2[k-2])^(L1[k-1] = L2[k-1])Điều kiện l1[k-1] < l2[k-1] để đảm bảo không sinh lặp lại các tập đã sinh Kếtquả tập mục thu được sau khi kết nối l1 và l2 sẽ là
(l1[1], l1[2], v.v.l1[k-2], l1[k-1], l2[k-1])
Bước tỉa (Prune)
Input: Ck – là tập các ứng cử k-Itemset
Output: Lk – là tập các tập k-Itemset phổ biến
Ta có Ck Lk các thành phần của Ck 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 Ck
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 Ck 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 Ck.Tập Ck thu được chính là Lk
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 (1)-Itemset không phổ biến thì nó không thể là tập con của tập Itemset phổ biến, Do đó, nếu bất kỳ tập con (k-1)-Itemset của ứng cử k-Itemsetkhô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ệnmột cách nhanh chóng bằng cách duy trì một cây băm
Trang 33k-2.3.2.2 Ví dụ minh hoạ cho thuật toán Apriori
Xét CSDL giao dịch D được cho trong bảng sau:
Bảng 2.1 CSDL sử dụng minh hoạ thuật toán Apriori
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ử C1 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ầnxuất hiện của mỗi mục
Giả sử độ hỗ trợ cực tiểu đếm số giao dịch là 2 (tức là Minsup = 2/9*100% =22%) Khi đó tập mục phổ biến 1-Itemset (L1), được xác định như sau: L1 bao gồmtất cả các ứng cử 1-Itemset thoả mãn độ hỗ trợ tối thiểu
Tìm ra các tập mục phổ biến 2-Itemset (L2), thuật toán sử dụng kết nối L1 với
L1 để sinh ra tập ứng cử 2-Itemset (C2) C2 bao gồm tổ hợp chập lj[i] của các phần tử
có trong L1 do đó số lượng các phần tử của C2 được tính như sau:
|C2| = C2
| 1
|L = C2
5 =
! 3
! 2
! 5
= 10Tiế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 C2
Tập mục phổ biến 2-Itemset L2 được xác định, bao gồm các tập mục Itemset là ứng cử trong C2 có độ hỗ trợ lớn hơn hoặc bằng độ hỗ trợ tối thiểuMinsup
2-Sinh các tập ứng cử 3-Itemset, CL¬k-1 bằng cách, kết nối L2 với chính nó tanhận được kết quả C3 là:
C3 = {o{oI1, I2, I3}, {oI1, I2, I5}, {oI1, I3, I5}, {oI2, I3, I4}, {oI2, I3, I5}, {oI2, I4, I5}}
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ậpphổ biến là tập phổ biến Do đó 4 ứng cử viên của tập C3 không thể là tập phổ biến