Mục đích nghiên cứu của đề tài này là tìm hiểu các kỹ thuật khai phá dữliệu và các vấn đề liên quan đến khai phá dữ liệu sử dụng luật kết hợp và xâydựng ứng dụng tích hợp khai thác dữ li
Trang 1NHIỆM VỤ ĐỒ ÁN
Họ và Tên: Vũ Thị Tuyến
Mã số sinh viên: E05351
Chuyên ngành: Hệ Thống Thông Tin
- Tìm hiểu về khai phá dữ liệu và luật kết hợp trong khai phá dữ liệu
- Xây dựng hệ thống tích hợp khai thác dữ liệu với hệ thống quản lý giaodịch tại công ty trách nhiệm hữu hạn Thiên Trường
Ngày giao đồ án: Ngày 22 tháng 03 năm 2011
Ngày hoàn thành đồ án: Ngày 13 tháng 06 năm 2011
Trang 2MỤC LỤC
NHIỆM VỤ ĐỒ ÁN 1
LỜI CẢM ƠN 2
LỜI CAM ĐOAN 3
MỤC LỤC 4
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT 6
DANH MỤC CÁC HÌNH VẼ VÀ BẢNG 7
MỞ ĐẦU 8
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 10
1.1 Phát hiện tri thức và khai phá dữ liệu 10
1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu 12
1.3 Các giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ liệu 13
1.4 Khai phá dữ liệu 16
1.4.1 Khái niệm 16
1.4.2 Nhiệm vụ của khai phá dữ liệu 17
1.4.3 Một số ứng dụng của khai phá dữ liệu 18
1.4.4 Các kỹ thuật khai phá dữ liệu 19
1.4.5 Kiến trúc của hệ thống khai phá dữ liệu 21
1.4.6 Quá trình khai phá dữ liệu 23
1.4.7 Lợi thế của khai phá dữ liệu so với các phương pháp cơ bản 24
1.4.8 Những thách thức trong khai phá dữ liệu 26
CHƯƠNG 2: KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP……… 30
2.1 Bài toán kinh điển trong khai phá dữ liệu 30
2.2 Định nghĩa về luật kết hợp 31
2.3 Một số hướng tiếp cận trong khai phá luật kết hợp 36
2.4 Một số thuật toán phát hiện luật kết hợp 37
2.4.1 Thuật toán AIS 37
Trang 32.4.2 Thuật toán SETM 38
2.4.3 Thuật toán Apriori 39
2.4.4 Thuật toán Apriori TID 42
2.4.5 Thuật toán Apriori- Hybrid 43
2.4.6 Thuật toán FP-Growth 43
2.4.7 Thuật toán PARTITION 45
2.5 Lựa chọn thuật toán để cài đặt 47
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH TÍCH HỢP KHAI THÁC DỮ LIỆU VỚI HỆ THỐNG QUẢN LÝ GIAO DỊCH TẠI CÔNG TY TNHH THIÊN TRƯỜNG 49
3.1 Phát biểu bài toán 49
3.2 Yêu cầu khi cài đặt thuật toán 50
3.3 Giao diện cơ sở dữ liệu 51
3.3.1 Giao diện chính cơ sở dữ liệu 51
3.3.2 Bảng danh mục các nhà cung cấp 52
3.3.3 Bảng danh mục khách hàng 53
3.3.4 Bảng danh mục hàng hóa 54
3.3.5 Bảng danh mục hóa đơn 55
3.3.6 Bảng chi tiết hóa đơn 56
3.3.7 Ghi dữ liệu dưới dạng XML 57
3.4 Giao diện chương trình chính 58
3.4.1 Kết nối dữ liệu 59
3.4.2 Dữ liệu XML được thêm 60
3.4.3 Kết quả sau khi phân tích Minsup =10, Minconf=20 61
KẾT LUẬN
TÀI LIỆU THAM KHẢO
Trang 4MỞ ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin
đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăngnhanh một cách nhanh chóng Bên cạnh đó, việc tin học hóa một cách ồ ạt vànhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạtđộng khác đã tạo ra cho chúng ta một lượng dữ liệu cần lưu trữ khổng lồ Hàngtriệu cơ sở dữ liệu đã được sử dụng trong các hoạt động sản xuất, kinh doanh,quản lý , trong đó có nhiều cơ sở dữ liệu cực lớn cỡ Gigabyte, thậm chí làTerabyte
Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật
và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các trithức có ích Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời
sự của nền CNTT (công nghệ thông tin) thế giới hiện nay nói chung và Việt Namnói riêng
Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vựckinh doanh và đời sống khác nhau: marketing, tài chính, ngân hàng và bảo hiểm,khoa học, y tế, an ninh, internet… Rất nhiều tổ chức và công ty lớn trên thế giới
đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh củamình và thu được những lợi ích to lớn
Mục đích nghiên cứu của đề tài này là tìm hiểu các kỹ thuật khai phá dữliệu và các vấn đề liên quan đến khai phá dữ liệu sử dụng luật kết hợp và xâydựng ứng dụng tích hợp khai thác dữ liệu với hệ thống quản lý giao dịch tại công
ty trách nhiệm hữu hạn Thiên Trường
Nội dung nghiên cứu gồm 3 chương chính:
Chương 1: Tổng quan về khai phá dữ liệu
Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu, trong đó có
đề cập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ vàcác kỹ thuật khám phá tri thức
Trang 5Chương 2: Luật kết hợp
Trình bày về luật kết hợp, trong đó trình bày về các khái niệm, định nghĩa,tính chất của luật kết hợp
Chương 3: Xây dựng chương trình tích hợp khai thác dữ liệu với hệ thống quản
lý giao dịch tại công ty TNHH Thiên trường
Trang 6DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
Ck Tập các k-itemset ứng viên
C’k Tập các k-itemset ứng viên mà TID của giao dịch sinh ra liên kết
với tập mục ứng viên Conf Độ tin cậy (Confidence
D Cơ sở dữ liệu giao dịch
k-itemset k-itemset
Lk Tập các k-itemset phổ biến
minconf Ngưỡng tin cậy tối thiểu
minsup Ngưỡng hỗ trợ tối thiểu
sup Độ hỗ trợ (support)
T Giao dịch (transaction)
Tid Định danh của giao dịch
Tid-List Danh sách các định danh của giao dịch
X ⇒Y Luật kết hợp (với X là tiền đề, Y là hệ quả)
Trang 7DANH MỤC CÁC HÌNH VẼ VÀ BẢNG
Hình 1.1: Các bước trong quá trình phát hiện tri thức 12
Hình 1.2: Quá trình khám phá tri thức từ cơ sở dữ liệu 13
Hình 1.3: kiến trúc của hệ thống khai phá dữ liệu 22
Hình 1.4: Quá trình khai phá dữ liệu 23
Bảng 2.1: Giao dịch mua hàng 34
Bảng 2.2: Tính hỗ trợ cho các tập hợp chứa các mặt hàng 35
Bảng 2.3: Các luật kết hợp và độ tin cậy của chúng 35
Bảng 2.4 ví dụ 2.3 áp dụng thuật toán Apriori 41
Hình 3.2: Danh mục nhà cung cấp 52
Hình 3.3: Danh mục khách hàng 53
Hình 3.4: Danh mục hàng hóa 54
Hình 3.5: Danh mục hóa đơn 55
Hình 3.6: Chi tiết hóa đơn 56
Hình 3.7 Ghi DL ra XML 57
Hình 3.8: Giao diện chính 58
Hình 3.9 Kết nối dữ liệu 59
Hình 3.10: Thêm dữ liệu xml 60
Trang 8CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Phát hiện tri thức và khai phá dữ liệu
Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệungày càng phát triển tạo điều kiện cho các đơn vị thu thập dữ liệu tốt hơn Đặcbiệt trong lĩnh vực kinh doanh, các doanh nghiệp đã nhận thức được tầm quantrọng của việc nắm bắt và xử lý thông tin, nhằm giúp các chủ doanh nghiệp trongviệc vạch ra các chiến lược kinh doanh kịp thời mang lại những lợi nhuận to lớncho doanh nghiệp của mình Tất cả lý do đó khiến cho các cơ quan, đơn vị và cácdoanh nghiệp đã tạo ra một lượng dữ liệu khổng lồ cỡ Gigabyte thậm chí làTerabyte cho riêng mình
Khi lưu trữ các dữ liệu khổng lồ đó thì chúng ta thấy rằng chắc chắn phảichứa những giá trị nhất định nào đó Tuy nhiên chỉ có một số lượng nhỏ dữ liệunày được phân tích, số còn lại thì chúng ta không biết phải làm gì với chúng, mặc
dù họ vẫn tiếp tục quá trình thu thập kiến thức với chi phí rất tốn kém Trong môitrường cạnh tranh như hiện nay, ngày càng cần nhiều thông tin với tốc độ nhanh
để trợ giúp việc ra quyết định Với những lý do như vậy, các phương pháp quảntrị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế
đã làm, một khuynh hướng phát triển mới đó là kỹ thuật phát hiện tri thức và khaiphá dữ liệu
Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các
ký hiệu, hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho mộtchương trình dưới một dạng nhất định Chúng ta sử dụng các bit để đo lường cácthông tin và xem nó như là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọntới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Chúng ta có thể xemtri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệgiữa chúng Các mối quan hệ này có thể được hiểu ra, có thể được phát hiện,hoặc có thể được học Nói cách khác, tri thức có thể được coi là dữ liệu có độtrừu tượng và tổ chức cao
Trang 9Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫuhoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và cóthể hiểu được Còn khai thác dữ liệu là một bước trong qui trình phát hiện trithức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định
về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong
dữ liệu Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệuchính là tìm ra các mẫu và các mô hình đang tồn tại trong các cơ sở dữ liệunhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu
Khai phá dữ liệu là quá trình tìm kiếm các mẫu mới, những thông tin tiềm
ẩn mang tính dự đoán trong khối dữ liệu lớn Những công cụ khai phá dữ liệu cóthể dự đoán những xu hướng trong tương lai, các tri thức mà khai phá dữ liệumang lại giúp cho các công ty kinh doanh ra quyết định kịp thời và có thể trả lờinhững câu hỏi trong lĩnh vực kinh doanh, mà trước đây tốn nhiều thời gian để xử
lý Sự phân tích một cách tự động mang tính dự báo của khai thác dữ liệu có ưuthế hơn hẳn so với phân tích thông thường dựa trên những sự kiện trong quá khứcủa các hệ hỗ trợ ra quyết định trước đây Với tất cả những ưu điểm trên, khaiphá dữ liệu đã chứng tỏ tính hữu dụng cúa nó trong môi trường kinh doanh đầytính cạnh tranh ngày nay và được ứng dụng rộng rãi trong các lĩnh vực thươngmại, tài chính, điều trị y học, giáo dục, viễn thông v v
Trang 101.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu
Quá trình phát hiện tri thức có thể chia thành các bước sau:
Hình 1.1: Các bước trong quá trình phát hiện tri thức
- Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệukhông thích hợp
- Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khácnhau
- Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đếnnhiệm vụ
- Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạngphù hợp cho việc khai phá
- Khai phá dữ liệu (Data mining): Các kỹ thuật được áp dụng để trích xuấtthông tin có ích hoặc các mẫu điển hình trong dữ liệu
- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thuđược
- Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thứckhai phá được cho người sử dụng
Trang 111.3 Các giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ liệu
Quá trình khám phá tri thức có thể chia thành 5 giai đoạn:
Hình 1.2: Quá trình khám phá tri thức từ cơ sở dữ liệua) Giai đoạn 1: Hiểu và xác định vấn đề
Đây là quá trình mang tính định tính với mục đích xác định được lĩnhvực yêu cầu phát hiện tri thức và xây dựng bài toán tổng kết Trong thực tế các
cơ sở dữ liệu được chuyên môn hóa và phân chia theo các lĩnh vực khác nhaunhư sản phẩm, kinh doanh, tài chính, Với mỗi tri thức phát hiện được có thể cógiá trị trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối với lĩnh vựckhác Như vậy, việc xác định lĩnh vực và định nghĩa bài toán giúp định hướngcho giai đoạn tiếp theo thu thập và tiền xử lý dữ liệu
b) Giai đoạn 2: Thu thập và tiền xử lý dữ liệu
Các cơ sở dữ liệu thu được thường chứa 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ạnthu thập và tiền xử lý dữ liệu trở lên quan trọng trong quá trình phát hiện tri thức
2.Thu thập và tiền xử lý
dữ liệu
4 Minh họa và đánh giá tri thức
Trang 12Người ta chia giai đoạn này thành các công đoạn như: lựa chọn, làmsạch, làm giàu, mã hóa dữ liệu:
- Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan trong cácnguồn dữ liệu khác nhau Các thông tin được chọn lọc sao cho có chứa nhiềuthông tin liên quan đến lĩnh vực cần phát hiện tri thức mà đã xác định tronggiai đoạn đặt vấn đề
- Làm sạch dữ liệu: Trên thực tế các dữ liệu lấy từ nhiều nguồn khác nhauthường không đồng nhất Do đó, cần có biện pháp xử lý để đưa về một cơ sở
dữ liệu thống nhất phục vụ cho việc khai thác Nhiệm vụ làm sạch dữ liệu baogồm:
+ Điều hòa dữ liệu: Nhằm giảm bớt tính không nhất quán do dữ liệu lấy ra từnhiều nguồn khác nhau Thông thường sử dụng phương pháp khử các trườnghợp trùng lặp dữ liệu và thống nhất dữ liệu
+ Xử lý các giá trị khuyết: Tính không đầy đủ của dữ liệu có thể gây ra hiệntượng dữ liệu chứa giá trị khuyết.Thông thường có thể lựa chọn các phươngpháp khác nhau để thực hiện việc xử lý giá trị khuyết như:bỏ qua các bộ cógiá trị khuyết,điểm bổ sung bằng tay,…
+ Xử lý nhiễu và các ngoại lệ: Nhiễu dữ liệu có thể là nhiễu ngẫu nhiên hoặccác giá trị bất thường.Để làm sách nhiễu người ta có thể sử dụng phươngpháp làm trơn nhiễu hoặc dùng các giải thuật để phát hiện ra các ngoại lệ để
xử lý
- Làm giàu dữ liệu: Việc thu thập dữ liệu đôi khi không đảm bảo tính đầy đủcủa dữ liệu Một số thông tin quan trọng có thể thiếu hoặc không đầy đủ Quátrình làm giàu cũng 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 quy đổi tính toán lại để đưa ra mộtkiểu thống nhất, tiện cho quá trình phân tích
- Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ liệu sẽđược mã hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động
Trang 13việc kiết xuất, biến đổi và di chuyển dữ liệu Các hệ thống con đó có thể thựcthi định kỳ làm tươi dữ liệu phục vụ cho việc phân tích.
c) Giai đoạn 3: Khai thác dữ liệu
Giai đoạn này được bắt đầu sau khi dữ liệu đã thu thập được và tiến hành xử
lý Công việc chủ yếu ở giai đoạn này là xác định được bài toán khai thác dữ liệutiến hành lựa chọn phương pháp khai thác phù hợp với dữ liệu được tách ra từ trithức cần thiết
d) Giai đoạn 4: Minh họa và đánh giá tri thức
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 báo cáophục vụ cho các mục đích hỗ trợ quyết định khác nhau Do có nhiều phươngpháp khai thác có thể áp dụng nên các kết quả có mức độ tốt hoặc xấu khác nhau.Việc đánh giá kết quả thu được là cần thiết, giúp tạo cơ sở cho những quyết địnhchiến lược
e) Giai đoạn 5: Đưa kết quả vào thực tế
Các kết quả của quá trình phát hiện tri thức có thể đưa vào ứng dụng trongcác 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ênchúng có thể đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hóa quátrình này
Quá trình khám phá tri thức từ cơ sở dữ liệu trải qua 5 giai đoạn, mặc dù có
5 giai đoạn như trên xong quá trình khám phá tri thức từ cơ sở dữ liệu là một quátrình tương tác và lặp đi lặp lại theo chu trình liên thục kiểu xoáy trôn ốc, trong
đó lần lặp sau hoàn chỉnh hơn lần lặp trước Ngoài ra, giai đoạn sau lại dựa trênkết quả thu được của giai đoạn trước theo kiểu thác nước
Trang 141.4 Khai phá dữ liệu
1.4.1 Khái niệm
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ
80 Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trịtiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất khai phá dữ liệuliên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra cácmẫu hính có tính chính quy (regularities) trong tập dữ liệu
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm pháthiện tri thức trong cơ sở dữ liệu (Kownledge Discovery in Database – KDD) đểchỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong
đó, Khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng cácgiải thuật đặc biệt để chiêt xuất ra các mẫu (hay các mô hình) từ dữ liệu
Ngoài ra, còn có một số quan niệm về khai phá dữ liệu:
Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin
có ích từ kho dữ liệu khổng lồ
Khai phá dữ liệu được định nghĩa như một quá trình phát hiện mẫu trong
dữ liệu Quá trình này có thể tự động hay bán tự động, song phần nhiều là bán tựđộng Các mậu được phát hiện thường hữu ích theo nghĩa: các mẫu mang lại chongười sử dụng một lợi thế nào đó, thường là lợi thế về kinh tế
Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ liệu Dữ liệunhư là tập hợp của các vật hay sự kiện, đầu ra của quá trình khai phá dữ liệu lànhững dự báo của các vật hay sự kiện mới
Khám phá tri thức là quá trình nhận biết các mẫu hoặc mô hình trong dữliệu với các tính chất: Đúng đắn, mới, khả ích và có thể hiểu được Khai phá dữliệu là bước trong quá trình khám phá tri thức bao gồm các thuật toán khai phá
dữ liệu chuyên dùng dưới một số quy định hiệu quả tính toán chấp nhận được đểtìm ra các mẫu và các mô hình trong dữ liệu
Như vậy, mục đích của khám phá tri thức và khai phá dữ liệu là quá trìnhtìm ra các mẫu hoặc mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn
bị che khuất bởi số lượng dữ liệu khổng lồ
Trang 151.4.2 Nhiệm vụ của khai phá dữ liệu
Mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ sử dụng lợiích cạnh tranh trên thương trường và lợi ích trong nghiên cứu khoa học Do đó,
có thể coi mục đích chính của khai thác dữ liệu sẽ là mô tả (description ) và dựđoán (prediction) Do vậy, các mẫu khai phá dữ liệu phát hiện nhằm mục đíchnà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 chứa những giá trị chưa biết hoặcnhững giá trị trong tương lai của các biến đáng quan tâm Mô tả tập trung và việctìm kiếm các mẫu mô tả dữ liệu mà con người có thể hiểu
Chúng ta thấy, những nhiệm vụ cơ bản nhất của khai phá dữ liệu là:
- Phân lớp (Classification): Phân lớp là việc học một hàm ánh xạ (hay phânloại) một mẫu dữ liệu và một trong số lớp đã xác định
- Hồi quy (regression) : Hồi quy là việc họ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
- Phân nhóm (Clustering): Là việc mô tả chung để tìm ra tập xác định cácnhóm hay các loại để mô tả dữ liệu Các nhóm có thể tách riêng nhau hoặcphân cấp gối lên nhau Có nghĩa một dữ liệu có thể vừa thuộc nhóm này, vừathuộc nhóm kia
- Khai phá luật kết hợp: Nhiệm vụ là phát hiệ ra những mối quan hệ giống nhaucủa bản ghi giao dich Luật kết hợp X=>Y có dạng tổng quát là: Nếu một giaodịch đã sở hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất Y, ởmột mức độ nào đó Khai phá luật kết hợp có thể hiểu theo nghĩa: Biết trướctính chất X, vậy các tính chất Y là những tính chất nào?
- Lập mô hình dự báo bao gồm hai nhiệm vụ: Hoặc là phân nhóm dữ liệu vàomột hay nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đãcho trong một cơ sở dữ liệu để dự báo sự xuất hiện (hoặc không xuất hiện)của các trường hợp khác
- Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể chứa các đối tượngkhông tuân theo mô hình dữ liệu Các đối tượng dữ liệu như vậy goi là các
Trang 16đối tượng ngoài cuộc Hầu hết các phương pháp khai phá dữ liệu đều coi cácđối tượng ngoài cuộc là nhiễu và loại bỏ chúng Một số phương pháp được sửdụng để phát hiện đối tượng ngoài cuộc: Sử dụng các hình thức kiểm tramang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô hình xácsuất cho dữ liệu, dùng các độ đo khoảng cách mà theo đó đối tượng có mộtkhoảng cách đáng kể đến cụm bất kỳ khác được coi là đối tượng ngoài cuộc,dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong nhữngđặc trưng chính của các nhóm đối tượng.
- Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả và mô hìnhhóa các quy luật hay khuynh hướng của những đối tượng mà ứng xử củachúng thay đổi theo thời gian Phân tích sự tiến hóa bao gồm cả đặc trưnghóa, phân biệt, tìm luật kết hợp, phân lớp hay phân cụm dữ liệu liên quan đếnthời gian, phân tích dữ liệu theo chuỗi thời gian, so sánh theo chu kỳ và phântích dữ liệu dựa trên tính tương tự
1.4.3 Một số ứng dụng của khai phá dữ liệu
Mặc dù còn rất nhiều vấn đề mà khai phá dữ liệu cần phải tiếp tục nghiêncứu để giải quyết nhưng tiềm năng của nó đã khẳng định sự ra đời của rất nhiềuứng dụng
Khai phá dữ liệu được ứng dụng rất thành công trong “cơ sở dữ liệu thịtrường” (database marketing), đây là một phương pháp phân tích cơ sở dữ liệukhách hàng, tìm kiếm các mẫu trong số các khách hàng và sử dụng mẫu này đểlựa chọn các khách hàng trong tương lai Hiện nay, kỹ thuật khai phá dữ liệuđược ứng dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sốngkhác như:
- Thương mại : Phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư,quyết định cho vay, phát hiện gian lận,…
- Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tíchkết quả thử nghiệm,…
Trang 17- Thiên văn học: Hệ thống SKICAT do JPL/Caltech phát triển được sử dụngcho các nhà thiên văn để tự động xác định các vì sao và các dải thiên hà trongmột bản khảo sát lớn để có theer phân tích và phân loại.
- Phân tử sinh học: Hệ thống tìm kiếm các mẫu trong cấu trúc phân tử
(Conklin, Fortier, và Glasgrow 1993) và trong các dữ liệu gen (Holder, Cook,
và Djoko 1994)
- Mô hình hóa những thay đổi thời tiết: Các mẫu không gian như lốc, gió xoáyđược tự động tìm thấy trong tập lớn các dữ liệu mô phỏng và quan sát được(Stolorz et al.1994)
Ngoài ra, khai phá dữ liệu còn được ứng dụng trong các lĩnh vực như: trong
y tế, marketing, ngân hàng, viễn thông, du lịch, internet,…
1.4.4 Các kỹ thuật khai phá dữ liệu
Kỹ thuật khai phá dữ liệu được chia làm 2 nhóm chính:
- Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về tính chất hoặc các đặctính chung của dữ liệu trong cơ sở dữ liệu 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 hóa (visualiztion),phân tích sự phát triển và độ lệch (evolution and deviation analyst), phânthích lật hết hợp ( association rules)…
- Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự doán dựa vàosuy 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)…
Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân cụm dữliệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp
a) Phân cụm dữ liệu:
Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượngtương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùngmột lớp là tương đồng còn các đối tượng thuộc cụm khác nhau sẽ không tươngđồng Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phảiđịnh nghĩa trước các mẫu dữ liệu huấn luyện.Vì thế có thể coi phân cụm dữ liệu
Trang 18là một cách học bằng quan sát (learning by observation), trong khi phân lớp dữliệu là học bằng ví dụ (learning by example) Trong phương pháp này bạn khôngthể biết kết quả các cụm thu được sẽ thế nào khi bắt đầu quá trình Vì vậy, thôngthường cần có một chuyên gia về lĩnh vực đó để đánh giá cụm thu được Phâncụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường,phân đoạn khách hàng, nhận dạng mẫu, phân loại trang web… Ngoài ra, phâncụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toánkhai phá dữ liệu khác.
b) Phân lớp dữ liệu:
Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho cácmẫu dữ liệu Quá trình phân lớp dữ liệu gồm hai bước: Xây dựng mô hình và sửdụng mô hình để phân lớp dữ liệu
– Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữliệu sẵn có Mỗi mẫu dữ liệu tương ứng với một lớp, được quyết định bởi mộtthuộc tính gọi là thuộc tính lớp, các lớp dữ liệu này còn được là lớp dữ liệuhuấn luyện (training data set) Các nhãn lớp của tập dữ liệu huấn luyện đềuphải xác định trước khi xây dựng mô hình
– Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết, chúng ta phải tính
độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽđược sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai.c) Phương pháp hồi quy:
Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để dựđoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về giá trị rờirạc
Hồi quy là một hàm ánh xạ mục dữ liệu thành một biến dự đoán có giá trịthực Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, ví dụ nhưkhả năng đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm, chẩnđoán
d) Khai phá luật kết hợp:
Trang 19Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữacác giá trị dữ liệu trong cơ sở dữ liệu.Đầu ra của giải thuật khai phá dữ liệu làluật kết hợp tìm được Luật kết hợp là dạng khá đơn giản nhưng lại mang nhiều ýnghĩa Thông tin mà dạng luật này đem lại là rất đáng kể và hỗ trợ không nhỏtrong quá trình ra quyết định.
Độ hỗ trợ và độ tin cậy là hai độ đo đáng quan tâm của luật Chúng phảnánh sự hữu ích và sự chắc chắn của luật đã khám phá
Khai phá luật kết hợp được thực hiện qua 2 bước :
Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác địnhqua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu
Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏamãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực nhưmaketing có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thịtrường…
1.4.5 Kiến trúc của hệ thống khai phá dữ liệu
Khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri thức từ sốlượng lớn dữ liệu lưu trữ trong cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu trữkhác Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri thức,những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ là tri thức mớitrong cơ sở tri thức
Trang 20Hình 1.3: Kiến trúc của hệ thống khai phá dữ liệuKiến trúc của hệ thống khai phá dữ liệu có các thành phần sau:
– Cơ sở dữ liệu, Kho dữ liệu (Database, data warehouse): Đó là một hoặc tuyểntập các cơ sở dữ liệu, kho dữ liệu… Các kỹ thuật làm sạch, tích hợp, lọc dữliệu có thể thực hiện trên dữ liệu
– Cơ sở dữ liệu hoặc kho dữ liệu phục vụ (Database or data warehouse server):
Là kết quả lấy dữ liệu có liên quan trên cơ sở khai phá dữ liệu của ngườidùng
– Cơ sở tri thức ( Knowledge-base): Đó là lĩnh vực tri thức được sử dụng đểhướng dẫn việc tìm hoặc đánh giá mẫu thu được
– Mô tả khai phá dữ liệu ( Data mining engine): Bao gầm tập các modul chứcnăng để thực hiện nhiệm vụ mô tả đặc điểm, kết hợp, phân lớp, phân cụm dữliệu,
– Đánh giá mẫu ( pattern evaluation): Thành phần này sử dụng các độ đo vàtương tác với modul khai phá dữ liệu để tập trung vào tìm các mẫu quan tâm.– Giao diện người dùng ( Graphical user interface): Đây là modul giữa ngườidùng và hệ thống khai phá dữ liệu Cho phép người dùng tương tác với hệthống trên cơ sở những truy vấn hay tác vụ, cung cấp thông tin cho việc tìmkiếm
Trang 211.4.6 Quá trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được mô tả như những chương trìnhhoạt động trực tiếp trên dữ liệu Với các phương pháp máy học và thống kê trướcđây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vào trong
bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phácác kho dữ liệu lớn, mô hình này không thể đáp ứng được Không chỉ bởi vì nókhông thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì khó có thể chiết xuất dữliệu ra các tệp đơn giản để phân tích được
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn
đề cần giải quyết Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giảipháp Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thànhdạng sao cho giải thuật khai phá dữ liệu có thể hiểu được
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiệnviệc khai phá dữ liệu để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểudiễn tương ứng với các ý nghĩa đó (thường được biểu diễn dưới dạng xác luậtxếp loại, cây quyết định, luật sản xuất,biểu thức hồi quy, )
Hình 1.4: Quá trình khai phá dữ liệuDạng của mẫu chiết xuất được có thể phân loại bởi kiểu mẫu dữ liệu mà nó
mô tả Ta cũng có phân loại mẫu chiết xuất được theo khả năng mô tả của chúng
Ví dụ như mẫu chiết xuất được của quá trình khai phá dữ liệu theo số lượng liên
Trang 22quan đến các giá thị trường số sử dụng các công thức toán học Mẫu của quátrình khai phá dữ liệu theo chất lượng tìm ra mối quan hệ logic giữa các trường.
Kỹ thuật khai phá dữ liệu thức chất không có gì mới Nó là sự kế thừa, kếthợp và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như họcmáy, nhận dạng, thống kê (hồi quy, xếp loại, phân nhóm), các mô hình đồ thị,các mạng Bayes, trí tuệ nhân tạo, Tuy nhiên, với sự kết hợp tài tình của khai phá
dữ liệu, kỹ thuật này có ưu thế hơn hẳn so với các phương pháp trước đó, đem lạinhiều triển vọng trong công việc ứng dụng phát triển nghiên cứu khoa học cũngnhư làm tăng mức lợi nhuận trong các hoạt động kinh doanh
1.4.7 Lợi thế của khai phá dữ liệu so với các phương pháp cơ bản
Như chúng ta đã biết ở trên, ta thấy khai phá dữ liệu không có gì mới hoàntoàn dựa trên các phương pháp đã biết Như vậy, khai phá dữ liệu có gì khác sovới nhưng phương pháp đó? Và tại sao khai phá dữ liệu lại có ưu thế hơn hẳn sovới chúng? Nội dung dưới đây sẽ trả lời cho câu hỏi này:
a Học máy (Machine learning):
Mặc dù, người ta đã cố gắng cải tiến các phương pháp học máy để có thểphù hợp với mục đích khai phá dữ liệu nhưng sự khác biệt giữa cách thiết kế, cácđặc điểm của cơ sở dữ liệu đã làm cho phương pháp học máy trở nên không phùhợp với mục đích này, mặc dù cho đến nay, phần lớn các phương pháp khai phá
dữ liệu vẫn dựa trên nền tảng của phương pháp học máy
Trong quản trị cơ sở dữ liệu, một cơ sở dữ liệu là một tập hợp được tích hợpmột cách logic của dữ liệu được lưu trong một hay nhiều tệp và được tổ chứng đểlưu trữ có hiệu quả, sửa đổi và lấy thông tin liên quan dễ dàng
Trong học máy, thuật ngữ cơ sở dữ liệu chủ yếu đề cập đến một tập các mẫuđược lưu trong một tệp Các mẫu thường là các vector đặc điểm có độ dài cốđịnh Thông tin về các tên đặc điểm, dãy giá trị của chúng đôi khi cũng được lưulại trong từ điển dữ liệu Một giải thuật học còn sử dụng tập dữ liệu và các thôngtin kèm theo tập dữ liệu đó làm đầu vào và đầu ra để biểu thị kết quả của việchọc
Trang 23Với so sánh cơ sở dữ liệu thông thường và CSDL trong học máy như trên,
có thể thấy là học máy có khả năng được áp dụng cho cơ sở dữ liệu, bởi vì khôngphải học trên tập các mẫu mà học trên tệp các bản ghi của cơ sở dữ liệu
Tuy nhiên, phát hiện tri thức trong cơ sở dữ liệu làm tăng thêm các vấn đềvống đã là điển hình trong học máy và đã quá khả năng của học máy Trong thực
tế, cơ sở dữ liệu thường động, không đầy đủ, bị nhiễu và lớn hơn nhiều so vớicác tập dữ liệu học máy điển hình Các yếu tố này làm cho hầu hết các giải thuậthọc máy trở nên không hiruj quả trong hầu hết các trường hợp Vì vậy trong khaiphá dữ liệu cần tập trung rất nhiều công sức vào việc vượt qua những khó khăn,phức tạp này trong cơ sở dữ liệu
b Phương pháp hệ chuyên gia
Các hệ chuyên gia cố gắng nắm bắt tri thức thích hợp với một bài toán nào
đó Các kỹ thuật thu thập giúp cho việc lấy tri thức từ các chuyên gia con người.Mỗi phương pháp đó là một cách suy diễn các luật từ các ví dụ và giải pháp đốivới bài toán chuyên gia đưa ra 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 chất lượng cao hơn rất nhiều so với các
dữ liệu trong cơ sở dữ liệu, và chúng thường chỉ bao được các trường hợp quantrọng Hơn nữa, các chuyên gia sẽ xác nhận giá trị hữu dụng của các mẫu pháthiện được Cũng như với các công cụ quản trị cơ sở dữ liệu, ở các phương phápnày đòi hỏi cần có sự tham gia của con người trong công việc phát hiện tri thức
Trang 24đó, các nhà quản lý cơ sở dữ liệu hầu như không thể xa xỉ đi thiết kế lại cáctrường hợp dữ liệu và thu thập dữ liệu.
d Phương pháp thống kê
Từ nhiều năm nay, con người đã sử dụng phương pháp thống kê rất hiệuquả để đạt được mục đích của mình Mặc dù phương pháp thống kê cung cấp mộtnền tảng lý thuyết vững chắc cho các bài toán phân tích dữ liruj nhưng chỉ có tiếpcận thống kê thuần túy thôi chưa đủ Thứ nhất, các phương pháp thống kê chuẩnkhông phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều các cơ sở dữ liệu.Thứ hai, thống kê hoàn toàn theo dữ liệu, nó không sử dụng tri thức sẵn có vềlĩnh vực Thứ ba, các kết quả phân tích thống kê có thể sẽ rất nhiều và khó có thểlàm rõ được Cuối cùng, các phương phương pháp thống kê cần có sự hướng dẫncủa người dùng để xác định phân tích dữ liệu như thế nào và ở đâu
Sự khác nhau cơ bản giữa khai phá dữ liệu và thống kê ở chỗ khai phá dữliệu là một phương tiện được dùng bởi người sử dụng đầu cuối chứ không phải làcác nhà thống kê Khai phá dữ liệu tự động quá trình thống kê một cách có hiệuquả, vì vậy làm nhẹ bớt công việc của người dùng đầu cuối, tạo ra một công cụ
dễ sử dụng hơn Như vậy, nhờ có khai phá dữ liệu, việc dự đoán và kiểm tra rấtvất vả trước đây có thể đưa lên máy tính, được tính, dự đoán và kiểm tra mộtcách tự động
1.4.8 Những thách thức trong khai phá dữ liệu
Việc nghiên cứu và ứng dụng kỹ thuật khai phá dữ liệu gặp nhiều khó khăn,nhưng không phải là không giải quyết được mà chúng cần được tìm hiểu để cóthể phát triển tốt hơn Những khó khăn phát sinh trong khai phá dữ liệu chính là
dữ liệu trong thực tế thường động, không đầy đủ, lớn và bị nhiễu Trong trườnghợp khác, người ta không biết cơ sở dữ liệu có chứa thông tin cần thiết cho việckhai thác hay không và làm thế nào để giải quyết sự dư thừa thông tin khôngthích hợp này
– Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và bảng,hàng triệu bản ghi với kích thước đến Gigabytes đã là chuyện bình thường
Trang 25Hiện nay, đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes.Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu,lấy mẫu, các phương pháp xấp xỉ, xử lý song song.
– Kích thước lớn: Không chỉ có số lượng bản ghi lớn mà số các trường hợptrong cơ sở dữ liệu cũng nhiều Vì vậy, mà kích thước của bài toán trở nênlớn hơn Một tập dữ liệu có kích thước lớn sinh ra vấn đề làm tăng không giantìm kiếm mô hình suy diễn Hơn nữa, nó cũng làm tăng khả năng một giảithuật khai phá dữ liệu có thể tìm thấy các mẫu giả Biện pháp khắc phục làlàm giả kích thước tác động của bài toán và sử dụng các tri thức biết trước đểxác định các biến không phù hợp
– Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội cung củachúng thay đổi liên tục Dữ liệu có thể thay đổi theo thời gian và việc khaiphá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu, do đó có thểlàm cho mẫu khai thác được trước đó mất giá trị Vấn đề này được giải quyếtbằng giải pháp tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là
cơ hộ để khai thác bằng cách sử dụng nó để tìm kiếm các câu bị thay đổi.– Các trường hợp dữ liệu không phù hợp: Một đặc điểm quan trọng khác là tínhkhông thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợpvới trọng tâm hiện tai của việc khai thác Một khía cạnh khác đôi khi cũngliên quan đến độ phù hợp là tính ứng dụng của một thuộc tính đối với tập concủa cơ sở dữ liệu
– Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệuphù hợp có thể ảnh hưởng tới việc khai phá dữ liệu Trong các hệ thống tươngtác, sự thiếu vắng dữ liệu quan trọng có thể dẫn đến yêu cầu cho giá trị của nóhoặc kiểm tra để xác định giá trị của nó Hoặc cũng có thể có sự vắng mặt của
dữ liệu được coi như một điều kiện, thuộc tính bị mất có thể coi như một giátrị trung gian và là giá trị không biết
– Các trường bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể làm chocác dữ liệu có giá trị xem như bị lỗi Việc quan sát cơ sở dữ liệu phải pháthiện được toàn bộ các thuộc tính có thể dùng để giải thuật khai phá dữ liệu có
Trang 26thể áp dụng nhằm giải quyết bài toán Giả sử ta có các thuộc tính để phân biệtcác tình huống đáng quan tâm Nếu chúng không làm được điều đó có nghĩa
là đã có lỗi trong dữ liệu
– Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, độ
nghiêm trọng của lỗi phụ thuộc vào kiểu dữ liệu của các giá trị cho phép Cácgiá trị của tập các thuộc tính khác nhau có thể là các số thực, số nguyên,chuỗi và có thể thuộc vào tập các giá trị định danh Các giá trị định danh này
có thể sắp xếp theo thứ tự từng phần hoặc đầy đủ, thậm chí có thể có cấu trúcngữ nghĩa Một yếu tố khác của độ không chắc chắn chính là tính kế thừahoặc độ chính xác mà dữ liệu cần có, nói cách khác đố là độ nhiễu của dữliệu
– Mối quan hệ phức tạp giữa các trường: Các thuộc tính hoặc các giá trị có cấutrúc phân cấp, các mối quan hệ giữa các thuộc tính và các phương tiện phứctạp để diễn tả tri thức về nội dung của cơ sở dữ liệu yêu cầu các giải thuật cókhả năng sử dụng một cách hiệu quả các thông tin này
– Quá phù hợp: Khi một giải thuật tìm kiếm các tham số tốt nhất cho mô hìnhnào đó sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình trạng “quá độ”
dữ liệu, làm cho mô hình hoạt động rất kém đối với các dữ liệu thử Các giảipháp khắc phục bao gồm đánh giá chéo, thực hiện theo nguyên tắc nào đóhoặc sử dụng biện pháp thống kê khác
– Khả năng biểu đạt của mẫu: Trong rất nhiều ứng dụng, điều quan trọng lànhững điều khai thác được phải càng dễ hiểu với con người càng tốt Vì vậy,các giải pháp thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấutrúc luật với các đồ thị có hướng, biểu diễn bằng ngôn ngữ tự nhiên, và các kỹthuật khác nhằm biểu diễn tri thức và dữ liệu
– Sự tương tác với người sử dụng và các tri thức sẵn có: Rất nhiều công cụ vàphương pháp khai phá dữ liệu không thực sự tương tác với người dùng vàkhông dễ dàng kết hợp cùng với các tri thức đã biết trước đó Việc sử dụng trithức là miền rất quan trọng trong khai phá dữ liệu Đã có nhiều phương phápkhắc phục vấn đề này như sử dụng cơ sở suy diễn để phát hiện tri thức, những
Trang 27tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữliệu hoặc sử dụng sự phân bố và xác suất dữ liệu trước đó như một dạng mãhóa tri thức có sẵn.
Trang 28CHƯƠNG 2: KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP
2.1 Bài toán kinh điển trong khai phá dữ liệu
Bài toán giỏ mua hàng trong siêu thị
Giả định chúng ta có rât nhiều mặt hàng, ví dụ như “bánh mì”, “sữa”…(coi
là tính chất trường) Khách hàng đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một
số mặt hàng nào đó, và cúng ta muốn tìm hiểu các khách hàng thường mua cácmặt hàng nào đồng thời, thậm chí chúng ta không cần biết khách hàng cụ thể là
ai Nhà quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêuthị, hay đơn giản là để bố trí sắp xếp các mặt hàng gần nhau, hoặc hán các mặthàng đó theo một gói hàng, giúp cho khách hàng đỡ mất công tìm kiếm
Bài toán này hoàn toán có thể áp dụng trong các lĩnh vực khác Ví dụ 2.1:– Giỏ hàng = văn bản Mặt hàng = từ Khi đó những từ hay đi cùng nhau sẽgiúp ta nhanh chóng tìm ra lối diễn đạt, hay các khái niệm có mặt trong vănbản
– Giỏ hàng = văn bản Mặt hàng = câu Khi đó, những văn bản có nhiều câugiống nhau giúp phát hiện ra sự đạo văn, hay những “website đúp” (mirrorwebsite)
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện những
sự kiện xuất hiện thường xuyên một các đồng thời Nhiệm vụ chính của khai pháluật kết hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giaodịch lớn của một cơ sở dữ liệu cho trước Nói cách khác, thuật toán khai phá luậtkết hợp cho phép tạo ra các luật mô tả các sự kiện xảy ra đồng thời (một cáchthường xuyên) như thế nào Các thuật toán này trải qua 2 pha: pha đầu là đi tìmcác sự kiện xảy ra thường xuyên, pha hai là tìm luật
Trang 292.2 Định nghĩa về luật kết hợp
Định nghĩa :
Cho I={I1, I2, , Im} là tập hợp của m tính chất riêng biệt Giả sử D làCSDL, với các bản ghi chứa một tập con T các tính chất (có thể coi như T I), các bản ghi đều có chỉ số riêng Một luật kết hợp là một mệnh đề kéo theo
có dạng XY, trong đó X, Y I, thỏa mãn điều kiện XY= Các tập hợp X
và Y được gọi là các tập hợp tính chất (itemset) Tập X gọi là nguyên nhân, tập Ygọi là hệ quả
Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tincậy (confidence), được định nghĩa như phần dưới đây
Định nghĩa: Độ hỗ trợ
Định nghĩa 2.1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa
các bản ghi T D có chứa tập X và tổng số bản ghi trong D (hay là phần trămcủa các bản ghi trong D có chứa tập hợp X), ký hiệu là support(X) hay supp(X)(support sẽ tự sinh ra khi cài thuật toán)
Supp(X)= | {T D|:D Y|X } |
Ta có: 0 supp(X) 1 với mọi tập hợp X
Định nghĩa 2.2: Độ hỗ trợ của một luật kết hợp XY là tỷ lệ giữa số lượng các
bản ghi chứa tập hợp X Y, so với tổng số các bản ghi trong D, Ký hiệusupp(XY)
Supp(XY)= | {T D|:D T|X Y}|
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50%tổng số bản ghi chứa X Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật.trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có độ hỗ trợ cao(Ví dụ như luật kết hợp xét trong cửa hàng tạp phẩm) Nhưng cũng có trườnghợp, mặc dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liênquan đến nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại)
Định nghĩa: Độ tin cậy
Trang 30Định nghĩa 2.3: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các
bản ghi trong D chứa X Y với số bản ghi trong D có chứa tập hợp X Ký hiệu
độ tin cậy của một luật là conf(r) Ta có 0 conf(r) 1
Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:
Supp(XY)=P(XY)Conf (XY) = P(Y/X)=supp(XY)/supp(X)
Có thể định nghĩa độ tin cậy như sau:
Định nghĩa 2.4: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các
bản ghi của tập hợp chứa X Y, so với tổng số các bản ghi chứa X Nói rằng độtin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa X chứa luôn
cả Y Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện để sảy ra sựkiện Y đạt 85%” Điều kiện ở đây chính là: “Xảy ra sự kiện X” Như vậy, độ tincậy của luật thể hiện sự tương quan (correlation) gữa X và Y Độ tin cậy đo sứcnặng của luật, và người ta hầu như chỉ quan tâm đến những luật có độ tin cậycao Một luật kết hợp đi tìm các nguyên nhân dẫn tới hỏng hóc của hệ thống tổngđài, hay đề cập đến những mặt hàng thường hay được khách hàng mua kèm vớimặt hàng chính mà độ tin cậy thấp sẽ không có ích cho công tác quản lý
Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất các luật
có độ hỗ trợ và độ tin cậy do người sử dụng xác định trước Các ngưỡng của độ
hỗ trợ và độ tin cậy được ký hiệu là minsup và mincof Ví dụ: Khi phân tích giỏ
hàng của người mua hàng trong một siêu thị ta được luật kiểu như: 85% kháchhàng mua sữa thì cũng mua bánh mì, 30% thì mua cả hai thứ Trong đó: “muasữa” là tiền đề còn “mua bánh mì ” là kết luận của luật Con số 30% là độ hỗ trợcủa luật còn 80% là độ tin cậy của luật Chúng ta nhận thấy rằng tri thức đem lạibởi luật kết hợp dạng trên có sự khác biệt rất nhiều so với những thông tin thuđược từ các câu lệnh truy vấn dữ liệu thông thường như SQL Đó là những trithức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ẩn trong
dữ liệu Những tri thức này không đơn giản là kết quả của phép nhóm, tính tổnghay sắp xếp mà là của một quá trình tính toán khá phức tạp
Định nghĩa: Tập hợp