Sự phát triển mạnh mẽ của công nghệ thông tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ thông tin ngày càng nhiều. Tuy nhiên trên thực tế thì chỉ có một lượng nhỏ dữ liệu này là luôn được phân tích. Hiện nay, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin để hỗ trợ việc ra quyết định, nhưng làm thế nào để lấy được thông tin cần thiết, nhanh chóng từ một lượng dữ liệu khổng lồ để phục vụ cho nhu cầu đó. Để giải quyết vấn đề này, một khuynh hướng kĩ thuật mới đã được phát triển đó là Kỹ thuật khai phá dữ liệu (Data Mining). Khai phá dữ liệu là quá trình máy tính hỗ trợ việc đào bới và phân tích các bộ dữ liệu khổng lồ. Khai phá dữ liệu dự đoán hành vi và xu hướng trong tương lai, cho phép các doanh nghiệp thực hiện các quyết định theo hướng chủ động, tri thức. Khai phá dữ liệu có nhiều hướng nghiên cứu, trong số đó là các hướng Phân cụm dữ liệu và khai phá luật kết hợp. Trong ngành công nghiệp du lich, đặc biệt là ngành kinh doanh khách sạn, các khách hàng luôn coi thời gian của họ tại khách sạn như là một kinh nghiệm chứ không phải chỉ là một chuyến viếng thăm. Các hoạt động ăn uống, giải trí, spa, hội thảo…đã nuôi dưỡng khái niệm về kinh nghiệm khách hàng. Vai trò của khai thác dữ liệu và phân tích là có thể giúp chúng ta hiểu hơn về những nhu cầu khác nhau của khách hàng. Mặc dù chiến lược cắt giảm chi phí và giá cả cạnh tranh có thể thu hút khách hàng từ đối thủ cạnh tranh, tuy nhiên nhiều dịch vụ ngành công nghiệp khách sạn lợi thế về giá là không đủ. Khai thác dữ liệu- kĩ thuật thăm dò và phân tích dữ liệu từ một số lượng lớn dữ liệu rời rạc để khám phá các mô hình có ý nghĩa và quy tắc giúp doanh nghiệp chọn lọc qua các lớp dữ liệu, nơi mà họ có thể dự đoán, chứ không chỉ đơn giản là phản ứng với nhu cầu của khách hàng. Khách sạn Vọng Cảnh với quy mô khách sạn hai sao, là loại hình khách sạn khá phổ biến tại Huế, được xem là một trong những điểm lưu trú lý tưởng khi khách du lịch đến Huế. Tuy nhiên, lượng khách hàng đến với Vọng Cảnh chưa nhiều và thời gian lưu trú ngắn. Xuất phát từ những lý do trên đề tài “ Ứng dụng khai phá dữ liệu vào hoạt động chăm sóc khách hàng tại khách sạn Vọng Cảnh –Thành Phố Huế” được chọn thực hiện nhằm đề xuất một số giải pháp hỗ trợ chăm sóc khách hàng, giúp khách sạn chủ động hơn với khách hàng và nâng cao vị thế cạnh tranh.
Trang 1KHOA HỆ THỐNG THÔNG TIN KINH TẾ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU VÀO HOẠT ĐỘNG CHĂM SÓC KHÁCH HÀNG
TẠI KHÁCH SẠN VỌNG CẢNH
THÀNH PHỐ HUẾ
NGUYỄN THỊ THIA
Trang 2TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU VÀO HOẠT ĐỘNG CHĂM SÓC KHÁCH HÀNG
TẠI KHÁCH SẠN VỌNG CẢNH
THÀNH PHỐ HUẾ
Sinh viên thực hiện: Nguyễn Thị Thia Giáo viên hướng dẫn Lớp: K43 Tin Học Kinh Tế ThS Dương Thị Hải Phương Niên khóa: 2009-2013
Trang 4Để hoàn thành khóa luận tốt nghiệp này, trong quá trình nghiên cứu và thực hiện ngoài sự nổ lực của bản thân còn có sự giúp đỡ của thầy cô, gia đình, bạn bè và cán bộ nhân viên khách sạn Vọng Cảnh.
Tôi xin trân trọng cám ơn quý thầy cô đã dạy dỗ tôi suốt 4 năm qua.
Tôi xin gửi lời cám ơn chân thành đến Cô giáo ThS Dương Thị Hải Phương đã tận tình hướng dẫn, giúp đỡ tôi trong suốt thời gian thực hiện khóa luận.
Tiếp đến tôi xin gửi lời cảm ơn đến ban lãnh đạo cùng các anh chị trong Khách sạn Vọng Cảnh đã nhiệt tình giúp đỡ, tạo điều kiện cho tôi hoàn thành tốt thời gian thực tập.
Cuối cùng tôi xin cảm ơn gia đình và bạn bè đã động viên, tạo mọi điều kiện để tôi có thể hoàn thành khóa luận này.
Tuy nhiên, vì thời gian có hạn nên khóa luận không thể tránh khỏi sai sót, kính mong nhận được sự đóng góp ý kiến, chỉ bảo của thầy cô để khóa luận được hoàn thiện hơn.
Tôi xin chân thành cảm ơn!
Huế, tháng 5 năm 2013
Sinh viên
Trang 5MỤC LỤC
MỤC LỤC i
DANH MỤC HÌNH VẼ v
DANH MỤC BẢNG BIỂU vii
DANH MỤC CHỮ VIẾT TẮT……… ………viii
PHẦN I: MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Cấu trúc khóa luận 3
PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU CHƯƠNG I: TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU4 1.1 Phát hiện tri thức 4
1.1.1 Khái niệm và sự cần thiết của phát hiện tri thức 4
1.1.2 Tiến trình thực hiện tri thức 4
1.2 Khai phá dữ liệu 6
1.2.1 Khái niệm 6
1.2.2 Quá trình khai phá dữ liệu 6
1.2.3 Nhiệm vụ chính của khai phá dữ liệu 8
1.2.4 Phương pháp khai phá dữ liệu 9
1.2.4.1 Cây quyết định và luật 9
Trang 61.2.4.2 Phát hiện luật kết hợp 10
1.2.4.3 Các phương pháp phân lớp và hồi quy 10
1.2.4.4 Phương pháp quy nạp/ suy diễn 10
1.2.4.5 Phân nhóm và phân đoạn 11
2.2.4.6 Các phương pháp dựa trên mẫu 11
1.2.4.7 Mô hình phụ thuộc dựa trên đồ thị xác suất 12
1.2.4.8 Mô hình học quan hệ 12
1.2.4.9 Khai phá dữ liệu dạng văn bản 13
1.2.4.10 Mạng neuron 13
1.2.4.11 Giải thuật di truyền 14
1.2.5 Những ứng dụng của khai phá dữ liệu 14
CHƯƠNG II: KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ PHÂN CỤM 16
2.1 Luật kết hợp 16
2.1.1 Các khái niệm 16
2.1.1.1 Luật kết hợp 16
2.1.1.2 Độ hỗ trợ 16
2.1.1.3 Độ tin cậy 17
2.1.1.4 Tập mục 17
2.1.2 Các tính chất 17
2.1.2.1 Tính chất của tập mục phổ biến 17
2.1.2.2 Tính chất của luật kết hợp 18
2.1.3 Giới thiệu bài toán khai phá luật kết hợp 19
2.1.4 Thuật toán Apriori trong luật kết hợp 20
Trang 72.1.4.2 Bài toán 1: xác định các tập mục phổ biến 21
2.1.4.3 Bài toán 2: Sinh các luật kết hợp từ tập mục phổ biến 24
2.2 Phân cụm dữ liệu 27
2.2.1 Khái niệm 27
2.2.2 Các yêu cầu về thuật toán phân cụm dữ liệu 27
2.2.3 Các kiểu dữ liệu trong phân cụm 28
2.2.4 Phép đo độ tương tự và khoảng cách đối với các kiểu dữ liệu 29
2.2.5 Thuật toán K-means trong phân cụm dữ liệu 33
2.2.5.1 Giới thiệu bài toán: 33
2.2.5.2 Thuật toán K-means 33
CHƯƠNG III: ỨNG DỤNG KHAI PHÁ DỮ LIỆU VÀO HOẠT ĐỘNG CHĂM SÓC KHÁCH HÀNG TẠI KHÁCH SẠN VỌNG CẢNH 39
3.1 Tổng quan về khách sạn Vọng Cảnh 39
3.1.1 Thông tin chung 39
3.1.2 Quá trình hình thành, cơ cấu tổ chức bộ máy khách sạn 39
3.1.3 Cơ sở vật chất kỹ thuật 40
3.1.4 Chất lượng dịch vụ lưu trú của khách sạn 42
3.2 Phần mềm khai phá dữ liệu Weka 45
3.2.1 Giới thiệu chung……… 42
3.2.2 Môi trường Explorer 47
3.2.3 Xây dựng luật kết hợp trong Weka 47
3.2.4 Xây dựng phân cụm dữ liệu trong Weka 50 3.3 Ứng dụng khai phá luật kết hợp và phân cụm trong weka vào cơ sở dữ liệu quản lý
Trang 83.3.1 Cơ sở dữ liệu bài toán 52
3.3.2 Tiền xử lý dữ liệu bài toán 52
3.3.3.1 Đặt tham số cho mô hình 66
3.3.3.2 Kết quả phân tích 66
3.3.4 Khai thác phân cụm dữ liệu bằng thuật toán K-means 77
3.3.4.1 Đặt tham số cho mô hình 77
3.3.4.2 Kết quả phân tích……… 72
3.4 Một số giải pháp hỗ trợ quản lý khách hàng tại khách sạn Vọng Cảnh 80
KẾT LUẬN 83
DANH MỤC TÀI LIỆU THAM KHẢO 84
PHỤ LỤC 85
Trang 9DANH MỤC HÌNH VẼ
HÌNH 1 1: TIẾN TRÌNH PHÁT HIỆN TRI THỨC 5
HÌNH 1 2: QUÁ TRÌNH KHAI PHÁ DỮ LIỆU 7
HÌNH 2 1: MÔ TẢ THUẬT TOÁN APRIORI 26
HÌNH 2 2: SƠ ĐỒ THUẬT TOÁN K-MEANS 34
HÌNH 2 3: KHỞI TẠO TRỌNG TÂM 36
HÌNH 2 4: CẬP NHẬT VỊ TRÍ TRỌNG TÂM 37
HÌNH 2 5: LẶP LẠI BƯỚC 3_ CẬP NHẬT TRỌNG TÂM 37
hình 2 6: kết quả sau khi phân cụm 38
HÌNH 3 1: SƠ ĐỒ TỔ CHỨC 39
HÌNH 3 2: SƠ ĐỒ THỂ HIỆN TỈ LỆ CÁC PHÒNG 41
HÌNH 3 3: GIAO DIỆN WEKA 46
HÌNH 3 4: MÔI TRƯỜNG LÀM VIỆC CỦA EXPLOER 47
HÌNH 3 5: THẺ ASSOCIATE 48
HÌNH 3 6: HỘP THOẠI CÁC THAM SỐ CỦA THUẬT TOÁN APRIORI 49
HÌNH 3 7: HỘP THOẠI CÁC THUỘC TÍNH CỦA THUẬT TOÁN K-MEANS 51
HÌNH 3 8: HỘP THOẠI PREPROCESS KHI MỞ FILE KHACHHANG.CSV 53
HÌNH 3 9: CÂY THƯ MỤC 55
HÌNH 3 10: HỘP THOẠI ADDVALUES CỦA THUỘC TÍNH QUOCTICH 56
HÌNH 3 11: HỘP THOẠI THAY ĐỔI GIÁ TRỊ CỦA THUỘC TÍNH QUOCTICH 57
HÌNH 3 12: KẾT QUẢ DỮ LIỆU SAU KHI TIỀN XỬ LÝ THUỘC TÍNH QUOCTICH 57
HÌNH 3 13: HỘP THOẠI NUMERICTONOMINAL CỦA THUỘC TÍNH GIOITINH 58
HÌNH 3 14: THUỘC TÍNH GIOITINH SAU KHI SỬ DỤNG ADDVALUES 59
HÌNH 3 15: SỬ DỤNG MERGETWOVALUES 60
HÌNH 3 16: KẾT QUẢ KHI TIỀN XỬ LÝ THUỘC TÍNH GIOITINH 60
Trang 10HÌNH 3 18: HỘP THOẠI NUMERICTONOMINAL CỦA THUỘC TÍNH TUOI 62
HÌNH 3 19: HỘP THOẠI ADDVALUES CỦA THUỘC TÍNH LOAIPHONG 63
HÌNH 3 20: HỘP THOẠI NUMERICTONOMINAL CỦA THUỘC TÍNH MUCCHITIEU/NGAY .63
HÌNH 3 21: HỘP THOẠI ADDVALUES CỦA THUỘC TÍNH PHUONGTHUCTT 64
HÌNH 3 22: KẾT QUẢ DỮ LIỆU SAU KHI TIỀN XỬ LÝ XONG CÁC THUỘC TÍNH 65
HÌNH 3 23: THAM SỐ MÔ HÌNH APRIORI 66
HÌNH 3 24: THAM SỐ MÔ HÌNH SIMPLEKMEANS 77
Trang 11DANH MỤC BẢNG BIỂU
BẢNG 2 1: CƠ SỞ DỮ LIỆU GIAO DỊCH 25
BẢNG 2 2: CÁC LUẬT ĐƯỢC TẠO RA 27
BẢNG 2 3: BẢNG THAM SỐ THUỘC TÍNH NHỊ PHÂN 31
BẢNG 3 1: CHẤT LƯỢNG TRANG THIẾT BỊ PHÒNG 41
bảng 3 2: kết quả thống kê 44
Trang 13MỞ ĐẦU
1 Lý do chọn đề tài
Sự phát triển mạnh mẽ của công nghệ thông tin và ngành công nghiệp phầncứng đã làm cho khả năng thu thập và lưu trữ thông tin ngày càng nhiều Tuy nhiêntrên thực tế thì chỉ có một lượng nhỏ dữ liệu này là luôn được phân tích Hiện nay,trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin để hỗ trợ việc
ra quyết định, nhưng làm thế nào để lấy được thông tin cần thiết, nhanh chóng từ mộtlượng dữ liệu khổng lồ để phục vụ cho nhu cầu đó Để giải quyết vấn đề này, mộtkhuynh hướng kĩ thuật mới đã được phát triển đó là Kỹ thuật khai phá dữ liệu (DataMining) Khai phá dữ liệu là quá trình máy tính hỗ trợ việc đào bới và phân tích các bộ
dữ liệu khổng lồ Khai phá dữ liệu dự đoán hành vi và xu hướng trong tương lai, chophép các doanh nghiệp thực hiện các quyết định theo hướng chủ động, tri thức Khaiphá dữ liệu có nhiều hướng nghiên cứu, trong số đó là các hướng Phân cụm dữ liệu vàkhai phá luật kết hợp
Trong ngành công nghiệp du lich, đặc biệt là ngành kinh doanh khách sạn, cáckhách hàng luôn coi thời gian của họ tại khách sạn như là một kinh nghiệm chứ khôngphải chỉ là một chuyến viếng thăm Các hoạt động ăn uống, giải trí, spa, hội thảo…đãnuôi dưỡng khái niệm về kinh nghiệm khách hàng Vai trò của khai thác dữ liệu vàphân tích là có thể giúp chúng ta hiểu hơn về những nhu cầu khác nhau của kháchhàng Mặc dù chiến lược cắt giảm chi phí và giá cả cạnh tranh có thể thu hút kháchhàng từ đối thủ cạnh tranh, tuy nhiên nhiều dịch vụ ngành công nghiệp khách sạn lợithế về giá là không đủ Khai thác dữ liệu- kĩ thuật thăm dò và phân tích dữ liệu từ một
số lượng lớn dữ liệu rời rạc để khám phá các mô hình có ý nghĩa và quy tắc giúpdoanh nghiệp chọn lọc qua các lớp dữ liệu, nơi mà họ có thể dự đoán, chứ không chỉđơn giản là phản ứng với nhu cầu của khách hàng
Khách sạn Vọng Cảnh với quy mô khách sạn hai sao, là loại hình khách sạn kháphổ biến tại Huế, được xem là một trong những điểm lưu trú lý tưởng khi khách dulịch đến Huế Tuy nhiên, lượng khách hàng đến với Vọng Cảnh chưa nhiều và thờigian lưu trú ngắn
Xuất phát từ những lý do trên đề tài “ Ứng dụng khai phá dữ liệu vào hoạt động
Trang 14hiện nhằm đề xuất một số giải pháp hỗ trợ chăm sóc khách hàng, giúp khách sạn chủđộng hơn với khách hàng và nâng cao vị thế cạnh tranh.
2 Mục tiêu nghiên cứu
Đề tài “Ứng dụng khai phá dữ liệu trong quản lý khách hàng tại khách sạn
Vọng Cảnh” nhằm đạt được những mục tiêu sau:
- Tìm hiểu lý thuyết khai phá dữ liệu
- Tìm hiểu phần mềm khai phá dữ liệu WEKA
- Ứng dụng thuật toán Apriori và thuật toán K-Means vào cơ sở dữ liệu quản
lý khách hàng của khách sạn Vọng Cảnh để tìm ra một số tập luật phổ biến phản ánh mối quan hệ giữa các thuộc tính liên quan tới hoạt động lưu trú của khách hàng cũng như tìm ra các nhóm khách hàng mục tiêu của khách sạn
- Đề xuất một số giải pháp hỗ trợ quản lý chăm sóc khách hàng tại khách sạnVọng Cảnh
3 Đối tượng và phạm vi nghiên cứu
- Về nội dung: Nghiên cứu về lý thuyết khai phá dữ liệu và ứng dụng của nó
trong quản lý khách hàng tại khách sạn Vọng Cảnh
- Về không gian: khách sạn Vọng Cảnh (Thành Phố Huế)
- Về thời gian: 21/1-12/5/2013
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu tài liệu: tham khảo các tài liệu liên quan từ các
nguồn như sách vở, báo chí
Phương pháp thu thập số liệu:
+ số liệu thứ cấp: các số liệu, tài liệu thu thập từ các phòng ban của kháchsạn Vọng Cảnh (thông tin khách hàng lưu trú, giá phòng,…)
+ số liệu sơ cấp: phương pháp quan sát, phỏng vấn các đối tượng liên quanthông qua bảng hỏi
Phương pháp phân tích và xử lý số liệu: sử dụng thuật toán Apriori và thuật
toán K-Means bằng phần mềm khai phá Weka để phân tích và xử lý số liệu
Trang 155 Cấu trúc khóa luận
Chương 1: Tổng quan về khám phá tri thức 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
Chương 2: Bài toán khai phá dữ liệu với luật kết hợp và phân cụm
Nội dung chính của chương này bao gồm: Tìm hiểu luật kết hợp; thuật toánApriori trong khai phá luật kết hợp; Tìm hiểu phân cụm dữ liệu; thuật toán K-Meanstrong phân cụm dữ liệu
Chương 3: Ứng dụng khai phá dữ liệu trong quản lý khách hàng tại khách sạn Vọng Cảnh
Trình bày tổng quan về khách sạn Vọng Cảnh; tìm hiểu phần mềm khai phá dữliệu Weka; kết quả khai phá dữ liệu bằng thuật toán Apriori và kết quả khai phá dữliệu bằng thuật toán K-Means; một số giải pháp được kiến nghị hỗ trợ quản lý kháchhàng
Trang 16CHƯƠNG I TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Phát hiện tri thức
1.1.1 Khái niệm và sự cần thiết của phát hiện tri thức
Phát hiện tri thức là quá trình tự động trích rút các tri thức ẩn từ một tập dữ liệurất lớn thông qua các mẫu hoặc mô hình
Phát hiện tri thức trong CSDL là lĩnh vực liên quan đến các ngành như: thống
kê, học máy, CSDL, thuật toán, trực quan hóa dữ liệu, tính toán song song và hiệunăng cao…
Hiện nay, việc nắm bắt được thông tin được coi là cơ sở của mọi hoạt động sảnxuất, kinh doanh Cá nhân hoặc tổ chức nào thu thập, hiểu được thông tin và hànhđộng dựa trên thông tin được kết xuất từ các thông tin đã có sẽ đạt được thành côngtrong mọi hoạt động Chính vì lý do đó, việc tạo ra thông tin, tổ chức lưu trữ và khaithác ngày càng trở nên quan trọng và gia tăng không ngừng
Phát hiện tri thức đã và đang được áp dụng một cách rộng rãi trong nhiều lĩnhvực kinh doanh và đời sống khác nhau như: marketing, tài chính, ngân hàng, 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 đã ápdụng kỹ thuật phát hiện tri thức vào các hoạt động sản xuất kinh doanh của mình vàthu được những lợi ích to lớn từ các tri thức đó Ví dụ như nghiên cứu thông tin kháchhàng thì có thể phát hiện được đối tượng khách hàng ưa chuộng sản phẩm của mình,sản phẩm nào bán chạy, hay xu hướng tiêu dùng của khách hàng,… để từ đó có chiếnlược kinh doanh phù hợp với doanh nghiệp
Phát hiện tri thức giải quyết được yêu cầu của các nhà quản lý, nên nó có mộttầm quan trọng lớn và cần thiết đối với các hoạt động kinh doanh hiện nay
1.1.2 Tiến trình thực hiện tri thức (1)
Mục đích của quá trình phát hiện tri thức là rút ra tri thức từ dữ liệu trongCSDL lớn Quá trình phát hiện tri thức gồm nhiều giai đoạn, và lặp lại, mà trong đó sựlặp lại có thể xuất hiện ở bất cứ bước nào Có thể mô tả quá trình đó theo mô hình sau:
Trang 17Hình 1 1: Tiến trình phát hiện tri thức
(Nguồn: www.tapchicvt.org.vn)
Bước thứ nhất: Hình thành và định nghĩa bài toán Đây là bước tìm hiểu lĩnh
vực áp dụng, từ đó hình thành bài toán, xác định các nhiệm vụ cần hoàn thành Bướcnày cho phép chọn ra các phương pháp KPDL thích hợp với mục đích ứng dụng vàbản chất của dữ liệu
Bước thứ hai: Thu thập và tiền xử lý dữ liệu Là thu thập và xử lý số liệu thô,
còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu (Làm sạch dữ liệu), xử lý việcthiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bướcnày thường chiếm nhiều thời gian nhất trong toàn bộ quy trình phát hiện tri thức do dữliệu được lấy từ nhiều nguồn khác nhau, không đồng nhất
Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức, hay nói cách khác là trích ra
các mẫu hoặc các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồmcác công đoạn như: chức năng, nhiệm vụ, mục đích của KPDL và phương pháp khaiphá Thông thường, các bài toán KPDL bao gồm: các bài toán mang tính mô tả- đưa ratính chất chung nhất của dữ liệu, các bài toán dự báo (bao gồm cả việc phát hiện cácsuy diễn dựa trên dữ liệu hiện có) Tùy theo bài toán xác định được mà ta lựa chọn cácphương pháp khai phá dữ liệu cho phù hợp
Bước thứ tư: Sử dụng các tri thức phát hiện được Là hiểu tri thức đã tìm được,
đặc biệt là làm sáng tỏ các mô tả và dự đoán Các bước trên có thể lặp đi lặp lại một số
Trang 18của quá trình phát hiện tri thức có thể được đưa vào ứng dụng trong các lĩnh vực khácnhau Do các kết quả có thể là các dự đoán hoặc các mô tả nên chúng có thể được đưavào các hệ thống hỗ trợ ra quyết định nhằm tự động hóa quá trình này.
Tóm lại: phát hiện tri thức là một quá trình kết xuất ra tri thức từ kho dữ liệu màtrong đó KPDL là công đoạn quan trọng nhất
1.2 Khai phá dữ liệu
1.2.1 Khái niệm
KPDL 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 các khối dữ liệu lớn cho các đơn vị, tổ chức, doanh nghiệp(1), … Từ đólàm thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này.Các tri thức mà KPDL mang lại giúp cho các công ty kinh doanh ra quyết định kịpthời và có thể trả lời những câu hỏi trong lĩnh vực kinh doanh mà trước đây tốn nhiềuthời gian để xử lý Sự phân tích một cách tự động và mang tính dự báo của các dữ liệu
có ưu thế hơn hẳn so với phân tích thông thường dựa trên sự kiện trong quá khứ củacác hệ hỗ trợ quyết định trước đây
KPDL được định nghĩa là quá trình tìm kiếm thông tin (tri thức) có ích, tiềm ẩn vàmang tính dự đoán trong các khối CSDL lớn Một số nhà khoa học xem khai phá dữliệu như là một cách gọi khác của một thuật ngữ rất thông dụng là phát hiện tri thứctrong CSDL vì cho rằng mục đích của quá trình phát hiện tri thức là thông tin là trithức có ích, những đối tượng mà chúng ta phải xử lý rất nhiều trong suốt quá trình pháthiện tri thức lại chính là dữ liệu Một số nhà khoa học khác thì xem KPDL như mộtbước chính trong quá trình phát hiện tri thức
1.2.2 Quá trình khai phá dữ liệu (6)
Quá trình KPDL được tiến hành qua 6 giai đoạn (Hình 1.2) Theo đó, bắt đầucủa quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra
Trang 19Hình 1 2: Quá trình khai phá dữ liệu
(Nguồn: www2.cs.uregina.ca)
Bước 1: Gom dữ liệu (Gathering)
Tập hợp dữ liệu là bước đầu tiên trong quá trình KPDL Đây là bước được khaithác trong CSDL, một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụngWeb
Bước 2: Trích lọc dữ liệu (Selection)
Ở gian đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩnnào đó, ví dụ chọn tất cả những người tham gia bảo hiểm tự nguyện là Nữ và có độtuổi 19-30
Bước 3: Làm sạch, tiền xử lý dữ liệu (Cleansing, Pre-processing and Preparation)
Là bước làm sạch dữ liệu (xử lý với dữ liệu không đầy đủ, dữ liệu nhiễu, dữliệu không nhất quán,.v.v), rút gọn dữ liệu (sử dụng hàm nhóm và tính tổng, cácphương pháp nén dữ liệu, sử dụng histogram, lấy mẫu,.v.v) Sau bước này, dữ liệu sẽnhất quán, đầy đủ, được rút gọn, và được rời rạc hóa
Bước 4: Chuyển đổi dữ liệu (Transformation)
Trong giai đoạn này, dữ liệu đưa ra có thể sử dụng và điều khiển được bởi việc
tổ chức lại nó, dữ liệu đã được chuyển đổi phù hợp với mục đích khai thác
Trang 20 Bước 5: Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery)
Ở giai đoạn này nhiều thuật toán khác nhau được sử dụng để trích ra các mẫu từ
dữ liệu Thuật toán thường dùng là phân loại, kết hợp hoặc mô hình dữ liệu tuần tự,…
Bước 6: Đánh giá kết quả mẫu (Evaluation of Result)
Đây là giai đoạn cuối cùng trong quá trình KPDL Ở giai đoạn này các mẫu dữliệu được chiết xuất ra bởi phần mềm KPDL
Trên đây là 6 giai đoạn trong quá trình KPDL, trong đó giai đoạn 5 là giai đoạnquan trọng nhất
1.2.3 Nhiệm vụ chính của khai phá dữ liệu
Mục đích của KPDL là các tri thức chiết xuất được sử dụng cho lợi ích cạnhtranh trên thương trường và các lợi thế trong nghiên cứu khoa học Do đó, các mẫu
mà KPDL phát hiện được nhằm vào các mục đích chính của KPDL sẽ là mô tả và dựđoán Dự đoán liên quan đến việc sử dụng các biến hoặc các trường hợp trong CSDL
để chiết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những giá trịtrong tương lai của các biến đáng quan tâm Mô tả tập trung vào việc tìm kiếm cácmẫu mô tả dữ liệu mà con người có thể hiểu
Để đạt được mục đích này, nhiệm vụ của KPDL bao gồm như sau:
dữ liệu trong số các lớp đã xác định (Hand 1981; Weiss & Kulikowski 1991;McLachlan 1992) Ví dụ về việc sử dụng phương pháp phân lớp trong KPDL là ứngdụng phân lớp các xu hướng trong thị trường tài chính (Apte & Hong) và ứng dụng tựđộng xác định các đối tượng đáng quan tâm trong các CSDL ảnh lớn (Fayyad,Djorgoski, & Weir)
dự đoán có giá trị thực Có rất nhiều ứng dụng KPDL với nhiệm vụ hồi quy, ví dụ nhưđánh giá khả năng tử vong của bệnh nhân khi biết các kết kết quả xét nghiệm chuẩnđoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chi tiêu quảng cáo,…
Trang 21Các nhóm có thể tách riêng nhau ra hoặc phân cấp hoặc gối lên nhau Có nghĩa một dữliệu có thể vừa thuộc nhóm này, vừa thuộc nhóm kia Các ứng dụng KPDL có nhiệm
vụ phân nhóm như: phát hiện tập các khách hàng có phản ứng giống nhau trong CSDLtiếp thị, xác định các loại quang phổ từ phương pháp đo tia hồng ngoại (Cheeseman &Stutz)
một tập con dữ liệu Ví dụ như việc lập bảng các độ lệch chuẩn và trung bình cho tất
cả các trường Các phương pháp phức tạp hơn liên quan đến nguồn gốc của các luậttóm tắt (Agrawal và cộng sự), khai thác mối liên hệ hàm giữa các bên (Zembowicz &Zytkow) Các kỹ thuật tóm tắt thường được áp dụng cho các phân tích dữ liệu tươngtác có tính thăm dò và tạo báo cáo tự động
thuộc đáng kể giữa các biến Các mô hình phụ thuộc tồn tại dưới hai mức: mức cấutrúc của mô hình xác định (thường ở dạng đồ họa) các biến nào là phụ thuộc cục bộvới nhau, mức định lượng của mô hình xác định độ mạnh của sự phụ thuộc theo mộtthước đo nào đó Ví dụ như các mạng phụ thuộc xác suất sử dụng độc lập có điều kiện
để xác định khía cạnh có cấu trúc của một mô hình và các xác suất hoặc tương quan đểxác định độ mạnh của sự phụ thuộc (Heckerman; Glymour và cộng sự, 1987)
đáng kể nhất trong dữ liệu từ các giá trị chuẩn hoặc được đo trước đó (Berndt &Cliffort; Guyon và cộng sự; Klosegen; Matheu và cộng sự; Basseville & Nikiforov1993)
Vì các nhiệm vụ khác nhau này yêu cầu số lượng và các dạng thông tin rất khácnhau nên chúng ảnh hưởng đến việc thiết kế và chọn giải thuật KPDL khác nhau
1.2.4 Phương pháp khai phá dữ liệu
1.2.4.1 Cây quyết định và luật
phân các đối tượng dữ liệu thành một số lớp nhất định Các nút của cây được dán nhãn
là tên thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mô tả
Trang 22 Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa
về mặt thống kê Các luật có dạng nếu P thì Q, với P là mệnh đề đúng với một phầntrong CSDL, Q là mệnh đề dự đoán Ví dụ ta có một mẫu phát hiện được bằng phươngpháp tạo luật: nếu giá xăng cao hơn 25000 đồng/lít thì giá taxi sẽ tăng 5% Những luậtnhư thế này được sử dụng rất rộng rãi trong việc mô tả tri thức trong hệ chuyên gia.Chúng có thuận lợi và dễ hiểu đối với người sử dụng
Cây quyết định và luật có ưu điểm là hình thức mô tả đơn giản, mô hình suydiễn khá dễ hiểu đối với người sử dụng Tuy nhiên, giới hạn của nó là mô tả cây vàluật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn về cả độ chínhxác của mô hình
1.2.4.2 Phát hiện luật kết hợp
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữliệu trong CSDL Mẫu đầu ra của giải thuật KPDL là tập luật kết hợp tìm được Ta cóthể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành phần A
và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B trongcùng bản ghi đó: A=>B
1.2.4.3 Các phương pháp phân lớp và hồi quy
Các phương pháp này bao gồm một họ các kỹ thuật dự đoán để làm cho các kếthợp tuyến tính và phi tuyến tính của các hàm cơ bản (hàm sigmoid, hàm spline, hàm
đa thức) phù hợp với các kết hợp của các giá trị biến vào Một phương pháp thuộc loạinày là mạng nouron truyền thẳng, phương pháp màng thích nghi,… (Friedman 1989,Cheng &Titterrington 1994, Elder & Ppregibon)
1.2.4.4 Phương pháp quy nạp/ suy diễn
Một CSDL là một kho thông tin nhưng các thông tin quan trọng hơn cũng cóthể suy diễn từ kho thông tin đó Có 2 kỹ thuật chính để thực hiện việc này là suy diễn
và quy nạp
Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thôngtin trong CSDL Ví dụ như toán tử liên kết áp dụng cho bảng quan hệ, bảng đầu chứathông tin về nhân viên và phòng ban, bảng thứ hai chứa các thông tin về các phòng ban
Trang 23và các trưởng phòng Phương pháp suy diễn dựa trên các sự kiện chính xác để suy racác tri thức mới từ các thông tin cũ Mẫu chiết xuất được bằng cách sử dụng phươngpháp này thương là các luật suy diễn.
ra từ CSDL Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra các tri thức chứ khôngphải bắt đầu với các tri thức đã biết trước Các thông tin mà phương pháp này đem lại
là các thông tin hay các tri thưacs cấp cao diễn tả về các đối tượng trong CSDL.Phương pháp này liên quan đến việc tìm kiếm các mẫu trong CSDL
1.2.4.5 Phân nhóm và phân đoạn
Phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu sao cho mỗi phầnhoặc mỗi nhóm giống nhau theo một tiêu chuẩn nào đó Mối quan hệ thành viên củacác nhóm có thể dựa trên mức độ giống nhau của các thành viên và từ đó xây dựngnên các luật ràng buộc giữa các thành viên trong nhóm Một kỹ thuật phân nhóm khác
là xây dựng nên các hàm đánh giá các thuộc tính của các thành phần như là hàm củacác tham số của các thành phần Phương pháp này được gọi là phương pháp phânhoạch tối ưu
Mẫu đầu ra của quá trình KPDL sử dụng kỹ thuật này là các tập mẫu chứa các
dữ liệu có chung những tính chất nào đó được phân tách từ CSDL Khi các mẫu đượcthiết lập, chúng có thể được sử dụng để tái tạo tập dữ liệu ở dạng dể hiểu hơn, đồngthời cũng cung cấp các nhóm dữ liệu cho các hoạt động cũng như việc phân tích Đốivới CSDL lớn, việc lấy ra các nhóm này là rất quan trọng
2.2.4.6 Các phương pháp dựa trên mẫu
Sử dụng các mẫu mô tả từ CSDL để tạo nên một mô hình dự đoán các mẫu mớibằng cách rút ra những thuộc tính tương tự như các mẫu đã biết trong mô hình Các kỹthuật bao gồm phân lớp theo láng giềng gần, các giải thuật hồi quy (Dasarathy 1991)
và các hệ thống suy diễn dựa trên tình huống (case- based reasoning) (Kolodner 1993)
Khuyết điểm của kỹ thuật này là cần phải xác định được khoảng cách, đo độgiống nhau giữa các mẫu Mô hình thường được đánh giá bằng phương pháp đánh giá
Trang 24Giống như phương pháp hồi quy phi tuyến, các phương pháp này khá mạnh trong việcđánh giá xấp xỉ các thuộc tính, nhưng lại rất khó hiểu vì mô hình không được địnhdạng rõ ràng mà tiềm ẩn trong dữ liệu.
1.2.4.7 Mô hình phụ thuộc dựa trên đồ thị xác suất
Các mô hình đồ thị xác định sự phụ thuộc xác suất giữa các sự kiện thông quacác liên hệ trực tiếp theo các cung đồ thị (Pearl 1988; Whittaker, 1990) Ở dạng đơngiản nhất, mô hình xác định những biến nào phụ thuộc trực tiếp vào nhau Những môhình này chủ yếu được sử dụng với các biến có giá trị rời rạc hoặc phân loại Tuynhiên cũng được mở rộng cho một số trường hợp đặc biệt như mật độ Gaussian hoặccho các biến giá trị thực
Trong trí tuệ nhân tạo và thống kê, các phương pháp này ban đầu được pháttriển trong khuôn khổ của các hệ chuyên gia Cấu trúc của mô hình và các tham sốđược suy ra từ các hệ chuyên gia Ngày nay, các phương pháp này đã được phát triển,
cả cấu trúc và các tham số mô hình đồ thị đều có thể học trực tiếp từ CSDL Tiêuchuẩn đánh giá mô hình chủ yếu là ở dạng Bayesian Việc đánh giá tham số là một sựkết hợp các đánh giá dạng đóng và các phương pháp lặp phụ thuộc vào việc biến đượcquan sát trực tiếp hay dạng ẩn Việc tìm kiếm mô hình dựa trên các phương pháp leođồi trên nhiều cấu trúc đồ thị Các tri thức trước đó, ví dụ như việc sắp xếp một phầncác biến dựa trên mối quan hệ nhân quả, có thể rất có ích trong việc làm giảm khônggian tìm kiếm mô hình Mặc dù phương pháp này mới ở giai đoạn đầu của công việcnghiên cứu nhưng nó đã cho thấy nhiều hứa hẹn vì dạng đồ thị dễ hiểu hơn và dễ biểuđạt được nhiều ý nghĩa hơn đối với con người
1.2.4.8 Mô hình học quan hệ
Trong mẫu chiếc xuất được bằng các luật suy diễn và cây quyết định gắn chặtvới các mệnh đề logic thì mô hình học quan hệ sử dụng ngôn ngữ mẫu theo thứ tựlogic trước rất linh hoạt Mô hình này có thể dễ dàn tìm ra công thức X=Y Cho đếnnay, hầu hết các nghiên cứu về các phương pháp đánh giá mô hình này đều theo logictrong tự nhiên
Trang 251.2.4.9 Khai phá dữ liệu dạng văn bản
Kỹ thuật này được ứng dụng trong một loạt các công cụ phần mềm thương mại.Công cụ KPDL rất phù hợp với việc tìm kiếm, phân tích và phân lớp các dữ liệu vănbản không định dạng Các lĩnh vực ứng dụng như nghiên cứu thị trường, thu thập tìnhbáo,… KPDL dạng văn bản đã được sử dụng để phân tích câu trả lời cho các câu hỏi
mở trong khảo sát thị trường, tìm kiếm các tài liệu phức tạp
1.2.4.10 Mạng neuron
Mạng neuron là tiếp cận tính toán mới liên quan đến việc phát triển các cấu trúctoán học với khả năng học Các phương pháp là kết quả của việc nghiên cứu mô hìnhhọc của hệ thống thần kinh con người Mạng neuron có thể đưa ra ý nghĩa từ các dữliệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết xuất các mẫu vàphát hiện ra các xu hướng quá phức tạp mà con người cũng như các kỹ thuật máy tínhkhác không thể phát hiện ra được
Khi đề cập đến KPDL, người ta thường đề cập đến mạng neuron Một trong số
ưu điểm phải kể đến của mạng neuron là khả năng tạo ra mô hình sự đoán có độ chínhxác cao, có thể áp dụng được cho rất nhiều dạng bài toán khác nhau, đáp ứng đượcnhiệm vụ đặt ra của KPDL như phân lớp, phân nhóm, mô hình hóa, dự báo các sự kiệnphụ thuộc vào thời gian
Mẫu chiết xuất bằng mạng neuron được thể hiện ở các nút đầu ra của mạng.Mạng neuron sử dụng các hàm số chứ không sử dụng các hàm biểu tượng để tính mứctích cực của các nút đầu ra và cập nhật các trọng số của nó Trong mạng lan truyềnngược, mỗi nút khái niệm được kết hợp với một ngưỡng, vì vậy trong mạng lan truyềnngược, các mẫu (hay các luật) của một khái niệm là sự kết hợp của các trọng số lớnhơn ngưỡng
Đặc điểm của mạng neuron là không cần gia công dữ liệu nhiều trước khi bắt đầu quátrình học như các phương pháp khác Ngoài ra, còn rất nhiều bước quan trọng cần phảilàm để tiền xử lý dữ liệu trước khi đưa mạng neuron để mạng có thể hiều được
Trang 261.2.4.11 Giải thuật di truyền
Giải thuật di truyền, nói theo nghĩa rộng là mô phỏng lại hệ thống tiến hóatrong tự nhiên, chính xác hơn đó là giải thuật chỉ ra tập các cá thể được hình thành,được ước lượng và được biến đổi như thế nào Ví dụ như ta xác định xem làm thế nào
để lựa chọn các cá thể tạo giống và lựa chọn các cá thể nào sẽ bị loại bỏ Giải thuậtcũng mô phỏng lại các yếu tố gen trong nhiễm sắc thể sinh học trên máy tính để có thểgiải quyết nhiều bài toán thực tế khác nhau
Giải thuật di truyền là một giải thuật tối ưu hóa Nó được sử dụng rất rộng rãitrong việc tối ưu hóa các kỹ thuật KPDL trong các kỹ thuật mạng neuron Sự liên hệcủa nó với các giải thuật KPDL là ở chỗ việc tối ưu hóa cần thiết cho các quá trìnhKPDL Ví dụ như trong kỹ thuật cây quyết định, tạo luật, các luật mô hình hóa dữ liệuchứa các tham số được xác định xem các tham số nào tạo ra các luật tốt nhất Và vìvậy mà giải thuật di truyền đã được sử dụng trong các công cụ KPDL
Như vậy, nhìn vào các phương pháp giới thiệu ở trên, có rất nhiều phương phápKPDL, mỗi phương pháp có những đặc điểm riêng phù hợp với một số lớp các bàitoán với các dạng dữ liệu và miền dữ liệu nhất định Giả sử đối với bài toán dự đoántheo thời gian, trước kia người ta thường đặt ra nhiệm vụ cho việc khai phá các mẫudạng này là hồi quy dự đoán hoặc các mô hình hồi quy tự động dựa trên thống kê,vv… Mới đây, các mô hình khác như các hàm phi tuyến, phương pháp dựa trên mẫu,mạng neuron đã được áp dụng để giải bài toán này
Mặc dù nhìn bề ngoài ta thấy có rất nhiều phương pháp và ứng dụng KPDLnhưng cũng không có gì lạ khi nhận thấy chúng có một số thành phần chung Hiểu quátrình KPDL và suy diễn được mô hình dựa trên những thành phần này là đã thực hiệnđược nhiệm vụ của KPDL
1.2.5 Những ứng dụng của khai phá dữ liệu (4)
KPDL có nhiều ứng dụng trong thực tế điển hình như sau:
− Tài chính và thị trường chứng khoán: phân tích tình hình tài chính và dự báogiá của các loại cổ phiếu trong thị trường chứng khoán Danh mục vốn và giá, lãi suất,
dữ liệu thẻ tín dụng, phát hiện gian lận…
Trang 27− Điều trị và chăm sóc y tế: Một số thông tin về chuẩn đoán lưu bệnh trongcác hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa triệu chứng bênh, chuẩnđoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc ).
− Text mining & Web mining: Phân lớp văn bản và các trang web Tóm tắtvăn bản…
− Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh
di truyền
− Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát lỗi,phát hiện gian lận, các ứng dụng quản lý và chăm sóc khách hàng, phát hiện sự cố đểđưa ra biện pháp phát triển chất lương dịch vụ…
Trang 28CHƯƠNG II BÀI TOÁN KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ PHÂN CỤM 2.1 Luật kết hợp
2.1.1 Các khái niệm
2.1.1.1 Luật kết hợp
2.1.1.2 Độ hỗ trợ (support)
các giao tác T D có chứa tập X và tổng số giao tác trong D (hay là phần trăm của cácgiao tác trong D có chứa tập mục X), kí hiệu sup(X)
sup(X)
Trang 29 Định nghĩa 2.2: Độ hỗ trợ của luật X =>Y là tỷ số của số giao tác có chứa X
Y và số giao tác trong CSDL D, kí hiệu sup(X=>Y)
sup(X=>Y)
Như vậy độ hỗ trợ của một luật bằng 45% nghĩa là có 45% số giao tác có
chứa tập mục X Y Độ hỗ trợ có ý nghĩa thống kê của luật kết hợp
người sử dụng làm tiêu chuẩn cho quá trình khai thác các luật kết hợp
2.1.1.3 Độ tin cậy
Định nghĩa 2.4: Độ tin cậy của một luật X=>Y là tỷ số (phầm trăm) của số
giao tác trong D chứa X Y với số giao tác trong D có chứa tập mục X, kí hiệu làconf(X=>Y)
Ta có 0
Như vậy nếu luật có độ tin cậy là 80% thì có nghĩa là 80% các giao tác có chứa
X thì cũng chứa Y Độ tin cậy của một luật là thể hiện mức độ tương quan trong dữliệu giữa 2 tập X và Y Độ tin cậy là mức độ tin cậy của một luật
Trang 30 Định nghĩa 2.5: Độ tin cậy t i thi uối thiểu ểu (minconf): Là một giá trị cho trước bởingười sử dụng làm tiêu chuẩn cho quá trình khai thác các luật kết hợp.
minsup, với minsup là ngưỡng độ hỗ trợ cho trước
2.1.2 Các tính chất
2.1.2.1 Tính chất của tập mục phổ biến
Tính chất 2.1: (Độ hỗ trợ của tập con)
Với A và B là tập mục, nếu A B thì supp (A) sup (B)
Điều này là rõ ràng vì tất cả các giao tác của D chứa tập mục B thì cũng chứa tậpmục A
phổ biến
Nếu một mục trong B không có độ hỗ trợ tối thiểu trên D, nghĩa là supp(B)<
minsup thì một tập con A của B sẽ không phải là một tập phổ biến vì sup(B) sup(A)
< minsup (theo tính chất 3.1)
Tính chất 2.3: Các tập con của tập phổ biến là tập phổ biến.
Trang 31Nếu mục B là mục phổ biến trên D, nghĩa là sup(B) minsup thì mọi tập con A
của B là tập phổ biến trên D vì sup(A) sup(B) >minsup
2.1.2.2 Tính chất của luật kết hợp
Tính chất 2.4: (Không hợp các luật kết hợp)
Nếu có X =>Y và Y =>Z trong D thì không nhất thiết X Y => Z là đúng
Xét trường hợp X Z = và các tác vụ trong D hỗ trợ Z nếu và chỉ nếu chúng
hỗ trợ mỗi X hoặc Y, khi đó luật (X Y) =>Z có độ hỗ trợ 0%
Tính chất 2.5: (Không tách luật)
Nếu X Y=>Z thì X=>Z và Y=>Z chưa chắc xảy ra
Ví dụ trường hợp Z có mặt trong một giao tác chỉ khi cả X và Y cũng có mặt, tức là
sup(X Y) = sup(Z), nếu độ hỗ trợ của X và Y đủ lớn hơn supp(X Y), tức là sup(X) >
sup(X Y) và sup(Y)> sup(X Y) thì hai luật riêng biệt sẽ không đủ độ tin cậy
Tính chất 2.6: (Các luật kết hợp không có tính bắt cầu)
Trang 32Nếu X Y và Y =>Z, chúng ta không thể suy ra X =>Z.
Ví dụ: giả sử T(X) T(Y) T(Z), ở đó T(X), T(Y), T(Z) tương ứng là các giao dịchchứa X, Y, Z và độ tin cậy cực tiểu minconf
Conf (X=>Y) = conf (Y=>Z) = minconf thế thì: conf (X=>Y) = minconf2 >minconf vì minconf<1, do đó luật X=>Z không đủ độ tin cậy
Nếu A=> (L –A) không thỏa mãn độ tin cậy cực tiểu thì luật B=>(L –B) cũng
Vì sup(B) sup(A) (theo tính chất 1) và định nghĩa độ tin cậy, chúng ta nhậnđược:
Bởi vì D C nên (L –D) (L –C), do đó sup(L –D) sup(L –C)
Trang 332.1.3 Giới thiệu bài toán khai phá luật kết hợp
Cho I = {i1, i2,…,im}: các mục dữ liệu
Gọi D là CSDL của tập những giao tác, trong đó mỗi giao tác T là một tập
những mục con của I, do đó ta có T I
− Mỗi giao tác đều có một định danh duy nhất gọi là TID
− X = {i1, i2,…,ik} I được gọi là một mục hay một tập k- mục nếu nó
− Luật X=>Y có độ hỗ trợ (support) s trong tập giao tác D nếu s% các
giao tác trong D chứa X Y
Bài toán: cho một tập các giá trị I, một cơ sở dữ liệu giao dịch D, ngưỡng độ
hỗ trợ tối thiểu minsup, ngưỡng dộ tin cậy minconf, tìm các luật kết hợp dạng x=>y
Trang 34trên D thỏa mãn điều kiện Support(X=>Y) minsup và confidence (X=>Y) minconf.
Phân tích bài toán:
Bài toán có thể được phân tích thành hai bài toán con như sau:
Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu
do người dùng xác định Các tập mục thỏa mãn độ hỗ trợ tối thiểu được gọi là các tậpmục phổ biến
Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn Ý
tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta có thể xácđịnh luật nếu AB => CD giữ lại với tỉ lệ độ tin cậy:
Nếu conf minconf thì luật được giữ lại (luật này sẽ thỏa mãn độ hỗ trợ tốithiểu vì ABCD là phổ biến)
2.1.4 Thuật toán Apriori trong luật kết hợp
2.1.4.1 Giới thiệu thuật toán
Apriori là một giải thuật do Rakesh Agrawal, Tomasz Imielinski, Arun Swami
đề xuất lần đầu năm 1993 Thuật toán tìm giao dịch T có độ hỗ trợ và độ tin cậy thỏamãn lớn hơn một giá trị ngưỡng nào đó
Trang 35Ý tưởng khai phá tập mục phổ biến: Khai phá tập mục phổ biến phải duyệtnhiều lần qua CSDL Trong lần duyệt đầu tiên, tính độ hỗ trợ của các mục đơn vị vàtìm mục phổ biến trong số chúng, tức là tìm các mục có độ hỗ trợ lớn hơn hay bằngngưỡng minsup, các tập mục này được sử dụng như là hạt giống ở bước trước để sinh
ra những tập mục phổ biến để làm hạt giống cho những lần duyệt tiếp theo Quá trìnhnày tiếp tục cho đến khi không có tập mục phổ biến mới nào tìm thấy được
Thuật toán này sinh ra các tập ứng cử trong mỗi lần duyệt bằng cách sử dụngcác tập mục phổ biến trong bước trước mà không cần quan tâm đến những giao táctrong CSDL gốc Để xác định tập mục phổ biến k- mục (k>1) thì dựa vào tính chất 3.3
là bất kì tập con của tập phổ biến là phổ biến Do đó, các tập ứng cử viên có k-mục cóthể sinh ra bằng cách kết nối các tập mục (k-1)-mục và xóa đi những ứng cử mà có ítnhất một tập con không phổ biến Thủ tục này dẫn đến số lượng các tập ứng cử viênnhỏ dần đi rất nhiều và thu gọn không gian tìm kiếm các tập mục phổ biến
Kí hiệu: giả sử các mục trong mỗi giao dịch được lưu trữ theo trật tự từ điển.Gọi số các mục trong một tập mục là kích thước của nó và gọi tập mục có kích thước k
là tập k-mục (tập k mục) Các mục trong mỗi tập mục cũng được giữ ở trật tự từ điển
Sử dụng các kí hiệu c[1], c[2],…, c[m] để biểu diễn tập k mục C gồm các mục c[1],
c[2],…, c[k] và c[1]< c[2]…< c[k]
Ta sử dụng các kí hiệu sau:
Lk: Tập các tập mục phổ biến (với độ hỗ trợ cực tiểu minsup nào đó)
Ck: Tập các tập mục ứng cử (các tập mục phổ biến tiềm năng)
2.1.4.2 Bài toán 1: xác định các tập mục phổ biến
Việc xác định các tập mục phổ biến có hai bước chính sau đây:
− Bước 1: Xác định các tập ứng cử viên (Ck)
− Bước 2: Xác định các tập mục phổ biến (Lk) dựa vào tập ứng cử
Để xác định tập ứng cử viên, ta thực hiện các bước sau đây:
Trang 36Đầu tiên thuật toán duyệt qua toàn bộ CSDL D để xác định độ hỗ trợ cho mỗi
các tập ứng cử viên cũng chính là tất cả các mục có trong CSDL Ở lần duyệt tiếp theo
sử dụng các phần tử trong L1 để sinh ra tập ứng cử 2 -mục bằng cách tổ hợp các phần
tử trong L1 sinh tập các phần tử C2, rồi xác định các tập 2 – mục trong C2 xem tập nào
là tập lớn lưu vào L2 Tại vòng thứ k (k>1), các tập ứng cử viên được xác định vào cáctập mục lớn đã xác định tại vong k -1, sử dụng hàm Apriori_gen() Sau khi đã xác địnhđược các tập ứng cử viên, thuật toán quét từng giao dịch trong CSDL để tính độ hỗ trợcủa các tập ứng cử viên Quá trình xác định các tập mục sẽ kết thúc khi không xácđịnh được thêm tập mục lớn nào nữa
Hàm Apriori_gen() thực hiện hai bước:
− Bước kết nối: Lk-1 được kết nối với chính nó thu được Ck
Để tìm Lk chúng ta xuất phát từ các tập mục phổ biến Lk-1, tập ứng cử k-mục Ck
được sinh ra bằng cách kết nối các phần tử Lk-1 Giả sử l1, l2 là các tập mục trong Lk-1,
kí hiệu li[j] là mục thứ j trong Li Apriori giả sử các mục trong giao tác và tập mục làsắp xếp theo từ điển Nối các phần tử trong Lk-1 được thực hiện như sau: các phần tửtrong Lk-1 được kết nối với nhau nếu chúng có chung (k-2) mục đầu tiên giống nhau,tức là:
Với Ck là tập các mục ứng cử k-mục sinh ra trong bước tỉa trên, các tập mụctrong Ck có tập phổ biến có tập không phổ biến, do đó để xác định các tạp phổ biến
Trang 37phải tính toán độ hỗ trợ của các tập ứng cử viên trong Ck Tuy nhiên, Ck có thể rất lớn,
do đó dẫn đến tính toán lớn Để rút gọn kích thước của Ck sử dụng bất kì tập con (k-1)mục nào không phổ biến thì không thể là tập con của k-mục phổ biến Do đó, nếu bất
kì tập k-mục nào mà có tập (k-1) mục không phổ biến sẽ bị loại bỏ khỏi Ck Việc kiểmtra này có thể thực hiện nhanh bằng cách duy trì một cây băm cho tất cả tập mục phổbiến đã tìm thấy
Thuật toán 2.1: Thuật toán Apriori tìm thấy tất cả các tập mục phổ biến
Đầu vào: Tập các giao dịch D, ngưỡng support tối thiểu minsup
Đầu ra: L-tập mục phổ biến trong D
sinh các tập ứng cử Ck để tìm Lk Thủ tục Apriori_gen sinh ra các tập ứng cử đó tínhtoán để tìm các tập mục phổ biến
Trang 38lk-1 để sinh ra tập ứng cử Ck Bước 5-7 tỉa các phần tử trong Ck có tập con không phổbiến Hàm has_infrequent_subset kiểm tra tập con không phổ biến.
2.1.4.3 Bài toán 2: Sinh các luật kết hợp từ tập mục phổ biến.
Thuật toán 2.2: Sinh các luật kết hợp
Đầu vào: Các tập mục phổ biến
Đầu ra: Tập luật thỏa mãn điều kiện độ tin cậy => minconf và độ hỗ trợ =>minsup
For ( Lk, k>=2)
Genrules (Lk, Lk)
Trang 39Return am-1 => (Lk –am-1)// độ tin cậy conf và độ hỗ trợ =sup(Lk)
If(m -1)>1Genrules (Lk, am-1); // sinh các luật với tiền đề là các tậpcon của am-1
}}
Sau khi các tập mục phổ biến từ các tác vụ trong CSDL đã được tìm thấy, nó cóthể sinh ra các luật kết hợp mạnh, ở đó luật kết hợp mạnh thỏa mãn cả hai độ hỗ trợ tốithiểu và độ tin cậy tối thiểu Điều đó có thể thực hiện bằng việc sử dụng tính độ tin cậycủa luật, ta nhắc lại: độ tin cậy của luật X => Y là:
Conf (X=> Y) = P (Y/X) = sup(X Y)/ sup(X)
Trong đó sup(X Y) là độ hỗ trợ của (X Y) và sup(X) là độ hỗ trợ của X
Có thể coi tỷ số trên là tỷ số giữa: số các tác vụ chứa X Y và số các tác vụchứa X Dựa trên biểu thức tính toán đó, các luật kết hợp có thể được sinh như sau:
Với mỗi tập mục phổ biến l, sinh ra tất cả các tập con không rỗng của 1
Vì các luật được sinh ra từ các tập mục phổ biến nên độ hỗ trợ của luật đã được
Trang 40Ví dụ:
Giả sử ta có có sở dữ liệu giao dịch (Transaction Database ) như sau :
Bảng 2 1: Cơ sở dữ liệu giao dịch