Đó là nền tảng cơ bản hướng tới thử nghiệm khai phá dữ liệu trong một số kho dữ liệu thực với hy vọng thu nhận được các mô hình, quy luật có ý nghĩa và giá trị cao.. Đó là các mô tả thuậ
Trang 1ĐINH THỊ KIM DUNG
MỘT SỐ THỬ NGHIỆM
KHAI PHÁ DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU ORACLE
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Trang 2Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
MỤC LỤC
BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT 4
MỞ ĐẦU 5
CHƯƠNG I PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 7
I.1 TỔNG QUAN KHAI PHÁ DỮ LIỆU 7
I.1.1 Khai phá dữ liệu là gì? 7
I.1.2 Tiến trình phát triển - Tại sao? 8
I.1.3 Các chức năng khai phá dữ liệu - Các loại mẫu có thể khai phá 10
I.1.4 Khai phá dữ liệu trên các loại dữ liệu nào? 13
I.1.5 Quá trình phát hiện tri thức - KDD 15
I.1.6 Các thách thức và giải pháp cơ bản 17
I.2 TIỀN XỬ LÝ DỮ LIỆU CHO KHAI PHÁ 18
I.2.1 Các nhiệm vụ chính của tiền xử lý 19
I.2.2 Làm sạch dữ liệu 19
I.2.3. Giảm bớt dữ liệu 20
I.2.4 Chuyển dữ liệu thành dạng có thể khai phá được 21
I.3 CÁC THỂ HIỆN, BIỂU DIỄN KẾT QỦA KHAI PHÁ 21
I.4 KIẾN TRÚC CƠ BẢN HỆ THỐNG KHAI PHÁ DỮ LIỆU 22
CHƯƠNG II CÁC CHỨC NĂNG CƠ BẢN KHAI PHÁ DỮ LIỆU 24
II.1 KHAI PHÁ LUẬT KẾT HỢP 24
II.1.1 Các khái niệm luật kết hợp 24
II.1.2 Các loại khai phá luật kết hợp 25
II.1.3 Khai phá luật kết hợp Boolean đơn chiều 26
II.1.4 Cải thiện thuật toán 28
II.1.5 Khai phá luật nhiều mức 30
II.1.6 Khai phá luật nhiều chiều 30
II.1.7 Đánh giá phân tích luật kết hợp 31
II.2 PHÂN LỚP 31
II.2.1 Phân lớp 32
II.2.2 Phân lớp - một quá trình hai bước 32
II.2.3 Xây dựng các tập dữ liệu 32
II.2.4 Phân lớp bằng học cây quyết định 33
II.2.5 Phân lớp Bayees 37
II.2.6 Phân lớp bằng mạng Nơron 39
II.3 KHAI PHÁ DỮ LIỆU VỚI GỘP NHÓM 44
II.3.1 Phân tích gộp nhóm 44
II.3.2 Các phương pháp phân hoạch 45
II.3.3 Các phương pháp phân cấp 46
II.3.4 Đánh giá 47
CHƯƠNG III CÔNG CỤ KHAI PHÁ DỮ LIỆU ODM - ORACLE DATA MINING 49
Trang 3Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
III.1 CÁC THUẬT TOÁN ODM KHAI PHÁ DỮ LIỆU 49
III.1.1 Thuật toán Adapter Bayes Network - ABN 49
III.1.2 Thuật toán Naive Bayes - NB 50
III.1.3 Thuật toán Apriori 50
III.1.4 Thuật toán dự báo biến đổi Predictor Variance 50
III.1.5 Thuật toán k-means nâng cao 50
III.1.6 Thuật toán O-Cluster 51
III.1.7 Sử dụng các chức năng và lựa chọn thuật toán 51
III.2 CÁC BƯỚC KHAI PHÁ DỮ LIỆU 52
III.2.1 Xây dựng mô hình 52
III.2.2 Kiểm thử mô hình 52
III.2.3 Áp dụng - ghi điểm mô hình - Scoring 53
III.3 CÁC THÀNH PHẦN CỦA ODM 53
III.3.1 Data Mining Server DMS 53
III.3.2 Oracle9i Data Mining API 53
III.3.3 Các đối tượng trong ODM 53
III.4 THỰC HIỆN CÁC BƯỚC KHAI PHÁ DỮ LIỆU TRONG ODM 55
III.4.1 Các bước chuẩn bị 55
III.4.2 Xây dựng mô hình 56
III.4.3 Ghi điểm dữ liệu bằng mô hình 57
CHƯƠNG IV SỬ DỤNG ODM KHAI PHÁ DỮ LIỆU 59
IV.1.MỘT SỐ ĐỊNH HƯỚNG KHAI PHÁ DỮ LIỆU TRONG CÁC CSDL 59
IV.1.1 Hệ thống CSDL ngành Thuế 59
IV.1.2 Hệ thống CSDL Bảo hiểm nhân thọ 63
IV.2 XÂY DỰNG CÔNG CỤ HỖ TRỢ 68
IV.2.1 Xây dựng các tiện ích xử lý dữ liệu 68
IV.2.2 Xây dựng các giao diện hỗ trợ khai phá dữ liệu 72
IV.3.TIẾN HÀNH MỘT SỐ THỬ NGHIỆM KHAI PHÁ DỮ LIỆU 77
IV.3.1 Mô tả các thử nghiệm 77
IV.3.2 Phân lớp 79
IV.3.3 Luật kết hợp 82
IV.3.4 Gộp nhóm 83
IV.3.5 Khai phá luật kết hợp trong CSDL Bảo Việt 84
KẾT LUẬN 86
TÀI LIỆU THAM KHẢO 88
PHỤ LỤC 90
Trang 4Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT
CSDL Database Cơ sở dữ liệu
DW Data Warehouse Kho dữ liệu
KDD Knowledge Data Discovery Phát hiện tri thức dữ liệu
DM Data Mining Khai phá dữ liệu
ODM Oracle Data Mining Công cụ khai phá dữ liệu DMS Data Mining Server Máy chủ khai phá dữ liệu
Trang 5Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
MỞ ĐẦU
Tiềm năng phát sinh và thu thập dữ liệu trong vòng vài thập kỷ qua đã tăng một cách nhanh chóng Xu hướng máy tính hoá của các doanh nghiệp, các tổ chức, các giao dịch chính phủ cùng với sự phát triển của các công cụ thu thập dữ liệu như
sử dụng mã vạch, máy quét văn bản, hình ảnh đến các thiết bị quan sát vệ tinh từ xa,
sử dụng rộng rãi World Wide Web đã làm thế giới ngập trong hàng núi dữ liệu Qua rất nhiều năm, dữ liệu đang bị chôn vùi vào lịch sử Có thể nói chúng ta đang rất “giầu dữ liệu” nhưng vẫn “nghèo thông tin” bởi vì chưa có các công cụ phân tích
tự động và hữu hiệu hỗ trợ cho con người nhận thức được dữ liệu Lỗ hổng giữa dữ liệu và thông tin đã thúc đẩy sự phát triển công nghệ mới trợ giúp thông minh biến
dữ liệu thành tri thức và thông tin có ích, đó là công cụ khai phá dữ liệu Với công
cụ này sẽ làm cho dữ liệu chết trở thành mỏ vàng tri thức Việc khai phá và tìm kiếm tri thức tiềm tàng từ khối lượng dữ liệu khổng lồ đã có nhằm phục vụ cho những nhu cầu sử dụng thông tin cao hơn như trong các hệ chuyên gia hay hỗ trợ quyết định Công đoạn khai phá tri thức được thực hiện qua các quá trình thu thập, tinh lọc dữ liệu để tìm các mẫu hình tri thức (pattern) có ý nghĩa sử dụng rất nhiều
kỹ thuật như học máy, nhận dạng, thống kê, phân loại, mạng nơ-ron, các giải thuật
di truyền Có thể nói khai phá dữ liệu là một lĩnh vực đa chỉ tiêu từ các công nghệ CSDL, trí tuệ nhân tạo, học máy, truy cập thông tin đến các tính toán hiệu năng cao…
Luận văn này tập trung giới thiệu, đánh giá một số công nghệ, phương pháp
cơ bản khai phá dữ liệu trong các CSDL lớn và kho dữ liệu Trên cơ sở đó, sử dụng
và đánh giá được các công cụ hỗ trợ khai phá dữ liệu Oracle Đó là nền tảng cơ bản hướng tới thử nghiệm khai phá dữ liệu trong một số kho dữ liệu thực với hy vọng thu nhận được các mô hình, quy luật có ý nghĩa và giá trị cao Một động cơ thúc đẩy thử nghiệm khai phá dữ liệu nhằm xem xét, đánh giá rút kinh nghiệm việc xây dựng thiết kế CSDL tác nghiệp và kho dữ liệu sao cho tích luỹ được dữ liệu có tri thức Luận văn bao gồm 4 chương:
Trang 6Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Chương I: Giới thiệu tổng quan các khái niệm cơ bản, xu hướng phát triển tất
yếu các thách thức và các giải pháp của khai phá dữ liệu Các bước tiến hành, các nhiệm vụ và các phương pháp được liệt kê trong chương này hỗ trợ các kiến thức cơ bản cho công cuộc khai phá tri thức từ CSDL và kho dữ liệu
Chương II: Giới thiệu các chức năng, thuật toán của công cụ khai phá dữ liệu
Trên cơ sở đó so sánh đánh giá để gợi ý các lựa chọn hướng đi, công cụ và kỹ thuật khi tiến hành khai phá dữ liệu Chương này nhằm mô tả một bức tranh tổng thể cách tiếp cận các phương pháp theo góc độ đơn giản hoá tối đa và tăng tính thực thi cho giải pháp khai phá dữ liệu Nội dung chương này sẽ là cơ sở nền tảng kỹ thuật để cài đặt các công cụ và thực thi khai phá dữ liệu Đó là các mô tả thuật toán, kỹ thuật cải thiện hiệu năng, đánh giá so sánh các nhiệm vụ khai phá dữ liệu như Luật kết hợp, Phân lớp, Gộp nhóm với các thuật toán dựa trên các phương pháp xác suất, thống kê, mạng nơron.…
Chương III: Giới thiệu và đánh giá cách sử dụng ODM - công cụ hỗ trợ khai
phá dữ liệu của Oracle được tích hợp trong hệ quản trị CSDL Oracle 9i Một số nhiệm vụ và chức năng trong ODM đã được cải tiến từ các phương pháp cơ bản khai phá dữ liệu ODM đã cung cấp giao diện lập trình ứng dụng như các đối tượng, packages cho phép thực hiện khai phá dữ liệu trong CSDL Orale Các giao diện API được viết và thực thi trên nền Java Chương này cũng mô tả trình tự thực hiện các bước sử dụng ODM thực hiện khai phá dữ liệu
Chương IV: Trên cơ sở sử dụng công cụ ODM, xây dựng một số giao diện trợ
giúp người dùng khai phá dữ liệu trên CSDL Oracle Chương này cũng đề cập một
số nhu cầu khai phá dữ liệu trên kho dữ liệu ngành bảo hiểm và thuế dựa trên một
số tri thức nghiệp vụ khi tham gia xây dựng ứng dụng tác nghiệp cho các ngành này Mô tả tiến hành thử nghiệm khai phá trên một số dữ liệu giả định và dữ liệu của các lĩnh vực bảo hiểm và thuế Việc áp dụng có tính chất thử nghiệm theo khía cạnh kỹ thuật và hiểu biết nghiệp vụ tích luỹ được trong quá trình triển khai ứng dụng Tuy nhiên, để có được các kết quả thật sự có giá trị đòi hỏi cần có sự đầu tư,
Trang 7Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
tham gia trực tiếp của chính các chuyên gia chuyên ngành
Em xin chân thành cám ơn TS Đỗ Việt Nga, các thầy giáo của trường Đại học Quốc gia, các thầy, các đồng nghiệp ở Viện CNTT và các bạn cùng lớp đã có nhiều
ý kiến quý báu giúp em hoàn thành luận văn
PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
I.1 Tổng quan khai phá dữ liệu
I.1.1 Khai phá dữ liệu là gì?
Về bản chất vật lý dữ liệu chỉ là các con số, hay một chuỗi các ký tự mà chúng
ta thường thu lượm hàng ngày hay còn gọi là giá trị của phép đo Thông tin thể hiện
các đặc trưng của dữ liệu và cần có kiến thức liên quan đến dữ liệu để nhận biết
được thông tin - thông tin = dữ liệu + kiến thức Tri thức được trích lọc từ thông tin bao gồm các sự kiện và các quan hệ giữa chúng để có thể hiểu được, hoặc học được Tri thức được xem là dữ liệu trừu tượng và tổng quát mức cao - tri thức = thông tin + suy luận [2]
Hình Error! No text of specified style in document.-1 Dữ
liệu, thông tin và tri thức
Ngày nay, dữ liệu cần phải mang lại nhiều “tri thức” hơn là bản thân dữ liệu
để có thể hỗ trợ các quyết định chính sách, chiến lược, giúp các tổ chức hoạt động
Dữ liệu
Income
Debt
Trang 8Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
hiệu quả và tốt nhất Quá trình tìm những thông tin có giá trị, những xu hướng phát triển và những yếu tố tác động lên chúng chính là quá trình phát hiện tri thức từ
CSDL (Knowledge Discovery) Khai phá dữ liệu là một tậ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 dữ liệu rất lớn và phức tạp, tìm ra những mẫu tiềm ẩn trong tập dữ liệu đó
[2] Khai phá dữ liệu (Data mining) với định nghĩa đầy đủ là “khai phá tri thức từ
dữ liệu” và được hiểu đơn giản như là sự trích lọc, đào mỏ tri thức từ dữ liệu Đó chính là quá trình tìm kiếm những bụi vàng từ các khối quặng thô dữ liệu khổng lồ hay còn ví như quá trình “đãi cát tìm vàng”
I.1.2 Tiến trình phát triển - Tại sao?
- Mụ hỡnh húa dữ liệu- Mụ hỡnh quan hệ thực thể
- Cỏc kỹ thuật tổ chức và Index dữ liệu
- Ngụn ngữ truy vấn SQL
- Cỏc giao diện: Form và Report
- Cỏc xử lý truy vấn và tối ưu truy vấn
- Quản lý giao dịch: khụi phục, điều khiển tương tranh
- Cỏc xử lý giao dịch trực tuyến OLTP
-
Cỏc hệ thống CSDL based (1990- nay)
Web-Cỏc hệ thống CSDL XML- based
Web mining
Kho DL và khai phỏ DL
(1980)
Kho DL và cụng nghệ OLAP Khai phỏ DL, phỏt hiện tri thức
Thế hệ mới của cỏc hệ thống tớch hợp thụng tin (2000 )
Trang 9Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Hình Error! No text of specified style in document.-2 Tiến
trình phát triển công nghiệp CSDL
Khai phá dữ liệu được xem như là xu hướng tất yếu của ngành công nghiệp thông
tin Con đường phát triển cơ sở dữ liệu gồm các quá trình: Tạo lập, thu thập dữ liệu, quản trị dữ liệu (lưu trữ và truy cập), phân tích và hiểu biết dữ liệu [11]
Tiến trình phát triển của CSDL bắt đầu từ nhu cầu thu thập, xử lý số liệu tính toán đơn giản, tiến tới việc quản lý dữ liệu chặt chẽ và sử dụng rộng rãi hơn, tạo ra các CSDL khổng lồ của nhiều Quốc gia và hỗ trợ các hoạt động tác nghiệp trong nhiều ngành Để lấy được những thông tin có giá trị, cần tới các kỹ thuật có khả năng hợp nhất dữ liệu từ những CSDL này chuyển vào kho dữ liệu có tính ổn định, thống nhất và khái quát cao Các kỹ thuật đó được gọi là Datawarehousing với môi trường hoạt động Datawarehouse Công nghệ kho dữ liệu bao gồm các kỹ thuật làm sạch, tích hợp dữ liệu và xử lý phân tích trực tuyến OLAP trên các dữ liệu tổng hợp, tích gộp, hợp nhất cho phép quan sát thông tin theo nhiều chiều, nhiều góc độ Tuy nhiên, chỉ có Datawarehouse thì chưa đủ để có tri thức Mặc dù OLAP hỗ trợ phân tích đa chiều và hỗ trợ quyết định nhưng vẫn thiếu công cụ phân tích thông tin theo mức độ sâu hơn như phân lớp dữ liệu, gộp nhóm, đưa ra các giả thiết mới và đặc trưng hoá dữ liệu Đó là mục đích của các công cụ phân tích khai phá dữ liệu Khai phá dữ liệu với các phân tích sâu hơn, tự động hơn sẽ hỗ trợ người quản lý tìm ra các khách hàng thích hợp, sáng suốt trong việc định hướng thị trường, phát triển chiến lược giá cả, điều chỉnh các kiểu loại mặt hàng trên cơ sở phân tích nhu cầu (mẫu, mô hình) của khách hàng thường xuyên…
Khai phá dữ liệu đã và đang nhận được sự quan tâm rộng rãi của đông đảo giới khoa học và kinh doanh vì một số lý do chính sau đây:
Số lượng và kích cỡ các CSDL của nhiều doanh nghiệp hiện nay đang tăng lên với một tốc độ đáng kinh ngạc Các CSDL cỡ Terabyte (1024 GB) thậm chí Petabyte (1024 Terabyte) một thời được coi là không thể có, thì nay đang trở
Trang 10Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
thành thực tế trong nhiều lĩnh vực như: tiếp thị, bán hàng, tài chính, y tế, bảo hiểm, sinh học phân tử
Các doanh nghiệp nhận ra có rất nhiều kiến thức có giá trị ẩn chứa trong dữ liệu
mà khi phát hiện ra có thể đem lại sức cạnh tranh đáng kể cho doanh nghiệp Xuất hiện một số công nghệ hỗ trợ thực thi khai phá dữ liệu trên các CSDL lớn I.1.3 Các chức năng khai phá dữ liệu - Các loại mẫu có thể khai phá
Khai phá dữ liệu là giai đoạn chủ yếu của quá trình Phát hiện tri thức Đó là
những thông tin có giá trị như các mẫu hình (pattern/model) của dữ liệu Công đoạn khai phá tri thức được thực hiện sau các quá trình thu thập và tinh lọc dữ liệu và chỉ tìm các mẫu hình có ý nghĩa trên tập dữ liệu có hy vọng chứ không phải là trên toàn
bộ CSDL như các phương pháp thống kê trước đây [4]
Các nhiệm vụ khai phá dữ liệu tùy theo dạng kiến thức người dùng muốn tìm
kiếm có thể chia thành hai loại chính là Mô tả (Description) và Dự báo (Prediction)
[10] với ý nghĩa như sau:
Thực hiện suy luận trên dữ liệu hiện tại để dự báo
dữ liệu tương lai
- Phân lớp
- Dự báo
Bảng 1 Các loại nhiệm vụ khai phá dữ liệu
1 Phân tích kết hợp
Chức năng khai phá luật kết hợp: Nhằm phát hiện các luật kết hợp, chỉ ra
các điều kiện một tập dữ liệu xuất hiện cùng nhau Một luật kết hợp thường có dạng
X Y được diễn giải là: Bộ dữ liệu trong CSDL thỏa mãn điều kiện X thì cũng có thể thỏa mãn điều kiện Y Các luật kết hợp thường dùng để tìm ra các quan hệ hoặc tương quan của các bộ dữ liệu cho các phân
Trang 11Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
tích thị trường kinh doanh Một luật kết hợp điển hình là đánh giá khả năng có thể
Ví dụ như ”70% người mua máy tính có thể sẽ mua phần mềm trò chơi”
Hình Error! No text of specified style in document.-3 Giao dịch mua hàng
Thông thường, các luật kết hợp được dùng để phát hiện xu hướng kinh doanh trên cơ sở phân tích các giao dịch khách hàng Ngày nay, có thể sử dụng trong thư -ơng mại điện tử để dự đoán truy cập trang Web như: Sau khi khai thác nhật ký truy cập đã phát hiện luật kết hợp thú vị là: Nếu người sử dụng truy cập trang Web A và
B thì có cơ hội 80% người đó sẽ vào trang Web C trong cùng phiên làm việc Trang
C có thể hoặc không có liên kết trực tiếp từ trang A hoặc B Điều này dẫn tới nên tạo ra liên kết đến trang C từ A hoặc B
2 Phân lớp và dự báo
Phân lớp là quá trình tìm một tập các mô hình (hoặc các hàm) mô tả phân biệt
các lớp dữ liệu và sử dụng mô hình để dự báo lớp cho các đối tượng mới Hàm phân lớp là một ánh xạ (phân loại) từ một mẫu dữ liệu vào một trong các lớp đã biết
Ví dụ, có thể xây dựng một mô hình mẫu chẩn đoán bệnh dựa trên các triệu chứng bệnh nhân cũ để khám cho các bệnh nhân mới [5]
Hình Error! No text of specified style in document.-4 Ví dụ mạng
nơ ron phân lớp bệnh nhân
Mỗi đối tượng, ví dụ có thể có nhiều thuộc tính và đa số là các thuộc tính để
dự đoán (predictor) và có một thuộc tính nhận kết quả lớp gọi là thuộc tính đích Đây là một dạng học trực tiếp - có thầy Mô hình thu được dựa trên tập các dữ liệu
Trang 12Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
huấn luyện - là tập dữ liệu đã biết lớp Kết quả của mô hình có thể biểu diễn theo các dạng khác nhau như: luật, cây quyết định, công thức toán học, hoặc mạng nơron
Dự báo: Được xem là quá trình xây dựng và sử dụng một mô hình để ước định lớp cuả các trường hợp chưa biết lớp Phân lớp và hồi quy là hai loại chính của
bài toán dự báo Trong đó phân lớp được
sử dụng để dự báo các lớp có giá trị tên
hoặc rời rạc, còn hồi quy để dự báo cho các
giá trị liên tục hoặc có thứ tự
Một ví dụ khác: Có hai lớp “Cho
vay” và “Không cho vay” Với mỗi khách
hàng đến vay có thể xác định một điểm tương ứng trên đồ thị “thu nhập – nợ” Những người có thể hoàn trả được tiền cho ngân hàng được ký hiệu là “o”, những người phá sản được ký hiệu là “x” Khai phá dữ liệu nhằm xác định một ánh xạ tuyến tính trên đồ thị này để quyết định có haykhông cho vay với mỗi khách hàng theo các tình trạng Nợ và Thu nhập của họ [2]
Hình Error! No text of specified style
in document.-5 Phân lớp khách hàng
3 Phân tích gộp nhóm
Phân tích gộp nhóm là quá trình xác định lớp
các đối tượng theo thuộc tính của chúng Các đối
tượng được gộp nhóm sao cho các phần tử trong
cùng nhóm là giống nhau nhất (theo một tiêu
chuẩn nào đó), các phần tử khác nhóm giống nhau
ít nhất.Ví dụ: một công ty có thể phân loại khách
hàng của mình thành nhiều nhóm khác nhau dựa
trên các thuộc tính như tuổi, thu nhập, khả năng, trình độ,… [11]
Nợ
Thu nhập
Nợ
Trang 13Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Hình Error! No text of specified style in
document.-6 Các phần tử được gộp nhóm Các đặc tính chung của các khách hàng trong cùng một loại sẽ được dùng để
mô tả nhóm khách hàng đó Khác với phân lớp và dự đoán, chức năng gộp nhóm sẽ
tự tìm ra các lớp bằng cách phân hoạch các dữ liệu hợp thành các nhóm Các mô hình gộp nhóm là kết quả của quá trình chưa biết trước giá trị thuộc tính đích Khi các nhóm tìm được, mỗi nhóm được xem là một lớp và có thể thực hiện phân lớp được bằng cách sử dụng tên nhóm như tên lớp
I.1.4 Khai phá dữ liệu trên các loại dữ liệu nào?
1 Cơ sở dữ liệu quan hệ
Các CSDL quan hệ là một trong những kho chứa phổ biến, giàu thông tin nhất
và là dạng dữ liệu chủ yếu để nghiên cứu khai phá dữ liệu
Một số CSDL trong thương mại có thể ứng dụng khai phá dữ liệu với triển vọng cho nhiều thành công như : [3]
Các CSDL tiếp thị: Đây là lĩnh vực mà Datamining thu được thành công nhiều nhất Bằng cách khai thác các CSDL về khách hàng được tích luỹ trong nhiều năm sẽ có thể rút ra được các mẫu hình và khuynh hướng phát triển Mô tả lược sử khách hàng được xây dựng để có chiến lược tiếp thị hiệu quả hơn
Các CSDL bán lẻ: Ghi lại các thông tin giao dịch bán hàng, DM có thể thu được những mô hình về cách mua hàng của người tiêu dùng để mở các chiến dịch bán hàng, đóng gói hàng phù hợp
CSDL thị trường chứng khoán: Bằng việc tìm kiếm mẫu hình và khuynh hướng phát triển trong dữ liệu thị trường chứng khoán, có thể hạn chế thất bại bằng những quyết định chính xác hơn trong việc lựa chọn cổ phiếu nào
mà tiềm năng là sẽ thu được lợi cao
CSDL về những khiếu nại của khách hàng: Được phân tích để dò tìm lỗi trong bảo hiểm, chi phí y tế, khai báo thu nhập để đóng thuế
Trang 14Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Hình Error! No text of specified style in document.-7 Mô
hình nhiều tầng của Data warehouse
5 CSDL không gian
CSDL không gian chứa các thông tin có quan hệ về mặt không gian như
CSDL địa lý, CSDL ảnh vệ tinh và y học Dữ liệu được biểu diễn theo dạng mã vạch, chứa bản đồ bit n-chiều hoặc bản đồ các điểm pixel Bản đồ có thể được biểu diễn thành dạng véctơ trong đó đường phố, cầu, toà nhà, hồ được biểu diễn như phép hợp các cấu trúc hình học cơ bản như điểm, đường, đa giác Khai phá dữ liệu
có thể phát hiện mẫu bằng cách mô tả đặc trưng của ngôi nhà gần một vị trí nào đó như công viên chẳng hạn Nói chung, các khối dữ liệu không gian có thể tổ chức thành cấu trúc đa chiều và phân cấp
6 CSDL văn bản
CSDL văn bản chứa các mô tả từ như các câu, đoạn Có nhiều CSDL văn bản có
Trang 15Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
tính phi cấu trúc như các trang Web hoặc nửa cấu trúc như các message mail, trang XML Để phát hiện các đặc tả chung của các lớp đối tượng, từ khoá, nội dung liên quan, đối tượng văn bản các phương pháp khai phá dữ liệu cần tích hợp với các
kỹ thuật lấy thông tin và xây dựng từ điển, từ điển đồng nghĩa
7 Dữ liệu Web
Dữ liệu World Wide Web cung cấp các dịch vụ thông tin trực tuyến toàn cầu là
cơ hội phong phú với nhiều thách thức mới cho khai phá dữ liệu Khai phá dữ liệu Web với các mục đích cơ bản như:
Khai phá nội dung Web để phát hiện ra các tri thức
từ nội dung các trang Web
Khai phá cấu trúc Web: phát hiện mô hình nền tảng cấu trúc liên kết
Khai phá sử dụng Web: Phát hiện thông tin từ các phiên làm việc truy nhập của người dùng Khi nắm bắt được các mẫu tra cứu trang có thể sắp xếp lại các liên kết và đưa các quảng cáo vào những trang mà người dùng thường quan tâm [11]
I.1.5 Quá trình phát hiện tri thức - KDD
Quá trình phát hiện tri thức bao gồm các bước cơ bản sau [4]:
Bước 1 - Nhận thức lĩnh vực ứng dụng: Xác định nhiệm vụ, yêu cầu mục đích
người dùng Bước này sẽ làm sáng tỏ yêu cầu trích lọc thông tin và để lựa chọn các phương pháp thích hợp theo mục đích bài toán và bản chất dữ liệu
Bước 2 - Tập hợp và tiền xử lý dữ liệu : Lựa chọn nguồn dữ liệu, xoá bớt các dữ
liệu tạp, xử lý dữ liệu thiếu, mất, chuyển dạng, rời rạc hoá và giảm bớt dữ liệu Bước này cần nhiều thời gian nhất trong tiến trình KDD với các nhiệm vụ:
Tạo lập dữ liệu đích: Lựa chọn dữ liệu hoặc tập trung vào các dữ liệu điển hình cho thực hiện khai phá
Tiền xử lý dữ liệu: Để một giải thuật DM làm việc trên toàn bộ CSDL sẽ rất cồng kềnh, kém hiệu quả vì vậy cần phải loại bớt các dữ liệu dư thừa,
Trang 16Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
không phù hợp và không nhất quán, bổ sung thêm các dữ liệu thiếu, hiệu chỉnh dữ liệu không chính xác
Bước 3- Khai phá dữ liệu: Trích lọc mẫu ẩn giấu trong dữ liệu Các lớp phương
pháp chính khai phá dữ liệu là dự báo và hồi quy, phân loại, tổng quát hoá như tìm quan hệ giữa các trường, các luật kết hợp Bước này có các nhiệm vụ:
Chọn mục đích khai phá dữ liệu: Quyết định mục đích của quá trình KDD là phân lớp, hồi quy, hay gộp nhóm
Chọn các phương pháp khai phá: Lựa chọn các phương pháp sử dụng để tìm kiếm mẫu trong dữ liệu, quyết định các mô hình, tham số tương ứng theo các dạng biểu diễn được như: Các luật, cây phân lớp, gộp nhóm …
Bước 4 - Hậu xử lý: Diễn giải tri thức khám phá thành các mô tả và dự báo
Kiểm tra, diễn giải và đánh giá mẫu hình để có các mô hình tốt Không phải mọi mẫu hình từ dữ liệu đều có ích hoặc sử dụng trực tiếp được Một phương pháp chuẩn là thường chia dữ liệu thành 2 tập: Một tập huấn luyện
và một tập để kiểm thử Mỗi tập có thể lặp quá trình một số lần với các kiểu phân tách khác nhau sau đó đánh giá kết quả
Đơn giản hoá các luật, loại bỏ một số điều kiện hoặc luật để cho người dùng dễ hiểu, trích lọc các luật đáng quan tâm, có giá trị
Bước cuối cùng là sử dụng tri thức trong thực tế theo các cách khác nhau
Trang 17Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Hình Error! No text of specified style in document.-8 Quá trình khai phá dữ
liệu
I.1.6 Các thách thức và giải pháp cơ bản
1 Thách thức:
Cơ sở dữ liệu cực lớn: Các CSDL với hàng trăm trường và bảng, hàng
triệu bản ghi, chiếm nhiều gigabyte và terabyte
Kích thước chiều lớn: Tập dữ liệu lớn có nhiều thuộc tính và biến nên số
chiều của bài toán tăng làm cho không gian tìm kiếm mẫu tăng cực kỳ nhanh Nếu giả sử có 3 thuộc tính, mỗi thuộc tính có 2 giá trị thì số các bản ghi là 23=8 và số mẫu (pattern) sẽ là 3*3*3=27 Nếu có p thuộc tính, mỗi thuộc tính có d giá trị thì số mẫu dữ liệu là dp
[5]
Biến động dữ liệu và tri thức Sự thay đổi nhanh chóng dữ liệu làm cho
các mẫu đã phát hiện trước đây có thể không còn đúng Hơn nữa các độ
đo biến trong các CSDL ứng dụng có thể thay đổi, bị xoá, hoặc tăng lên theo độ đo mới Các giải pháp có thể là các phương pháp gia tăng để cập
Trang 18Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
nhật các mẫu
Thiếu dữ liệu và dữ liệu tạp: Đây là vấn đề có thể nói rất khó khăn cho
việc khai phá dữ liệu Thông thường các hệ tác nghiệp chỉ quan tâm đến các dữ liệu cần để giải quyết các họat động tác nghiệp hàng ngày, các dữ liệu khác chưa chú trọng thu thập hoặc người thao tác không nhập vào, nếu họ cảm thấy chưa dùng để làm gì Hầu hết các thiết kế dữ liệu trong các hệ tác nghiệp về Thuế cũng như Bảo hiểm các số liệu về tài chính, tài sản, thu nhập, vốn, doanh số, hoặc khai báo chi tiết tình trạng sức khỏe thường được bỏ qua mặc dù các thiết kế dữ liệu cũng như các Form nhập liệu đều đã được cài đặt
2 Một số giải pháp
Có thuật toán hiệu quả và đủ mềm dẻo để tăng bộ nhớ
Lấy ví dụ mẫu : Chọn lọc các bộ dữ liệu đặc trưng và tốt nhất
Giảm chiều: Chọn lọc các thuộc tính thích hợp cho mục đích khai phá
Tận dụng các xử lý song song: Hiện nay, do giá thành các thiết bị phần cứng không cao lắm, có thể áp dụng các giải pháp song song cho việc khai phá dữ liệu: Phân chia nhiệm vụ, dữ liệu cho nhiều bộ xử lý thực hiện đồng thời
Hình Error! No text of specified style in document.-9 Khai phá dữ
liệu phân tán và song song
Trang 19Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
I.2 Tiền xử lý dữ liệu cho khai phá
I.2.1 Các nhiệm vụ chính của tiền xử lý
Các CSDL thế giới thực được thu thập từ nhiều nguồn và rất lớn do đó thường bị thiếu, mất hoặc chứa nhiều dữ liệu tạp và không nhất quán Do đó dữ liệu cần được tiền xử lý để nâng cao chất lượng dữ liệu và đảm bảo cho kết quả, cải thiện hiệu quả và dễ dàng khai phá Các kỹ thuật tiền xử lý dữ liệu như: Làm sạch
dữ liệu, bỏ bớt dữ liệu tạp, hiệu chỉnh sai lệch, tích hợp thành một kho dữ liệu thống nhất và chuẩn hoá thành các dạng có thể áp dụng khai phá được
Hình Error! No text of specified style in document.-1 Các nhiệm
vụ tiền xử lý dữ liệu I.2.2 Làm sạch dữ liệu
Mục đích của công đoạn làm sạch dữ liệu là đảm bảo chất lượng dữ liệu bằng các kỹ thuật sau đây:
1 Xử lý dữ liệu bị mất, thiếu
Bỏ qua một số bộ dữ liệu không quan trọng
Thay thế các giá trị thiếu bằng các hằng tổng thể
Sử dụng các thuộc tính trung bình để lấp đầy giá trị thiếu
Sử dụng các thuộc tính có xác suất lớn nhất
2 Xử lý dữ liệu tạp
Dữ liệu tạp là những dữ liệu có lỗi ngẫu nhiên hoặc quá khác nhau về giá trị
Trang 20Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
thuộc tính, do sai sót của các thiết bị thu thập dữ liệu, do tính không nhất quán trong việc đặt tên, nhập dữ liệu Có thể sử dụng các kỹ thuật làm mịn như:
Chia lô: Với các dữ liệu sắp xếp được có thể phân chia dữ liệu (bằng cách so
sánh, tham khảo các giá trị „láng giềng‟) thành các lô theo các kỹ thuật như: Đều
- các lô có số các phần tử như nhau, Trung bình - các phần tử trong lô lấy giá trị trung bình của lô, Biên - các giá trị được tính theo giá trị gần biên [11]
(8+9+15)/3 =9 (21+21+24)/3=22 (25+28+34)/3=29
(9,9,9) (22,22,22) (29,29,29)
(8,15) (21,24) (25,34)
(8,8,15) (21,21,24) (25,25,34) Kết hợp tính toán và đánh giá của con người: Phát hiện các giá trị nghi ngờ ví dụ như: các kiểm tra dữ liệu lương vượt quá một giá trị max có thể
Hồi quy : Làm mịn dữ liệu bằng cách điều chỉnh theo các hàm hồi quy
I.2.3 Giảm bớt dữ liệu
Tính tổng gộp trong cấu trúc dữ liệu
hình khối (cube) Ví dụ dữ liệu thể
hiện chi tiết theo thời gian có thể được
tổng gộp thành các mức năm, tháng,
quý Hình Error! No text of specified
Tóm tắt, tổng quát hoá
Một tập dữ liệu có mục đích giống nhau được tóm tắt và chiết xuất, tạo nên một tập nhỏ hơn, cung cấp một khung nhìn tổng quát về dữ liệu Một bảng tóm tắt có thể được tổng quát thành những cấp độ trừu tượng khác nhau, dưới những
Trang 21Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
góc độ khác nhau Ví dụ: các giao dịch bán hàng của một công ty có thể được tổng gộp theo khách hàng, khu vực, thời gian
Giảm chiều: Chọn tập con thuộc tính thích hợp để thực hiện thuật toán hiệu quả Rời rạc hoá dữ liệu: Chuyển các giá trị liên tục thành các giá trị tên hoặc một số giá trị số rời rạc Ví dụ: lương có thể chia theo các mức “thấp”, “trung bình”,
“cao”
I.2.4 Chuyển dữ liệu thành dạng có thể khai phá được
Làm mịn xoá dữ liệu tạp
Tổng gộp, tổng quát hoá
Chuẩn hoá: Các dữ liệu nhận các khoảng giá trị quá lớn được chuẩn hoá theo
tỷ lệ thành khoảng giá trị nhỏ hơn, ví dụ như từ 0.0 đến 1.0 - Chuẩn max thực hiện chuyển tuyến tính: ánh xạ chuyển đổi giá trị v của A thành v‟ trong khoảng [new_minA, new_maxA ] [11]
Min-I.3 Các thể hiện, biểu diễn kết quả khai phá
Để việc khai phá dữ liệu có hiệu quả hệ thống DM phải cho khả năng thể hiện được các kết quả mẫu khai phá được theo nhiều dạng như: các luật, các bảng, các sơ
đồ dạng bar, piece, cây quyết định…
- Dạng luật:
age(X, ”young” ) and income(X, ”high” ) => class(X, ”A” )
age(X, ”young” ) and income(X, ”low” ) => class(X, ”B” )
age(X, ”old” ) => class(X, ”C” )
- Dạng bảng - Dạng bảng chéo
Trang 22Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Hình Error! No text of specified style in document.3-1 Một
số dạng thể hiện kết quả khai phá dữ liệu
I.4 Kiến trúc cơ bản hệ thống khai phá dữ liệu
Về cơ bản kiến trúc hệ thống khai phá dữ liệu sẽ bao gồm các thành phần chính nhƣ sau : [11]
age income class
High Low A B C
youn
g old
1.402
786
1.038 1.374
1.402
0
1.038 0
2.160 Count 2.188 2.412 1.038 1.038 2.160
786
D ạng piece chart Dạng bar chart Cây quyết định
Giao diện đồ hoạ
Trích lọc Làm sạch
Tích hợp
Trang 23Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Hình Error! No text of specified style in document.-1 Kiến
trúc Hệ thống khai phá dữ liệu [11]
Các CSDL, DW : Là tập các kho chứa thông tin dưới nhiều dạng khác nhau như
CSDL quan hệ, kho dữ liệu, các bảng tính… là nguồn dữ liệu chính để thực thi các khai phá tri thức
Máy chủ CSDL, kho dữ liệu: Có trách nhiệm sẽ cung cấp, xử lý dữ liệu thích hợp
cho các nhiệm vụ khai phá dữ liệu theo yêu cầu của người khai phá
Cơ sở tri thức: Người dùng có thể đặc tả cơ sở tri thức hoặc các tri thức về lĩnh vực
khai phá Các tri thức này được sử dụng để định hướng tìm kiếm tri thức và đánh giá các kết quả khai phá Dạng thể hiện đơn giản cơ sở tri thức nhất là theo mức phân cấp và được sử dụng để tổ chức các thuộc tính và các giá trị thuộc tính theo các mức tổng quát khác nhau Ví dụ như thể hiện các mức phân cấp theo khu vực hành chính như Quốc gia-> Tỉnh thành-> Quận huyên… hoặc các thể hiện dạng gộp nhóm như từ 20…39 sẽ thuộc nhóm Trẻ, hoặc dạng luật … Cơ sở tri thức có thể là những quan hệ trong dữ liệu như các ràng buộc hoặc các ngưỡng đo để đánh giá mức độ mẫu hình có nghĩa hay không có nghiã
Hạt nhân DM: Thực chất là hệ thống khai phá dữ liệu bao gồm tập các module
chứuc năng cho các nhiệm vụ như đặc trưng hoá, phân lớp, gộp nhóm…
Đánh giá mẫu: Thường được tích hợp với các mdule khai phá dữ liệu để tìm kiếm
các mẫu hình có giá trị, có thể sử dụng các ngưỡng để lọc các mẫu hình khai phá được
Giao diện đồ hoạ với người dùng: Đây là thành phần tương tác gữa người dùng và
hệ thống khai phá dữ liệu cho phép người dùng có thể chỉ ra được các nhiệm vụ khai phá, hiểu được dữ liệu khai phá, mô hình kết quả và dễ dàng đánh giá được các mẫu hình
Trang 24Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
CÁC CHỨC NĂNG CƠ BẢN KHAI PHÁ DỮ LIỆU
II.1 Khai phá luật kết hợp
Khai phá luật kết hợp để tìm ra sự kết hợp hoặc các quan hệ tương tác trong số các item - khoản mục của CSDL lớn Việc phát hiện ra luật kết hợp từ các bản ghi giao dịch mua bán sẽ hỗ trợ tiến trình quyết định như: cách thiết kế danh mục catalog, bán hàng chéo, loss-leader: bán hàng lỗ để thu hút khách
II.1.1 Các khái niệm luật kết hợp
Cho I = {i1, i2, …,im} là tập các item D là tập các giao dịch, mỗi giao dịch T
là một tập các item, có nghĩa T I Ta nói transaction T chứa X, một tập con của I,
nếu X T Một luật kết hợp có dạng X Y, với X I, Y I, X Y = [2] Luật X Y có độ hỗ trợ (support) S - nếu có s% transaction của D chứa X Y Luật X Y có độ tin cậy (confidence) C - nếu có c% giao dịch trong D nếu chứa
X cũng chứa Y Đây là xác suất có điều kiện P(X|Y)
Ta có S ( X Y ) P ( X Y ) (II.1.1)
) (
) (
)
| ( )
(
X S
Y X S Y
X P Y
X
Hình Error! No text of specified style in document.-3 Các độ đo hỗ trợ
và tin cậy của luật kết hợp
Các luật thoả mãn ngưỡng hỗ trợ tối thiểu (minsup) và ngưỡng tin cậy tối thiểu
Trang 25Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
(minconf) được gọi là các luật mạnh
Một tập các item có k phần tử được gọi là k_ itemset Ví dụ tập {A,B,C] được
gọi là tập 3_itemset Một tập thường
xuyên itemset là số các giao dịch
chứa tập itemset Tập Itemset thoả
mãn minsup nếu tập thường xuyên
itemset lớn hơn tích của minsup và
tổng số các giao dịch Nếu tập item
thoả minsup xem như là frequent
itemset (tập thường xuyên) [4]
Hình Error! No text of specified style in
document.-2 Ví dụ các luật mạnh
Khai phá luật kết hợp là tiến trình gồm hai bước sau:
1 Tìm tất cả các frequent itemset: Mỗi tập này có độ hỗ trợ minsup
2 Sử dụng các frequent itemset để sinh luật mạnh – thoả minsup và minconf
II.1.2 Các loại khai phá luật kết hợp
1 Dựa trên các loại giá trị có trong luật:
Nếu giá trị item chỉ là có hoặc không, đó là luật kết hợp giá trị Boolean Nếu một luật mô tả kết hợp giữa các item có giá trị số lượng - đó là luật kết hợp số lượng - giá trị các item được biểu diễn trong các khoảng giá trị
Ví dụ: IF tuổi (X,“30 39”) và thu nhập (X,“3.000.000 5.000.000”) THEN mua(X,”Tivi”)
2 Dựa trên các chiều dữ liệu
Nếu các item trong luật chỉ là một chiều thì đó là luật đơn chiều Ví dụ mua
(X,”Máy tính” => mua(X,”Máy in”) chỉ có một chiều là mua
Nếu các item trong luật có nhiều chiều ví dụ như mua, tuổi, loại khách hàng
thì đó là các luật đa chiều
Trang 26Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
3 Dựa trên các mức tổng quát hoá dữ liệu
Một số luật kết hợp tìm ra các luật tại các mức phân cấp của item, ví dụ như:
- Tuổi (X,“30 39” mua(X, “máy laptop”)
- Tuổi (X,“30 39” mua(X, “máy tính ”)
với “máy laptop” là mức chi tiết hơn của “máy tính”, “máy tính” là mức tổng quát, trừu tượng hơn Các luật kết hợp có thể là đơn mức hoặc đa mức nếu các item lấy giá trị của một mức hoặc nhiều mức trừu tượng khác nhau
II.1.3 Khai phá luật kết hợp Boolean đơn chiều
1 Thuật toán Apriori tìm các tập frequent itemset
Tên của thuật toán dựa trên tri thức trước (prio) của tính chất tập thường xuyên
frequent itemset, thuật toán lặp tìm kiếm mở rộng lớp: dùng mức k-itemset để
khám phá ra k+1-itemset Đầu tiên tìm tập 1-itemset, ký hiệu là L1, sử dụng L1 để tìm L2. đến khi không còn k-itemset nào có thể tìm được nữa Việc tìm Lk đòi hỏi truy đọc (scan) toàn bộ CSDL Để cải thiện việc sinh mở rộng lớp, dựa vào tính chất
quan trọng được gọi là tính chất Apriori để giảm bớt không gian tìm kiếm Tính
chất Apriori là: Nếu một itemset I không thoả mãn minsup nghĩa là S(I) <misup thì
S (IUA) <minsup Điều này thể hiện rằng nếu một tập không qua được kiểm tra thì tập bao nó cũng không qua được kiểm tra đó Đây là tính chất không đơn điệu Sử dụng tính chất này trong thuật toán Apriori trong quá trình hai bước như sau:
Bước kết nối:
Để tìm tập ứng cử viên Lk là k-itemset được sinh từ Lk-1 bằng cách nối Lk-1với Lk-1: với mọi cặp li, lj của L k-1 có k-2 cặp phần tử giống nhau và một cặp phần tử khác nhau, sẽ đưa k-2 phần tử của li hoặc lj và 2 phần tử li[k-1] và lj[k-1] vào Ck Tập ứng cử này gọi là Ck ={{li[1], li[2], , li[k-2], li[k-1], lj[k-1]}}
Bước loại bớt:
Ck là tập con của Lkmà các phần tử của nó có thể là frequent itemset hoặc không Để giảm kích cỡ của Ck thuật toán Apriori thực hiện loại bớt các phần tử
Trang 27Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
trong Ck sẽ không thuộc Lk nhƣ sau: nếu tập bất kỳ tập con k-1 item của Ckkhông thuộc Lk-1 thì nó sẽ bị loại bỏ khỏi Ck Việc kiểm tra các tập con này có thể thực hiện nhanh bằng cách duy trì cây băm cho tất cả các frequent itemset
Ví dụ: Xem xét thuật toán Apriori cho tập các giao dịch D nhƣ sau
{I 2 } {I 3 } {I 4 } {I 5 }
{I 2 } {I 3 } {I 4 } {I 5 }
So sánh Sup_count các ứng viên với minsup
Tập item
Sup count {l 1 , I 2 }
{l 1 , I 3 } {l 1 , I 5 } {I 2 , I 3 } {I 2 , I 4 } {I 2 , I 5 }
Tập item
Sup_count
{l 1 , I 2 } {l 1 , I 3 } {l 1 , I 4 } {l 1 , I 5 } {I 2 , I 3 } {I 2 , I 4 } {I 2 , I 5 } {I 3 , I 4 } {I 3 , I 5 } {I 4 , I 5 }}
từ L 1
L2
So sánh Sup_count các ứng viên với minsup
C2
C2
Trang 28Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Tập item sup
count {l 1 , I 2 , I 3 }
Duyệt D từng ứng
count {l 1 , I 2 , I 3 }
{l 1 , I 2 , I 5 }
2
2
So sánh sup_count các ứng viên với minsup thiểu
Hình Error! No text of specified style in document.-5 Tập 2 item L3 thu được từ
L2
2 Sinh luật từ các tập frequent itemset
Các luật được sinh như sau:
1 Với mỗi frequent itemset l sinh ra tất cả các tập con s khác rỗng của l
2 Với mỗi s của l đưa ra luật “ s (l-s)” nếu (sup_count(l)/sup_count(s) )
minconf
Ví dụ: Từ ví dụ trên nếu lấy ra một tập con l là {l1, l2, l5}
Các kết quả luật kết hợp như sau:
1 l1^l2 l5 với c = 2/4 = 50% 2 l1^l5 l2 với c = 2/2 =100%
3 l2^l5 l1 với c = 2/2 = 100% 4 l1 l2^ l5 với c = 2/6 = 33%
5 l2 l1^ l5 với c = 2/7 = 29% 6 l5 l2^ l1 với c = 2/2 = 100%
Nếu đặt ngưỡng minconf = 70% thì ta có các luật 2,3, 6 là các luật mạnh
II.1.4 Cải thiện thuật toán
1 Kỹ thuật hàm băm - đếm itemset [11]
Kỹ thuật hàm băm được dùng để giảm kích cỡ của Ck vói k>1 Ví dụ khi sinh
ra các tập 2-itemset cho mỗi giao dịch, băm (ánh xạ) chúng thành các địa chỉ khác nhau của cấu trúc hàm băm và tăng con đếm của thùng Một 2 itemset có con đếm
dưới ngưỡng hỗ trợ không thể là thường xuyên nên sẽ bị xoá khỏi tập ứng cử viên
Như vậy sẽ giảm đáng kể số itemset của tập ứng cử đặc biệt khi k=2
Trang 29Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Nội dung {I 1 , I 4 }
{I 3 , I 5 }
{I 1 , I 5 } {I 1 , I 5 }
{I 2 , I 3 } {I 2 , I 3 } {I 2 , I 3 } {I 2 , I 3 }
{I 2 , I 4 } {I 2 , I 4 }
{I 2 , I 5 } {I 2 , I 5 }
{I 1 , I 2 } {I 1 , I 2 } {I 1 , I 2 } {I 1 , I 2 }
{I 1 , I 3 } {I 1 , I 3 } {I 1 , I 3 } {I 1 , I 3 }
Hình Error! No text of specified style in document.-6
Bảng băm H2 cho tập C2
Nếu minsup = 3 thì có thể bỏ các thùng 0, 1, 3, 4
2 Giảm giao dịch: Giảm số các giao dịch phải truy đọc trong mỗi bước lặp
Một giao dịch mà không chứa một k-itemset nào sẽ không chứa (k+1)-itemset Các giao dịch như vậy có thể được đánh dấu hoặc xoá bỏ ở các lượt sau
3 Phân hoạch dữ liệu: Kỹ thuật này dùng để tìm tập ứng cử [11]
Kỹ thuật partition đòi hỏi 2 lượt đọc CSDL để tìm frequent itemset trên D:
Pha I: Chia các giao dịch của D thành n phân hoạch không bao nhau Nếu
ngưỡng hỗ trợ trong D là minsup thì số đếm hỗ trợ min cho mỗi phân hoạch
là minsup*số giao dịch của phân hoạch đó Sau khi tìm được tất cả các tập thường xuyên của mỗi phân hoạch, sẽ tập hợp lại để tạo ra tập ứng cử của D
Pha II: Lượt truy đọc thứ hai để tìm ra frequent itemset tổng thể của D
Hình Error! No text of specified style in document.-7 Khai phá
bằng phân hoạch dữ liệu
4 Lấy mẫu điển hình- khai phá trên tập con dữ liệu
Ý tưởng chính: Lấy ngẫu nhiên tập S trong D sau đó tìm ra tập thường xuyên
Chia D thành n phân hoạch
Tìm tập item thường xuyên
bộ phận của mỗi phân hoạch (1 scan)
Tổ hợp tất cả tập item bộ phận tạo
ra tập các ứng viên
Tìm tập item toàn cục trong các ứng viên (1scan)
Trang 30Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Computer (sup=10%)
Desktop ( sup=4%)
Laptop (sup=6%)
Mức 1 Minsup=5%
Mức 2 Minsup=5%
trong S thay cho D ký hiệu là Ls
.Tập còn lại của D được dùng để tính toán tính thường xuyên thực sự của mỗi item trong Ls Xây dựng một cơ chế xác định tất cả các tập thường xuyên của D có nằm trong Ls
không? Nếu Ls
chứa đủ các tập thường xuyên của D thì không cần phải truy đọc thêm lượt nữa trong D
II.1.5 Khai phá luật nhiều mức
Các luật được sinh ra từ khai phá luật kết hợp với các phân cấp khái niệm được gọi là các luật nhiều mức Đối với nhiều ứng dụng việc tìm ra các luật mạnh cho dữ liệu mức thấp hoặc mức cơ bản nhất thường khó vì tính thưa (dữ liệu chi tiết thiếu, không đầy đủ) của không gian đa chiều
Cách tiếp cận khai phá này dựa trên khung làm việc hỗ trợ_tin cậy theo chiến lược trên xuống: Tại mỗi mức khái
niệm các tập thường xuyên bắt đầu từ
mức 1 xuống đến các mức thấp hơn sẽ
được đếm (tính tổng gộp) Tuy nhiên,
khi khai phá các luật đa mức các luật
tìm thấy có thể dư thừa do quan hệ gia
phả giữa các item Ví dụ như “máy tính desktop” là nhóm cha của “IBM desktop” Thông thường các luật mức trên sẽ chung chung, ít ý nghĩa hơn, có thể loại bớt
Hình Error! No text of specified style in document.-8 Khai
phá dữ liệu nhiều mức phân cấp II.1.6 Khai phá luật nhiều chiều
Các luật kết hợp chứa số chiều hoặc vị từ lớn hơn hoặc bằng 2 được gọi là luật nhiều chiều Các thuộc tính trong CSDL hoặc các chiều trong kho dữ liệu được xem
xét như là một vị từ hoặc những luật nhiều vị từ có ý nghĩa như: tuổi (X, ”20 29”)
và nghề nghiệp(X, ”sinhviên”) thì mua(X,”máytính”) Có thể sử dụng thuật toán
Apriori với một chút sửa đổi để tìm tất cả các tập vị từ thường xuyên thay cho 1 tập
thường xuyên Nghĩa là tìm kiếm qua tất cả các thuộc tính (tuổi, nghề nghiệp, mua) thay cho chỉ tìm theo một thuộc tính (mua)
Trang 31Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Một tùy biến khác để tìm ra các luật dạng nhiều chiều được gọi là hệ thống phân cụm luật kết hợp (ARCS) Thực chất phương pháp này mượn ý tưởng xử lý ảnh là ánh xạ các giá trị thuộc tính vào 1 điểm trong không gian đa chiều Các điểm này được phân cụm và luật kết hợp được sinh ra từ các điểm [11]
41K…50K 31K…40K 21K 30K
<=20K
32 33 34 35 36 37 38
Tuổi
Hình Error! No text of specified style in document.-9 Lưới hai
chiều dữ liệu người Mua tivi II.1.7 Đánh giá phân tích luật kết hợp
1 Các điểm mạnh
Hình thức biểu diễn mẫu trong dữ liệu như là luật “If then” làm cho kết quả
dễ hiểu Phân tích luật kết hợp là một trong những kiểu khai phá tri thức thông dụng nhất trong các hệ thống học gián tiếp (Unsupervised Learning Systems)
Kết quả của kỹ thuật này là những luật đáng quan tâm Các luật này cho biết thông tin về CSDL mà ta chưa biết hoặc hầu như chưa bao giờ nghĩ đến
Tuy nhiên, điểm yếu của các phân tích quy nạp luật ở chỗ số lượng luật có thể
quá nhiều, không kiểm soát được và kích thước phức tạp tính toán hàm mũ
Trang 32Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
bệnh, dự báo, lựa chọn thị trường Nhiều phương pháp phân lớp và dự báo đã được nghiên cứu và đưa vào sử dụng như: học máy, hệ chuyên gia, công nghệ nơron, thống kê
II.2.1 Phân lớp
Mục đích nhiệm vụ phân lớp là dự đoán giá trị lớp (đã biết tập giá trị lớp) của
thuộc tính đích dựa trên giá trị các thuộc tính đầu vào Luật phân lớp là luật dự đoán
trong đó phần điều kiện NẾU (IF) là tổ hợp các điều kiện trên các thuộc tính dự đoán, phần kết quả THÌ (THEN) sẽ gán giá trị cho thuộc tính đích
Chức năng phân lớp thuờng được dùng cho các ứng dụng phân lớp khách hàng, phân tích tín dụng Ví dụ như muốn dự đoán các khách hàng có khả năng trả
nợ ngân hàng không, mỗi khách hàng với các thuộc tính mô tả chi tiêu, thu nhập và các thông tin cá nhân khác
II.2.2 Phân lớp - một quá trình hai bước
Bước 1- Xây dựng mô hình - Học
Sử dụng tập các bộ dữ liệu hoặc đối tượng được mô tả bằng các thuộc tính và
đã biết lớp, tập này được gọi là tập huấn
luyện Mô hình được xây dựng bằng cách
phân tích tập dữ liệu huấn luyện, sử dụng
các thuật toán phân lớp và thể hiện mô hình
theo luật phân lớp, cây quyết định, hoặc các
công thức toán học, mạng nơron [5]
Hình Error! No text of specified style in document.-4 Quá trình phân lớp
Bước 2 - Sử dụng mô hình - Phân lớp
Áp dụng mô hình cho tập dữ liệu kiểm thử với các lớp đã xác định để kiểm tra
và đánh giá độ chính xác của mô hình Nếu độ chính xác chấp nhận được sẽ sử dụng
mô hình để phân lớp cho dữ liệu chưa biết lớp, hoặc cho tương lai
II.2.3 Xây dựng các tập dữ liệu
Trang 33Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Khác với chức năng khai thác luật kết hợp, một đặc điểm của chức năng phân lớp là cần có chiến lược cho việc chuẩn bị ba tập dữ liệu có cấu trúc và các thuộc tính dự đoán là giống nhau : Tập huấn luyện, Tập kiểm thử đã biết lớp và Tập mới chưa xác định lớp nào
Hình Error! No text of specified style in
document.-5 Các tập dữ liệu cho phân lớp
II.2.4 Phân lớp bằng học cây quyết định
1 Các định nghĩa
Học cây quyết định là một phương pháp học phân lớp với hàm phân lớp là cây quyết định Cây quyết định phân lớp bằng cách sắp các trường hợp thành cây từ gốc đến lá Mỗi nút trên tương ứng các thuộc tính của một trường hợp, mỗi nhánh tương
ứng với một giá trị có thể có của thuộc tính, nút lá mang giá trị lớp của trường hợp Cây quyết định được định nghĩa là cây có :
- Mỗi node không phải lá biểu diễn một thuộc tính
- Mỗi node lá biểu diễn một giá trị của hàm phân loại - giá trị thuộc tính đích Mỗi đường đi từ gốc đến các cây con là một giá trị của thuộc tính ở gốc
Ví dụ với dữ liệu cho Bảng 3 có cây quyết định như Hình II.2-3 cho biết phân lớp khách hàng có/không mua máy tính:
Trang 34Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Hình Error! No text of specified
style in document.-6 Cây phân lớp
khách hàng
Bảng 3 Dữ liệu mua máy tính
Độ đo entropy - Độ đo sự hỗn tạp của S gọi là độ đo Entropy, kí hiệu Entropy(S)
Cho một tập S : S {s1, s2 , sn} Một hàm phân loại tập S, phân các phần tử của tập S thành các lớp khác nhau Một tập S là không thuần khiết (đối với một hàm phân lớp) nếu các phần tử của nó thuộc ít nhất là 2 lớp Một tập S ngược lại là thuần khiết nếu mọi phần tử của nó đều thuộc cùng một lớp Trong lý thuyết truyền tin thì entropy là số bít thông tin tối thiểu để biểu diễn sự phân lớp của mẫu tin [14]
trong đó pi là xác suất (tỉ lệ) của số phần tử thuộc lớp thứ i trong tập S
Theo Bảng II.2-1 nếu kí hiệu trường hợp mua là dấu + các trường hợp khác dấu -
TB Thấp Thấp Thấp
TB Thấp
TB
TB
TB Cao
.40
>40
Trang 35Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
p p
p p
S
- Khi tập S chứa toàn các phần tử thuộc một trong hai lớp tức là S thuần nhất ta có
Entropy (S) = -(1 log2 1+ 0.log20)=0
- Khi S chứa một nửa khẳng định thì Entropy(S)=1 - được gọi là hỗn tạp nhất
Độ đo lợi ích thông tin Gain:
Một thuộc tính có lợi ích thông tin cao, nghĩa là nếu biết được các giá trị của
thuộc tính đó thì việc phân lớp sẽ tiến gần tới đích Ví dụ theo Bảng 3, nếu đã biết
Tuổi= ”31 40” thì thuộc lớp “C” có mua máy tính Gain của thuộc tính A được đo
bằng độ giảm entropy trung bình của tập S sau khi biết giá trị của A, và được tính
là:
v A
Value v
v
S Entropy S
S S
Entropy A
S
) (
(II.4.3)
|S v | là số các phần tử tập S khi có thuộc tính A mang trị thứ v, |S| số phần tử
tập S
2 Khai phá với học cây quyết định
Các thuật toán cho việc học cây quyết định được phát triển rất đa dạng và
thường dựa trên thuật toán trung tâm là Top-down, tìm kiếm tham lam trên không
gian cây quyết định có thể Thuật toán cơ bản ID3, học các cây quyết định bắt đầu
với một thuộc tính tốt nhất được chọn làm gốc Tiếp đó, một nút kế thừa được tạo
vói giá trị có thể của thuộc tính này, các ví dụ huấn luyện được sắp thành dãy các
nút tiếp theo một cách thích hợp (nhánh tương ứng giá trị của ví dụ cho thuộc tính
này) Toàn bộ quá trình được lặp lại cho đến khi một cây quyết định có thể chấp
nhận được, thuật toán không có bước quay lui để xem xét các lựa chọn ban đầu
a Thuật toán xây dựng cây quyết định
ID3 (Tập ví dụ, Thuộc tính đích, Tập thuộc tính)
Tập ví dụ là các ví dụ huấn luyện
Trang 36Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Tập thuộc tính danh sách các thuộc tính được huấn luyện học (predictor) Thuộc tính đích là thuộc tính mà giá trị là các lớp, được dự đoán bởi cây Đầu ra của cây quyết định là phân lớp đúng tập ví dụ đã đưa ra
o Đầu tiên chọn một thuộc tính làm gốc, sinh ra các node con, mỗi node ứng với một giá trị có thể của thuộc tính được chọn
o Chia tập ví dụ huấn luyện thành các tập con ứng với các giá trị có thể của thuộc tính được chọn, gán các tập con đó tương ứng với các node con
o Lặp lại quá trình với các node con cho đến khi tất cả các ví dụ được gán với các node lá đã biết giá trị hàm đích (khẳng định hay phủ định)
Vấn đề quan trọng là chọn thuộc tính nào để phân chia tập ví dụ huấn luyện tại mỗi thời điểm, ID3 dùng phương pháp Max-Gain để chọn thuộc tính tốt nhất
Xét thuộc tính Tuổi (ký hiệu K là dấu -,
document.-7 Chọn thuộc tính Tuổi làm gốc
Gain(S, thunhap)=0.029
Gain(S, sinhvien)=0.151
cũng có nghĩa là khi chọn thuộc tính Tuổi để phát triển thì việc phân loại sẽ gần đến
đích nhất
b Biến cây thành luật
Tri thức được biểu diễn trong cây quyết định có thể được trích lọc và biểu diễn thành dạng luật IF THEN Một luật là một đường đi từ gốc tới lá mỗi giá trị cặp
Trang 37Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
giá trị và thuộc tính theo con đường đó tạo ra một vị từ trong mệnh đề tiền tố (phần IF) Nút lá giữ giá trị lớp dự đoán, là hậu tố của mệnh đề (phần THEN) Ví dụ cây phân lớp hình II.2.2-3 cho một số các luật sau:
IF Tuổi =” <=30” AND Sinhvien=”K” THEN Mua=”K”
IF Tuổi =” <=30” AND Sinhvien=”C” THEN Mua=”C”
Đánh giá các phương pháp cây quyết định:
- Ưu điểm:
Cây quyết định có thể sinh ra các luật dễ hiểu
Cây quyết định thực hiện phân lớp mà không đòi hỏi tính toán nhiều
Có thể sử dụng cho cả các biến liên tục, biến phân loại và các dữ liệu thiếu Cây quyết định chỉ ra rõ ràng các trường quan trọng cho dự báo phân lớp qua một số phép đo như độ đo lợi ích thông tin, độ quan trọng thống kê,
2
- Điểm yếu:
Cây quyết định cho độ chính xác kém hơn với các bài toán giá trị liên tục
Lỗi khi tỉa bớt cây với quá nhiều lớp: Với các bài toán phân lớp có nhiều lớp
mà có ít các ví dụ huấn luyện trên mỗi lớp Điều này dẫn tới xây dựng một cây rất nhanh với nhiều mức hoặc nhiều nhánh trên một nút
Chi phí huấn luyện lớn: Quá trình phát triển cây quyết định rất tốn kém chi
phí tài nguyên tính toán Tại mỗi nút phải phân tách các trường để sắp lại trước khi phương án tách tốt nhất tìm được Có thể sử dụng cách tổ hợp các trường và tìm kiếm tối ưu theo trọng số tổ hợp Các thuật toán cũng tốn kém cho việc loại bớt các nhánh của cây do việc tạo ra và so sánh các cây con II.2.5 Phân lớp Bayees
Phân lớp Bayees là phương pháp phân lớp thống kê dự đoán xác suất các thành viên thuộc lớp Các phân lớp Bayees cho tính chính xác và tốc độ cao khi áp dụng vào các CSDL lớn Phương pháp Naive Bayees là một phương pháp phân lớp
Trang 38Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Bayees đơn giản Phương pháp này giả thiết ảnh hưởng của một giá trị thuộc tính tới lớp là độc lập với các giá trị thuộc tính khác - gọi là độc lập điều kiện lớp
1 Lý thuyết Bayees [11]
Cho X là dữ liệu ví dụ của một lớp chưa biết H là giả thiết X thuộc lớp C nào
đó Bài toán phân lớp sẽ xác định P(H|X) - là xác suất giả thuyết H chứa ví dụ X khi quan sát hay nói cách khác - là xác suất hậu nghiệm của H với điều kiện X
Ví dụ: Đối tượng hoa quả được mô tả bằng hình dáng và màu sắc Giả sử X là
đỏ và tròn, giả thiết H là „quả táo‟ P(H|X) thể hiện độ chắc chắn mà X là quả táo khi thấy X là đỏ và tròn P(H) là xác xuất tiên nghiệm của H – là xác suất đối tượng
là quả táo mà không cần biết trông đối tượng như thế nào (độc lập với X) Xác suất hậu nghiệm P(H|X) dựa trên các thông tin hơn là dựa trên xác suất tiên nghiệm P(H) Tương tự có P(X|H) là xác suất hậu nghiệm của X với điều kiện H - là độ chắc chắn mà nếu X là tròn và đỏ thì X là quả táo và P(X) xác suất tiên nghiệm của
X
Công thức Bayees là:
P(H|X)=P(X|H)P(H)/P(X) (II.5.1)
2 Phân lớp Naive Bayees
1 Mỗi dữ liệu ví dụ được biểu diễn bằng một véctơ X=(x1, xn) mô tả n độ đo của
Trong đó Ci - được gọi là giả thiết hậu nghiệm lớn nhất
3 Nếu P(X) là hằng chỉ cần tìm max P(X|Ci)P(Ci) Nếu xác suất đến trước chưa biết và giả sử P(C1)=P(C2) thì tìm Ci có max P(X|Ci)P(Ci) (II.5.2)
4 Nếu dữ liệu có nhiều thuộc tính chi phí tính toán P(X|Ci) có thể rất lớn, vì vậy
Trang 39Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
với giả thiết các thuộc tính độc lập điều kiện lớp thì có thể tính
P(X|Ci)= P(Xk|Ci) (k=1 n)
Trong đó P(Xk|Ci) được tính như sau:
Với giả sử Ak là thuộc tính giá trị tên thì P(Xk|Ci)= Sik/Si , trong đó Sik số ví
dụ huấn luyện của lớp Ci có giá trị Xk với Ak, Si là số ví dụ thuộc lớp Ci
5 Để phân lớp cho đối tượng X chưa biết lớp: Tính các giá trị P(X|Ci) cho mọi lớp
Ci và X thuộc lớp Ci khi và chỉ khi: P(X|Ci)=Max(P(X|Ci)P(Ci)
Ví dụ: Với dữ liệu huấn luyện bảng 3 ở trên sử dụng phân lớp Bayees dự đoán lớp (có mua máy tính hay không?) cho trường hợp X với X (tuổi=‟<30‟, thunhap=‟TB‟, sinhvien=‟C‟, TT=‟K‟) Tính theo thuật toán:
P(X|C2)P(C2) = (0.600x0.400x 200x.400)x.357 = 0007
Như vậy có thể dự báo đối tượng X sẽ thuộc vàp lớp C1 „Có mua máy tính‟
II.2.6 Phân lớp bằng mạng Nơron
Khai thác dữ liệu có thể thực hiện bằng công nghệ mạng Nơron Mạng nơron học theo cách tương tự như sự ghi nhớ của con người bằng cách kiểm tra dữ liệu hàng trăm, thậm chí hàng ngàn lần để tổ chức các mẫu hình cơ bản, sau đó sử dụng mẫu hình xử lý cho các tình huống hiện tại Các ứng dụng mạnh nơron truyền thẳng được xây dựng dựa trên các nhân tố ảnh hưởng đến sự thay đổi của dữ liệu đã được chứng minh là khá mạnh và hiệu quả trong các bài toán dự báo, phân tích và phân
Trang 40Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
loại dữ liệu Mạng nơron truyền thẳng nhiều lớp với thuật toán lan truyền ngƣợc đƣợc sử dụng nhiều nhất
1 Mạ ng Nơron (Neural Network):
Mạng nơron đƣợc xem nhƣ một mô hình liên kết các đơn vị xử lý, mỗi đơn vị
zj : Đầu ra của nơron
Hình Error! No text of specified style in document.-8 Nơ ron nhiều đầu vào
g(aj): hàm chuyển
2 Các hàm chuyển thường dùng trong mạng nơron:
hardlim g(a)=0 nếu a<0
hardlims g(a)= -1 nếu a<0
g(a)= 1 nếu a 0
tansig
e e
e e
a a
a a
g
purelin g = a poslin g=0 a < 0
g=n a 0 Satlin g = -1 nếu a<0
g = 1 nếu a 0
compet g =1 noron với max a
g= 0 các nơron còn lại
3 Phân lớp bằng mạng truyền thẳng với thuật toán lan truyền ngược