1.2 Mục tiêu đề tài Đề tài này chúng tôi tìm hiểu luật kết hợp trong khai phá dữ liệu, cài đặt ứng dụng minh hoạ đánh giá chất lượng và dự đoán kết quả học tập của sinh viên khoa Công N
Trang 1Nguyễn Anh Khoa
810008t Nguyễn Văn Trọn
811019t
TÌM HIỂU LUẬT KẾT HỢP
TRONG KHAI MỎ DỮ LIỆU,
ỨNG DỤNG PHÂN TÍCH KẾT QUẢ
HỌC TẬP CỦA SINH VIÊN
Chuyên ngành: Công Nghệ Thông Tin
Mã số: 01.01.11
Luận văn Cử Nhân Khoa Học Tin Học
Giáo viên hướng dẫn:
PHAN ĐÌNH THẾ HUÂN
Trang 3Trước hết, chúng tôi xin chân thành cám ơn các thầy cô Khoa Công Nghệ Thông Tin và Toán Ứng Dụng và các thầy cô bộ môn khác đã tận tình giảng dạy, trang bị cho chúng tôi những kiến thức cần thiết trong suốt quá trình học tập tại trường Tiếp đến chúng tôi xin gửi lời cám ơn sâu sắc đến thầy Phan Đình Thế Huân đã hướng dẫn tận tình, chỉ bảo và động viên chúng tôi trong thời gian thực hiện luận văn này Trong quá trình thực hiện luận văn dưới sự hướng dẫn của thầy chúng tôi không những được thầy truyền đạt nhiều kiến thức và kinh nghiệm, chúng tôi còn học hỏi từ thầy tinh thần trách nhiệm và phong cách làm việc nghiêm túc Cám ơn thầy đã luôn động viên và giúp đỡ chúng tôi hoàn tất luận văn này
Chúng tôi cũng đồng thời gửi lời cám ơn gia đình chúng tôi và đặc biệt là các bạn bè lớp 08TH1N luôn sẵn sàng giúp đỡ, hỗ trợ và động viên chúng tôi trong học tập, đặc biệt là trong suốt thời gian chúng tôi thực hiện luận văn này
Đáp lại sự quan tâm giúp đỡ của nhà trường, thầy cô, gia đình và bạn bè, chúng tôi
đã nỗ lực hết sức để hoàn tất luận văn này ở mức tốt nhất có thể Chắc chắn rằng luận văn này của chúng tôi vẫn còn những thiếu sót, kính mong các thầy cô xem xét và tận tình chỉ bảo
Chân thành cám ơn
TP Hồ Chí Minh 7/2008 Nhóm SV thực hiện: Nguyễn Anh Khoa
Nguyễn Văn Trọn
Trang 4MỤC LỤC
LỜI CÁM ƠN i
MỤC LỤC ii
DANH MỤC HÌNH v
DANH MỤC BẢNG vii
PHẦN MỞ ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU 1
1.1 Đặt vấn đề 1
1.2 Mục tiêu đề tài 1
1.3 Bố cục của luận văn 2
PHẦN NỘI DUNG CHÍNH 3
CHƯƠNG 2: TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU 3
2.1 Giới thiệu về khai phá dữ liệu 3
2.1.1 Tầm quan trọng của khai phá dữ liệu 3
2.1.2 Khái niệm khai phá dữ liệu 3
2.1.3 Một số phương pháp khai thác dữ liệu 5
2.1.4 Các ứng dụng của khai phá dữ liệu 5
2.1.5 Cơ sở dữ liệu thông dụng 6
2.1.6 Một số thách thức trong khai phá dữ liệu 7
2.2 Tìm hiểu khai phá luật kết hợp 8
2.2.1 Khai phá luật kết hợp 8
2.2.1.1 Phân tích danh mục các mặt hàng (giỏ thị trường) 8
2.2.1.2 Khái niệm cơ bản 9
2.2.1.3 Việc khai phá luật kết hợp 10
2.2.2 Việc khai phá những luật kết hợp một chiều từ cơ sở dữ liệu giao tác 11
2.2.2.1 Giải thuật Apriori 11
2.2.2.2 Việc tạo ra những luật kết hợp từ những itemset phổ biến 13
2.2.2.3 Cài đặt thuật toán 14
2.2.2.4 Giải thuật FP_Growth 17
2.2.3 Việc khai phá những luật kết hợp đa cấp từ cơ sở dữ liệu giao dịch 21
2.2.3.1 Những luật kết hợp đa cấp 21
2.2.3.2 Những phương pháp để khai phá những luật kết hợp đa cấp 22
2.2.4 Việc khai phá những luật kết hợp đa chiều từ cơ sở dữ liệu quan hệ và kho dữ liệu 22
2.2.4.1 Những luật kết hợp đa chiều 22
2.2.4.2 Việc khai phá những luật kết hợp định lượng 23
2.2.4.3 Việc khai phá những luật kết hợp dựa trên khoảng cách 23
2.2.5 Từ việc khai phá sự kết hợp đến sự phân tích sự tương quan 23
2.2.5.1 Những luật mạnh không cần thiết đáng chú ý 24
2.2.5.2 Từ việc phân tích sự kết hợp đến sự phân tích sự tương quan 24
2.2.6 Việc khai phá những kết hợp dựa trên các ràng buộc 24
CHƯƠNG 3: KHAI PHÁ DỮ LIỆU TRONG SQL SERVER 2005 26
3.1 Ngôn ngữ DMX 26
3.1.1 Giới thiệu ngôn ngữ DMX (Data Mining eXtension) 26
Trang 53.1.2 Một số lệnh trong ngơn ngữ DMX 26
3.1.2.1 Tạo cấu trúc khai thác-CREATE MINING STRUCTURE 26
3.1.2.2 Tạo mơ hình khai thác-CREATE MINING MODEL 26
3.1.2.3 Huấn luyện mơ hình -INSERT INTO 27
3.1.2.4 Mơ hình dự đốn – Model prediction 29
3.1.2.5 Xĩa cấu trúc khai thác và mơ hình khai thác 30
3.2 Sơ lược về Data Mining trong Microsoft SQL Server 2005 31
3.2.1 Business Intelligent Developtment Studio (BIDS) 31
3.2.2 Các thuật tốn khai thác dữ liệu trong Microsoft SQL Server 2005 32
3.2.2.1 Microsoft Decision Tree 32
3.2.2.2 Microsoft Clustering 33
3.2.2.3 Microsoft Nạve Bayes 33
3.2.2.4 Microsoft time series 34
3.2.2.5 Microsoft Association 34
3.2.2.6 Microsoft sequence clustering 35
3.2.2.8 Microsoft linear regression 36
3.2.2.9 Microsoft logistic regression 36
3.3 Sử dụng SQL Sever Data Mining 37
3.3.1 Cách sử dụng BIDS để thực hiện một dự án khai thác dữ liệu 37
3.3.1.1 Chuẩn bị dữ liệu 37
3.3.1.2 Tạo dự án khai thác dữ liệu 37
3.3.1.3 Tạo data source 38
3.3.1.4 Tạo Data Source View 39
3.3.1.5 Xây dựng và làm việc với mơ hình khai thác 42
3.3.1.6 Đưa ra dự đốn 51
PHẦN XÂY DỰNG CHƯƠNG TRÌNH 54
CHƯƠNG 4: CHƯƠNG TRÌNH ỨNG DỤNG 54
4.1 Giới thiệu bài tốn 54
4.2 Mơ tả các giai đoạn xây dựng chương trình 54
4.3 Mơ tả dữ liệu 55
4.4 Mơ tả chi tiết chương trình 61
4.4.1 Giới thiệu chương trình 61
4.4.2 Các lớp xử lý chính trong chương trình 62
4.4.2.1 Lớp DMXquery 62
4.4.2.2 Lớp ProcessDMX 63
4.4.2.3 Lớp DataMethod 64
4.4.3 Sử dụng chương trình 65
4.4.3.1 Bắt đầu chương trình 65
4.4.3.2 Kết nối dữ liệu và chọn bảng 66
4.4.3.3 Chọn cột khĩa, cột nhâp và cột dự đốn 70
4.4.3.4 Kết quả và dự đốn 73
PHẦN KẾT LUẬN 76
CHƯƠNG 5: KẾT LUẬN 76
Trang 65.2 Hướng phát triển 77 TÀI LIỆU THAM KHẢO 78
Trang 7DANH MỤC HÌNH
Hình 2.1: Tiến trình KDD 4
Hình 2.2 Trực quan về thuật toán 12
Hình 2.3 Ví dụ về thuật toán Apriori 13
Hình 2.4 Trực quan về cách sinh ra luật kết hợp 14
Hình 2.5 Bước 1 xây dựng cây FP 19
Hình 2.6 Bước 2 xây dựng cây FP 20
Hình 2.7 Cây FP 20
Hình 2.8 Tìm tập thường xuyên từ cây FP 21
Hình 3.1 Kết quả dự đoán 29
Hình 3.2 Giao diện BIDS 31
Hình 3.3 Tạo dự án khai thác dữ liệu 38
Hình 3.4 Tạo data source view 40
Hình 3.5 Xem bảng theo cột dữ liệu 41
Hình 3.6 Xem bảng theo biểu đồ 42
Hình 3.7 Chọn thuật toán 43
Hình 3.8 Chọn bảng dữ liệu 43
Hình 3.9 Chọn cột tự động 44
Hình 3.10 Chọn cột nhập và dự đoán 45
Hình 3.11 Cầu trúc khai thác – Mining Structure 46
Hình 3.12 Mô hình khai thác – Mining Model 46
Hình 3.13 Chỉnh sửa mô hình khai thác 47
Hình 4.14 Danh sách các Itemset tìm được 48
Hình 3.15 Danh sách các luật tìm được 48
Hình 3.16 Mối quan hệ giữa các thuộc tính 49
Hình 3.17 Sử dụng Mining Acuracy Chart 50
Hình 3.18 Kết quả dánh giá sự chính xác 51
Hình 3.19 Mô hình dự đoán 52
Hình 3.20 Xem câu truy vấn DMX 52
Hình 3.21 Câu truy vấn DMX 53
Hình 3.22 Kết quả dự đoán 53
Hình 4.1: Lược đồ quan hệ của các bảng trong cơ sở dữ liệu data_filter 56
Hình 4.2 Lớp DMXquery 62
Hình 4.3 Lớp ProcessDMX 63
Hình 4.4 Các đối tượng trong Adomd 64
Hình 4.5 Lớp DataMethod 65
Hình 4.6 Bắt đầu chương trình 66
Hình 4.7 Kết nối dữ liệu và chọn bảng 67
Hình 4.8 Kết nối 68
Hình 4.9 Chọn dữ liệu 69
Hình 4.10 Xử lý chọn bảng 70
Trang 8Hình 4.14 Hiển thị kết quả 75
Trang 9DANH MỤC BẢNG
Bảng 2.1 Dữ liệu mẫu 18
Bảng 2.2 Kết quả duyệt lần 1 18
Bảng 2.3 Bảng Header 19
Bảng 4.1 Cột nhập 44
Bảng B-1: Mô tả chi tiết bảng SinhViên 57
Bảng B-2: Mô tả chi tiết bảng Điểm 58
Bảng B-3: Mô tả chi tiết bảng Môn học 59
Bảng B-4: Mô tả chi tiết bảng Lớp 59
Bảng B-5: Mô tả chi tiết bảng Tỉnh 60
Bảng B-6: Mô tả chi tiết bảng Khoa 60
Bảng B-7: Mô tả chi tiết bảng Hệ 60
Trang 10Ngành giáo dục là một trong những ngành quan trọng bậc nhất trong công cuộc xây dựng và phát triển đất nước, trong đó giáo dục đại học có vị trí quan trọng trong việc đào tạo nhân tài Chất lượng đào tạo là vấn đề quan trọng hàng đầu đối với các trường đại học Vì thế việc đảm bảo và nâng cao chất lượng đào tạo đại
học là một đòi hỏi ngày càng mang tính bức thiết và cũng là một công việc khó
khăn và mang tính quyết định đến sứ mạng của nhà trường đại học
Xuất phát từ nhu cầu thực tiễn về việc đánh giá chất lượng học tập của sinh viên để hỗ trợ cho việc cải thiện công tác giảng dạy nhằm nâng cao chất lượng giảng dạy của nhà trường Khác với phương pháp đánh giá truyền thống, chúng tôi thực hiện chương trình ứng dụng hỗ trợ đánh giá chất lượng học tập của sinh viên dựa trên kỹ thuật khai phá dữ liệu
1.2 Mục tiêu đề tài
Đề tài này chúng tôi tìm hiểu luật kết hợp trong khai phá dữ liệu, cài đặt ứng dụng minh hoạ đánh giá chất lượng và dự đoán kết quả học tập của sinh viên khoa Công Nghệ Thông Tin và Toán Ứng Dụng Trường Đại Học Tôn Đức Thắng Mục tiêu chính của đề tài:
- Tìm hiểu lý thuyết về kỹ thuật khai phá dữ liệu
- Tìm hiểu các giải thuật khai phá dữ liệu của luật kết hợp
- Tìm hiểu cơ sở dữ liệu của sinh viên khoa Công Nghệ Thông Tin và Toán Ứng Dụng trường đại học Tôn Đức Thắng
- Tìm hiểu công cụ khai phá dữ liệu của SQL Server 2005
Trang 11- Xây dựng chương trình phân tích khai thác và dự đoán kết quả học tập của sinh viên nhằm hỗ trợ việc đánh giá chất lượng đào tạo
1.3 Bố cục của luận văn
Nội dung báo cáo gồm 4 phần được tổ chức theo bố cục sau:
Phần mở đầu
CHƯƠNG 1: GIỚI THIỆU
Phần nội dung chính
CHƯƠNG 2: TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU
CHƯƠNG 3: KHAI PHÁ DỮ LIỆU TRONG SQL SERVER 2005
Phần xây dựng chương trình
CHƯƠNG 4: CHƯƠNG TRÌNH ỨNG DỤNG
Phần kết luận
CHƯƠNG 5: KẾT LUẬN
Trang 12PHẦN NỘI DUNG CHÍNH
CHƯƠNG 2: TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU
2.1 Giới thiệu về khai phá dữ liệu
2.1.1 Tầm quan trọng của khai phá dữ liệu
Trong thời đại ngày nay, với sự phát triển vượt bật của công nghệ thông tin, các hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về hoạt động hàng ngày của chúng Từ khối dữ liệu này, các kỹ thuật trong Khai Phá Dữ Liệu (KPDL) có thể dùng để trích xuất những thông tin hữu ích mà chúng ta chưa biết Các tri thức vừa học được có thể vận dụng để cải thiện hiệu quả hoạt động của hệ thống thông tin ban đầu, đưa ra dự đoán giúp cải thiện những quyết định trong tương lai
2.1.2 Khái niệm khai phá dữ liệu
Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho
dữ liệu Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khai phá tri thức từ CSDL (Knowlegde mining from database), trích lọc dữ liệu (Konwlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredredging) Nhiều người coi khai phá dữ liệu và một số thuật ngữ thông dụng khác là khám phá tri thức trong CSDL (Knowledge Discovery in Databases-KDD) là như nhau Những người khác lại xem khai phá dữ liệu đơn giản là một bước chủ yếu trong tiến trình KDD Toàn bộ tiến trình KDD được mô
tả trong hình sau:
Trang 13Hình 2.1: Tiến trình KDD
1) Làm sạch dữ liệu (data cleaning): Loại bỏ các dữ liệu không thích hợp
2) Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác nhau như: CSDL, Kho dữ liệu, …
3) Chọn dữ liệu (data selection): Ở bước này, những dữ liệu liên quan sẽ được thu thập từ các nguồn dữ liệu ban đầu
4) Chuyển đổi dữ liệu (data transformation): Trong bước này, dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp
5) Khai phá dữ liệu (data mining): Là giai đoạn thiết yếu, trong đó các phương pháp thông minh sẽ được áp dụng để trích xuất ra các mẩu dữ liệu
6) Đánh giá mẫu (pattern evaluation): Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa vào một số phép đo
Trang 142.1.3 Một số phương pháp khai thác dữ liệu
Trong khai thác dữ liệu có rất nhiều phương pháp Dưới đây là một số phương pháp tiêu biểu:
- Phân lớp (Classification): Với một tập các dữ liệu huấn luyện cho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ học ra bộ phân loại
(classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là
loại) đã được xác định trước
- Dự đoán (Prediction): Với mô hình tương tự như bài toán Phân lớp, bài toán Dự
đoán sẽ học ra các bộ dự đoán Khi có dữ liệu mới đến, bộ dự đoán sẽ dựa trên
thông tin đang có để đưa ra một giá trị số học cho hàm cần dự đoán Bài toán tiêu biểu trong nhóm này là dự đoán giá sản phẩm để lập kế hoạch trong kinh doanh
- Gom cụm (Clustering): Các kỹ thuật Phân cụm sẽ nhóm các đối tượng dữ liệu có tính chất giống nhau vào cùng một nhóm Có nhiều cách tiếp cận với những mục tiêu khác nhau trong phân loại Các kỹ thuật trong bài toán này thường được vận dụng trong vấn đề phân hoạch dữ liệu tiếp thị hay khảo sát sơ bộ các dữ liệu
- Tìm luật kết hợp (Association Rule): Các giải thuật Tìm luật liên kết tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị…
- Ngoài ra còn có một số phương pháp khác như: tổng hợp, hồi quy, mô hình ràng buộc, dò tìm biến đổi và độ lệch,…
2.1.4 Các ứng dụng của khai phá dữ liệu
Kỹ thuật khai phá dữ liệu được ứng dụng trong nhiều lĩnh vực nhất là trong lĩnh vực kinh tế Sau đây là một số lĩnh vực tiêu biểu:
• Phân tích dữ liệu marketing, khách hàng
• Phân tích rủi ro
• Phân tích đầu tư
• Phát hiện gian lận
• Phân tích các kết quả thí nghiệm
Trang 15• Phân tích thông tin khoa học
• Phân tích thông tin cá nhân…
2.1.5 Cơ sở dữ liệu thông dụng
Các cơ sở dữ liệu thường được sử dụng trong khai thác dữ liệu như là: cơ
sở dữ liệu quan hệ, nhà kho dữ liệu, cơ sở dữ liệu giao tác,…
- Cơ sở dữ liệu quan hệ: Một cơ sở dữ liệu quan hệ là một tập những bảng dữ liệu, mỗi bảng có một tên phân biệt Mỗi bảng bao gồm một tập các thuộc tính (các cột hoặc các trường) và thường lưu trữ rất nhiều mẫu tin Mỗi mẫu tin trong một bảng quan hệ thể hiện một đối tượng được xác định bởi một khoá phân biệt và
mô tả bởi một tập các giá trị thuộc tính
Ví dụ: Một công ty bán hàng gia dụng có thể được mô tả bởi những bảng quan hệ sau: khách hàng, mặt hàng, nhân viên, chi nhánh mỗi bảng chứa các thuộc tính thể hiện các đối tượng tương ứng Các quan hệ có thể xảy ra giữa các bảng như mua hàng (khách hàng mua các mặt hàng nào tại cửa hàng nào do nhân viên nào thu ngân,…), làm việc tại (nhân viên làm việc tại cửa hàng nào), …
- Kho dữ liệu: Một kho dữ liệu là nơi chứa thông tin được thu thập từ nhiều nguồn khác nhau được lưu trữ dưới một lược đồ thống nhất và thường đặt tại một
vị trí xác định Những kho dữ liệu được xây dựng hướng theo một tiến trình làm sạch dữ liệu, chuyển đổi dữ liệu, tích hợp dữ liệu và làm mới dữ liệu định kỳ Cấu trúc thực sự của kho dữ liệu có thể là một kho dữ liệu quan hệ hoặc một khối dữ liệu đa chiều
Ví dụ: Giả sử một tổng đài điện thoại, họ có nhiều chi nhánh ở nhiều nơi, mỗi chi nhánh có một cơ sở dữ liệu riêng Khi tích hợp lại, kho dữ liệu có thể ở dạng khối
3 chiều, bao gồm: thời gian (Quí 1, quí 2, quí 3, quí 4 (hoặc theo tháng, năm, …)), đơn vị (tỉnh, huyện, xã…) và dịch vụ (phí dịch vụ, nhóm dịch vụ, …)
- Cơ sở dữ liệu giao tác: Một cơ sở dữ liệu giao tác bao gồm một tập tin, trong
Trang 16sách những mặt hàng tạo nên giao dịch đó Cơ sở dữ liệu giao tác có thể có thêm một số bảng phù hợp với nó bao gồm những thông tin về bán hàng như ngày thực hiện giao dịch, số hiệu khách hàng, số hiệu của người bán hàng,…
- Những hệ cơ sở dữ liệu tiên tiến và những ứng dụng cơ sở dữ liệu tiên tiến: Những ứng dụng cơ sở dữ liệu mới như việc nắm bắt những dữ liệu thuộc về không gian (như bản đồ), dữ liệu thiết kế máy kỹ thuật (như xây nhà, làm các thành phần hệ thống, mạch tích hợp,…), những siêu văn bản, những dữ liệu đa phương tiện (như văn bản, hình ảnh, âm thanh, video,…), dữ liệu liên quan đến thời gian và www Những ứng dụng này yêu cầu có những cấu trúc dữ liệu hiệu quả, những phương pháp leo thang để nắm bắt những cấu trúc phức tạp của đối tượng và những thay đổi thường xuyên Đáp ứng yêu cầu này, những hệ dữ liệu tiên tiến và những hệ dữ liệu hướng ứng dụng xác định đã được phát triển Những
hệ thống này bao gồm các hệ cơ sở dữ liệu hướng đối tượng và hướng quan hệ, những hệ cơ sở dữ liệu thuộc về không gian, …
2.1.6 Một số thách thức trong khai phá dữ liệu
- Những vấn đề về phương pháp luận khai phá và tương tác người dùng
• Khai phá nhiều loại tri thức khác nhau trong các cơ sở dữ liệu
• Khai phá một cách tương tác các tri thức tại nhiều cấp trừu tượng
• Sự hợp nhất của tri thức nền tảng
• Những ngôn ngữ truy vấn việc khai phá dữ liệu và khai phá dữ liệu đặc biệt
• Sự trình bày và trực quan hóa những kết quả khai phá dữ liệu
• Nắm bắt những phần dữ liệu ngoài lề hoặc những dữ liệu không hoàn chỉnh
• Đánh giá mẫu và vấn đề về tính hấp dẫn của mẫu
- Những vấn đề về thực thi
• Các cơ sở dữ liệu lớn
• Số chiều lớn
Trang 17• Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp
• Dữ liệu bị thiếu hoặc nhiễu
• Quan hệ giữa các trường phức tạp
• Tính hiệu quả và tính khả biến của những giải thuật khai phá dữ liệu
• Việc nâng cấp những giải thuật song song, phân bố và tăng dần
- Những vấn đề về tính đa dạng của các kiểu cơ sở dữ liệu
• Nắm bắt những kiểu quan hệ và tính phức tạp của dữ liệu
• Khai phá thông tin từ những cơ sở dữ liệu không đồng nhất và những hệ thống thông tin toàn cầu
2.2 Tìm hiểu khai phá luật kết hợp
Việc khai phá luật kết hợp là việc tìm ra những sự kết hợp đáng chú ý hoặc những mối quan hệ tương quan giữa những tập các dữ liệu khổng lồ Việc khai phá những quan hệ này giúp ích nhiều trong việc ra các quyết định trong kinh doanh
2.2.1 Khai phá luật kết hợp
Khai phá luật kết hợp là việc tìm ra những mối quan hệ đáng chú ý giữa các mục có trong một tập dữ liệu cho trước
2.2.1.1 Phân tích danh mục các mặt hàng (giỏ thị trường)
Ví dụ: là một nhà quản lý của một chi nhánh hàng điện tử, bạn muốn tìm hiểu về hành vị mua sắm của khách hàng, ví dụ như: những nhóm sản phẩm nào thường được khách hàng mua khi đi dạo quanh các quầy hàng? Việc phân tích danh mục mặt hàng trên dữ liệu của khách hàng tại những điểm bán lẻ thuộc hệ thống sẽ được thực hiện và kết quả này sẽ được dùng để lên kế hoạch tiếp thị, quảng cáo hoặc bố trí lại các quầy hàng để những mặt hàng thường được mua
Trang 18kích thích việc mua sắm ngẫu nhiên trên đường đi từ quầy hàng này đến quầy hàng kia…
Nếu xét những vật phẩm là tập những mục hàng có sẵn trong tiệm, mỗi mục hàng có một biến Boolean để biểu diễn sự có mặt hay không của mặt hàng
đó Mỗi giỏ hàng sẽ được xem như một vector Boolean trình bày những giá trị của các biến Boolean đó Những vector này sau đó được phân tích để tìm ra mẫu mua sắm phản ánh những mặt hàng nào hay được mua cùng với nhau Những mẫu mua sắm này có thể được trình bày dưới dạng luật kết hợp Ví dụ: thông tin về việc khách hàng mua máy tính cũng mua phần mềm quản lý tài chính (PMQLTC) được thể hiện dưới dạng luật kết hợp như sau
Máy tính => phần mềm quản lý tài chính [độ hỗ trợ = 2%, độ tin cậy = 60%]
Trong đó độ hỗ trợ là xác suất mà một lần mua hàng có cả hai món hàng (=số lượt khách hàng mua máy tính + PMQLTC / số lượt khách mua hàng)
Độ tin cậy là xác suất mà trong một lần mua hàng, nếu có máy tính thì cũng
có phần mềm quản lý tài chính (số lượt khách hàng mua máy tính + PMQLTC / số lượt khách mua máy tính)
Luật kết hợp này được xem là đáng chú ý hay không tuỳ thuộc vào việc cả
độ hỗ trợ và độ tin cậy vượt qua ngưỡng độ hỗ trợ cực tiểu và ngưỡng độ tin cậy cực tiểu Các ngưỡng này có thể do người dùng hoặc các chuyên gia trong lĩnh vực này đặt ra
2.2.1.2 Khái niệm cơ bản
Trang 19Một lượt mua hàng T được xem là bao gồm A nếu và chỉ nếu A là con hoặc bằng T
Luật A => B[độ hỗ trợ, độ tin cậy] được xem là mạnh khi luật này có độ hỗ trợ và độ tin cậy lớn hơn độ hỗ trợ và độ tin cậy cực tiểu
Tập những mặt hàng thường được gọi là itemset, một itemset bao gồm k mặt hàng được gọi là k-itemset
Mức độ diễn ra thường xuyên của một itemset là số lượt mua hàng bao gồm itemset đó, hay chúng còn được gọi là mức phổ biến hoặc độ hỗ trợ
Một itemset được gọi là thoả độ hỗ trợ cực tiểu (min_sup) nghĩa là nó có độ
hỗ trợ lớn hơn hoặc bằng độ hỗ trợ cực tiểu
Việc khai phá các luật kết hợp diễn ra trong 2 bước:
Bước 1: Tìm những itemset phổ biến (nghĩa là có độ hỗ trợ thoả mãn min_sup)
Bước 2: Tạo ra những luật kết hợp mạnh từ những itemset phổ biến (những luật có độ tin cậy cao hơn độ tin cậy cực tiểu)
2.2.1.3 Việc khai phá luật kết hợp
Việc phân tích danh mục các mặt hàng chỉ là một dạng của việc khai phá các luật kết hợp Luật kết hợp có thể được phân loại thành nhiều loại như:
1_ Dựa trên kiểu dữ liệu được sử dụng trong luật đó
Nếu luật chỉ bao gồm việc có mặt hay không có mặt của mặt hàng thì đó là luật kết hợp luận lý
Vd: máy tính => phần mềm quản lý tài chính.(1*)
Nếu luật bao gồm các mục hàng hoặc thuộc tính về định lượng thì đó là luật kết hợp định lượng
Vd: Tuổi(x, “30-40”)^thu nhập(x, “42-48k”) => mua(x, “TV độ phân giải cao”) (2*)
Trang 20Luật nhiều chiều Vd (2*)
3_ Dựa trên mức độ trừu tượng của luật
Luật kết hợp một cấp Vd: tuổi(x, “30-34”) => mua(x, “máy tính”)
Luật kết hợp đa cấp Vd: tuổi(x, “30-34”) => mua(x, “máy tính xách tay”) 4_ Dựa trên sự tự nhiên của mối kết hợp: việc khai phá luật kết hợp có thể được mở rộng để phân tích những tương quan, trong đó sự có mặt hoặc không
có mặt của những mặt hàng có liên quan sẽ được chỉ định
2.2.2 Việc khai phá những luật kết hợp một chiều từ cơ sở dữ liệu giao tác
Trong phần này ta sẽ tìm hiểu cách phát hiện các luật đơn giản nhất (một chiều, một cấp, và luận lý) bằng phương pháp cơ bản Apriori và FP_Growth
2.2.2.1 Giải thuật Apriori
Apriori là giải thuật hiệu quả để tìm thấy những itemset phổ biến đối với những luật kết hợp luận lý Apriori là phương pháp đệ qui, trong đó tập k-itemset phổ biến được dùng để tạo ra tập (k+1)-itemset phổ biến, và tập 1-itemset sẽ được tìm đầu tiên Việc tìm kiếm mỗi tập k-itemset phổ biến yêu cầu duyệt qua toàn bộ
cơ sở dữ liệu
Để cải thiện hiệu quả của phương pháp tìm itemset này, ta chú ý đến một thuộc tính quan trọng được gọi là thuộc tính Apriori, được phát biểu như sau: một tập con khác rỗng của một itemset phổ biến cũng phổ biến Thuộc tính này làm giảm không gian tìm kiếm
Giải thuật Apriori gồm:
Trang 21Ck là tập cha của Lk, những phần tử trong đó có thể phổ biến hoặc không phổ biến Ta duyệt qua cơ sở dữ liệu để xác định Lk từ Ck
Vì Ck có thể là rất lớn nên khi duyệt qua cơ sở dữ liệu sẽ rất phức tạp, nên
ta giảm kích thước của Ck bằng thuộc tính Apriori, nghĩa là trong Ck, bất kỳ tập con (k-1) nào của một k-itemset không thuộc Lk-1 thì k-itemset đó bị loại ra khỏi Ck
Trực quan về thuật toán Apriori
Hình 2.2 Trực quan về thuật toán
Ví dụ về thuật toán Apriori:
Trang 22Hình 2.3 Ví dụ về thuật toán Apriori
2.2.2.2 Việc tạo ra những luật kết hợp từ những itemset phổ biến
Sau khi đã tìm ra những itemset phổ biến, những itemset này sẽ được dùng
để tạo ra những luật mạnh (là những luật thoả mãn độ hỗ trợ cực tiểu (min_sup) và
độ tin cậy cực tiểu (min_conf)) như sau:
- Với mỗi itemset phổ biến L, tạo ra tất cả các tập con khác rỗng của L
- Với mỗi tập con khác rỗng s của L, cho ra một luật: “s => (L-s)” nếu độ tin
cậy của nó lớn hơn hoặc bằng min_conf
Vì những luật này được tạo ra từ những itemset phổ biến nên nó hiển nhiên
thoả điều kiện min_sup
VD: nếu {A,B,C,D} là itemset phổ biến thì có các luật dự kiến gồm:
ABC →D, ABD →C, ACD →B, BCD→A,
Trang 23AB →CD, AC → BD, AD → BC, BC→AD,
Nếu L có k item thì có thể tạo ra 2k-2 luật kết hợp dự kiến(bỏ qua luật L →
∅ và ∅ → L)
Dựa vào tính chất của độ tin cậy để tạo ra luật có conf >= min_conf
o Nếu luật không được sinh ra từ cùng một itemset phổ biến thì:
độ tin cậy của luật c(ABC →D) có thể lớn hơn hay nhỏ hơn độ tin cậy của luật c(AB →D)
o Nhưng nếu luật được sinh ra từ cùng một itemset phổ biến L={A,B,C,D} thì độ tin cậy của các luật có thuộc tính:
c(ABC → D) ≥ c(AB → CD) ≥ c(A → BCD)
Hình 2.4 Trực quan về cách sinh ra luật kết hợp
2.2.2.3 Cài đặt thuật toán
- Đầu tiên tính toán và tìm tập 1-itemset phổ biến
Loại bỏ
các luật
Luật có độ
tin cậy thấp
Trang 24- Lần duyệt thứ k:Sử dụng các tập Lk-1 của tập k-1 item phổ biến được tìm thấy ở lần duyệt thứ k-1 để tạo tập dự kiến Ck(dùng hàm apriori_gen) Tiếp theo duyệt cơ sở dữ liệu và tính support cho Ck
- Tập hợp các tập k-itemset Lk: là tập hợp của các tập k_itemset phổ biến, mỗi phần tử là một tập có 2 trường itemset, support
- Ck: tập hợp các tập k-itemset dự kiến, mỗi phần tử của tập có 2 trường item set và support
- C k : tập hợp của tập k_itemset dự kiến, khi TID của giao tác sinh ra nó kết hợp với một itemset dự kiến
Thuật toán Apriori cơ bản như sau:
1) L1= tìm_1-itemset_phổ_biến( D );
2) for ( k=2 ; L k−1 ≠φ ; k++) {
3) C k= apriori_gen(L k−1,min_sup);
4) for each giao tác t∈D {
Trang 25i
c đohotro
L đohotro
; 7) if độ tin cậy > độ tin cậy tối thiểu then {
8) thêm vào luật (vế trái -> vế phải (độ hỗ trợ, độ tin cậy))
Trang 262.2.2.4 Giải thuật FP_Growth
Thuật toán FP_Growth sử dụng một cấu trúc dữ liệu gọi là FP_tree (Frequent Pattern tree) FP_tree là một thể hiện cô động các thông tin có liên quan đến tính thường xuyên của các tập mục trong CSDL Mỗi nhánh của cây FP_tree thể hiện một tập mục phổ biến Các nút dọc theo các nhánh được lưu trữ theo thứ
tự giảm dần của tính phổ biến Các mục ở lá của cây có tính phổ biến thấp nhất.Cây FP_tree có một bảng header kết hợp với nó Bảng header lưu các mục cùng với số lần xuất hiện của nó trong CSDL theo thứ tự giảm dần của tính phổ biến Mỗi mục của bảng chứa một nút đầu danh sách liên kết với tất cả các nút của cây FP_tree mà nút đó có tên trùng với tên của nó
Phương pháp FP_Growth chỉ cần duyệt CSDL 2 lần để khai phá tất cả các tập mục phổ biến Quét lần thứ nhất để xác định tần xuất của từng tập mục trong CSDL Quét lần thứ hai để xây dựng cây FP_tree Cấu trúc 1 node của cây gồm: tên mục, bộ đếm, liên kết đến các node tiếp theo trên cây có cùng tên Ta dựa vào cây FP_tree để tìm các tập mục phổ biến
Các bước của thuật toán FP_Growth:
Bước 1: Duyệt CSDL để tìm các mục riêng biệt trong CSDL và độ hỗ trợ tương ứng của nó Loại bỏ các mục có độ hỗ trợ nhỏ hơn minsup Sắp xếp các mục theo thứ tự giảm dần của độ hỗ trợ vào bảng Header
Bước 2: Duyệt CSDL lần 2 để xây dựng cây FP_tree Tạo nút góc NULL cho cây T Duyệt tập giao dịch thứ nhất sắp xếp theo thứ tự trong tập L Chèn vào cây T Nếu phần đầu của tập mục không trùng với bất cứ phần đầu của tập mục giao dịch đã xét thì tập hợp các mục đó được chèn vào cây như một nhánh của cây
và bộ đếm của mỗi nút ban đầu là 1 Nguợc lại thì phần đầu của tập mục của giao dịch đang xét sẽ được chia sẻ với phần đầu nhánh thể hiện giao dịch đã xét Mỗi nút trên đoạn nhánh chia sẻ bộ đếm được tăng lên 1 đơn vị, phần còn lại với mỗi mục sẽ được tạo một nút và được nối liền với nhánh được chia sẻ ở phần đầu Tạo liên kết từ bảng Header đến các mục tương ứng Tiếp tục duyệt CSDL và chèn vào cây cho đến khi hết CSDL
Trang 27Thuật toán xây dựng cây FP_tree
1) Procedure INSERT_TREE(string[p], Tree có gốc T)
p: là mục đầu tiên trong danh sách các tập mục P của giao dịch đang xét
Ví dụ thuật toán FP_Growth
Giả sử ta có tập dữ liệu D với Minsup=22%, minconf=70%
Trang 28Ở đây ta không bỏ mục nào vì độ hỗ trợ đều thỏa minsup Sắp xếp lại các item theo thứ tự giảm dần của độ hỗ trợ vào bảng Header
Duyệt CSDL lần 2 : xây dựng cây FP_tree
Duyệt tập giao dịch thứ 1 T1{1,2,5} và sắp theo thứ tự trong bảng Header Æ T1{2,1,5}
Ta có được nhánh đầu tiên của cây FP_tree với chỉ số mỗi node là 1
Hình 2.5 Bước 1 xây dựng cây FP
Tương tự ta duyệt tập giao dịch thứ 2 T2{2,4}
Ta thấy chỉ số của node 2 tăng từ 1 lên 2 vì node 2 dùng chung giữa T1 và T2
Trang 29Hình 2.6 Bước 2 xây dựng cây FP
Tiếp tục duyệt đến hết CSDL ta thu được cây FP_tree
Hình 2.7 Cây FP Tìm tập mục thường xuyên từ cây FP_tree
Dựa vào liên kết từ bảng Header ta đi tìm cây FP_tree cho từng item
VD: Ta xét item ”5”
Trang 30Hình 2.8 Tìm tập thường xuyên từ cây FP
Dựa vào cây ta tìm được 2 phần được chọn là {(2:7),(1:4),(5:1)}, {(2:7),(1:4),(3:2),(5:1)} Ở mỗi nhánh ta lấy minsup, ở ví dụ này minsup nhánh thứ nhất và thứ 2 là 1 {(2:1),(1:1),(5:1)}, {(2:1),(1:4),(3:1),(5:1)}
Giao 2 phần này lại ta có {(2:2),(1:2),(5:2)} tất cả các item đều >= minsup
(2/9*100% = 22%) Ta tìm được tập mục thường xuyên thứ nhất {2,1,5} với
minsup=22% Tương tự ta tìm hết tất cả các item trong bảng Header
Kết quả tìm được 2 tập thường xuyên {2,1,5}, {2,4} Kế đến là phần tìm luật kết
hợp từ các tập mục thường xuyên, phần này tương tự như ở giải thuật Apriori
2.2.3 Việc khai phá những luật kết hợp đa cấp từ cơ sở dữ liệu giao dịch
2.2.3.1 Những luật kết hợp đa cấp
Trong một số ứng dụng, thật khó để tìm những luật kết hợp mạnh giữa những mục dữ liệu cấp thấp hoặc thô về mặt trừu tượng khi dữ liệu rải rác trong không gian tìm kiếm Những luật mạnh được khám phá tại những cấp độ khái niệm cao có thể trình bày những tri thức về mặt ý thức chung Tuy nhiên, những thứ có thể trình bày ý niệm chung cho một người dùng, lại là lạ lẫm với một người khác Vì vậy những hệ thống khai phá dữ liệu phải cung cấp khả năng khai phá
Trang 31những luật kết hợp tại nhiều cấp trừu tượng và dễ dàng qua lại giữa những không gian trừu tượng khác nhau
2.2.3.2 Những phương pháp để khai phá những luật kết hợp đa cấp
Ta tìm hiểu sơ qua những phương pháp khai phá dựa trên độ hỗ trợ và độ tin cậy Các phương pháp này duyệt từ trên xuống đồng thời tính toán các chỉ số
về 2 giá trị này để tìm ra các itemset phổ biến tại mỗi cấp khái niệm Ở mỗi cấp có thể dùng bất kỳ phương pháp nào để tìm ra những itemset phổ biến Một số kiểu phương pháp khai phá đa cấp:
1_ Dùng cùng một độ hỗ trợ tối thiểu(min_sup) cho mọi cấp (còn gọi là uniform support)
2_ Giảm min_sup dần tại mỗi cấp thấp hơn
Vài phương pháp giúp giảm min_sup:
- Độc lập từng cấp một: là một kiểu duyệt rộng, mỗi node sẽ được duyệt, bất chấp node cha của nó có phổ biến hay không
- Lọc chéo bằng những mục hàng đơn Một mục hàng thứ i chỉ được duyệt khi node cha của nó là phổ biến
- Lọc chéo bằng k-itemset Một k-itemset tại mức thứ i chỉ được duyệt chỉ khi k-itemset thứ k của nó tại cấp (i-1)
2.2.4 Việc khai phá những luật kết hợp đa chiều từ cơ sở dữ liệu quan hệ và kho dữ liệu
2.2.4.1 Những luật kết hợp đa chiều
Trong các phần trước ta đã được làm quen với những luật kết hợp một chiều dạng:
Mua(x, “A”) => Mua(x,”B”)
Trang 32Nhưng giả sử chúng không được lưu trữ thành những bảng liệt kê những lượt mua hàng mà được lưu thành những thông tin có liên quan trong các cơ sở dữ liệu quan hệ hoặc các kho dữ liệu lớn thì những dữ liệu như vậy là đa chiều
Ví dụ: tuổi(x, “19-24”) ^ nghề nghiệp(x, “sinh vien”) => mua(x, “máy tính xách tay”)
2.2.4.2 Việc khai phá những luật kết hợp định lượng
Những luật kết hợp định tính là những luật kết hợp đa chiều mà trong đó những thuộc tính bằng số được rời rạc hoá trong suốt quá trình khai phá để thoả mãn một số tiêu chuẩn khai phá như cực đại hoá độ tin cậy (confidence) hoặc rút gọn những luật tìm được
Phương pháp để khai phá những luật đa chiều (2-chiều) là phương pháp ARCS (Assiociation Rule Clustering System) mượn ý tưởng từ việc xử lý hình ảnh Về bản chất phương pháp này ánh xạ những cặp thuộc tính định lượng trên một lưới 2 chiều cho những mẫu tin thoả điều kiện về thuộc tính xác định cho trước Sau đó, lưới 2 chiều này sẽ được duyệt để phân nhóm các điểm, từ đó những luật kết hợp được tạo ra
2.2.4.3 Việc khai phá những luật kết hợp dựa trên khoảng cách
Phương pháp như trên không nắm bắt được ngữ nghĩa của những dữ liệu theo khoảng thời gian vì thế nó không thể xét được những quan hệ về liên quan về khoảng cách giữa những điểm dữ liệu hoặc những khoảng thời gian
2.2.5 Từ việc khai phá sự kết hợp đến sự phân tích sự tương quan
Trong chương này ta tìm hiểu tại sao mà những luật kết hợp mạnh lại có thể sai lầm và không đáng chú ý
Đồng thời thảo luận về những giới hạn thêm vào dựa trên tính độc lập được thống kê lại và việc phân tích về tương quan
Trang 332.2.5.1 Những luật mạnh không cần thiết đáng chú ý
Trong việc khai phá dữ liệu, phải chăng tất cả những luật kết hợp mạnh được khám phá đều đáng được trình bày cho người dùng thấy? Không phải như vậy Cho dù việc đánh giá một luật có đáng chú ý hay không được thực hiện chủ quan hay khách quan thì cuối cùng chỉ có người dùng mới có thể quyết định thực
sự, vì sự quyết định này là chủ quan nên có thể nó khác nhau với những người dùng khác nhau
2.2.5.2 Từ việc phân tích sự kết hợp đến sự phân tích sự tương quan
Luật kết hợp khai phá có sử dụng một framework xác định và tin cậy (support_confident framework) rất hữu ích cho các ứng dụng Tuy nhiên framework này có thể mắc sai lầm ở chỗ nó có thể định nghĩa luật A=>B, trong khi đó A không thể suy ra B Trong chương này ta sẽ xem một framework khác cho việc tìm kiếm những mối quan hệ giữa các dữ liệu item dựa trên sự tương quan
Hai sự việc A và B là độc lập nếu P(A)^P(B)=1 (trong đó P(A) là xác suất xảy ra A) , ngược lại A và B phụ thuộc và tương quan với nhau Khái niệm này có thể dùng cho nhiều hơn hai biến Mối tương quan giữa A và B có thể được đo lường bởi phép tính sau
2.2.6 Việc khai phá những kết hợp dựa trên các ràng buộc
Trang 34• Ràng buộc về kiểu tri thức (Knowledge type constraints): Xác định kiểu tri thức nào được khai phá, ví dụ như sự kết hợp
• Ràng buộc về dữ liệu (Data constraint): Xác định tập hợp dữ liệu công việc
và độ tin cậy (confidence)
• Những ràng buộc về luật: Xác định dạng của luật dùng để khai phá, những luật này có thể là siêu luật (những khuôn mẫu về luật), hoặc việc xác định
số thuộc tính lớn nhất hoặc nhỏ nhất có trong luật tổ tiên, hoặc sự thoả mãn của những thuộc tính đặc biệt trên những giá trị thuộc tính, hoặc khối tập hợp của chúng
Trang 35CHƯƠNG 3: KHAI PHÁ DỮ LIỆU TRONG SQL SERVER
2005
3.1 Ngôn ngữ DMX
3.1.1 Giới thiệu ngôn ngữ DMX (Data Mining eXtension)
DMX là ngôn ngữ truy vấn khai thác dữ liệu, nó là chuẩn cho Data Mining eXtension Nếu không có một ngôn ngữ truy vấn tốt thì thật sự là một thách thức cho các chức năng khai thác dữ liệu như là dự đoán cho các ứng dụng của người
sử dụng Ngôn ngữ truy vấn khai thác dữ liệu được định nghĩa trong OLE DB cho khai thác dữ liệu thông qua khái niệm quan hệ chính yếu và cấu trúc của nó dựa trên SQL (Structure query language)
3.1.2 Một số lệnh trong ngôn ngữ DMX
Bạn có thể sử dụng câu DMX để tạo,xử lý, xóa, chép, xem và dự đoán mô hình khai thác dữ liệu
3.1.2.1 Tạo cấu trúc khai thác-CREATE MINING STRUCTURE
Lệnh này dùng để tạo cấu trúc khai thác trong cơ sở dữ liệu
)
Cấu trúc khai thác này có tên MyModel, và danh sách các cột với tên,kiểu giá trị và thông số
Trang 36CustomerKey LONG KEY,
Gender TEXT DISCRETE,
[Number Cars Owned] LONG DISCRETE,
[Bike Buyer] LONG DISCRETE PREDICT
)
Mô hình này sử dụng Gender và Number Cars Owned để dự đoán Bike Buyer Thuật toán đươc áp dụng cho mô hình là Microsoft Association Rules Câu lệnh rất giống như tạo một bảng trong SQL nhưng có sự khác biệt là ở mỗi dòng không chỉ có data type mà còn có Continuous và discrete Chúng được gọi là loại chứa đựng (Contain type) Nó chỉ cho thuật toán biết cách đúng để mô hình cột dữ liệu
Thuật toán khai thác dữ liệu có một vài thông số để điều chỉnh mô hình Ví
dụ thuật toán Microsoft Association Rules có một thông số gọi là
Minimum_support để chỉ định các trường hợp tối thiểu được giữ lại
Using Microsoft_Association_Rules (Minimum_Support=50)
3.1.2.3 Huấn luyện mô hình -INSERT INTO
Mô hình huấn luyện còn gọi là mô hình xử lý Trong suốt quá trình huấn luyện thuật toán khai thác dữ liệu dùng hết các trường hợp nhâp vào và phân tích
sự tương quan của những thuộc tính giá trị Sau giai đoạn huấn luyện thì mô hình khai thác được đưa ra với những mẫu Cấu trúc cho một câu lệnh mô hình khai thác huấn luyện giống như câu lệnh Insert
Cấu trúc
Insert into <Tên mô hình khai thác>
Trang 37<Danh sách các cột>
<Nguồn dữ liệu truy vấn>
Hầu hết các trường hợp <Nguồn dữ liệu truy vấn> là câu truy vấn Select từ CSDL quan hệ Trong OLE DB,câu lệnh OpenRowset hỗ trợ truy vấn dữ liệu từ một nguồn dữ liệu thông qua giao thức cung cấp của OLE DB Cấu trúc câu phát biểu OpenRowset:
OpenRowset(‘Provider_Name’, ‘Provider_String’, ‘DB Query’)
Provider_Name là tên của giao thức cung cấp OLE DB
Provider_String là chuỗi kết nối cho cơ chế cung cấp
DB Query là câu truy vấn SQL được hỗ trợ bởi cơ chế cung cấp Câu truy vấn trả về một dòng dữ liệu
Kế tiếp là câu lệnh huấn luyện cho mô hình MemberCard_Prediction Nguồn dữ liệu được lưu trữ trên cơ sỡ dữ liệu SQL sever trên máy mysever Insert into MemberCard_Prediction
( CustomerId, Gender, Age, Profession, Income, HouseOwner, MemberCard)
OpenRowset(‘sqloledb’, ‘myserver’;’mylogin’;’mypwd’,
‘Select CustomerId, gender, age, profession, income, houseowner,
membercard From customers’)
Chú ý :
Câu lệnh OpenRowset đòi hỏi người sử dụng phải nhập UserName và Pass nếu không sử dụng tương tác bảo mật Trong SQL câu phát biểu OpenRowset mật định là tắt Nếu bạn muốn sử dụng câu lệnh truy vấn OpenRawset bạn cần đặt thuộc tính cho Analysis Services là AllowAdhocOpenRowsetQueries
SQL Sever 2005 đưa ra câu lệnh mới được gọi là OpenQuery Tương tự như OpenRowset Điểm khác biệt chính là thay vì sử dụng User và Pass trong câu lệnh thì nó sử dụng đối tượng nguồn dữ liệu đang tồn tại trong cơ sở dữ liệu AS như là một tham số
Ví dụ:
Trang 38OpenQuery(‘mydatasource’,
‘Select CustomerId, gender, age, profession, income, houseowner,
membercard From customers’)
3.1.2.4 Mô hình dự đoán – Model prediction
Mô hình dự đoán khám phá thông tin về càc trường hợp chưa biết sử dụng các mẫu từ dữ liệu lịch sử Sự dự đoán là một bước quan trọng trong quá trình khai thác dữ liệu Nó là mục tiêu cuối cùng của một dự án khai thác dữ liệu Quá trình này tốn ít thời gian và được thực hiện thường xuyên
Để dự đoán chúng ta cần có 2 tập dữ liệu Một là tập huấn luyên và 2 là tập kiểm tra Trong DMX, mô hình khai thác đươc xem là giống với các bảng quan hệ Dựa trên các khái niệm thì mô hình khai thác được huấn luyện có thể được xem như là một bảng thật Bảng này chứa các cột nhập vào và các cột dự đoán Ví dụ như hình
Trang 39ON <Các cột kết hợp>
WHERE <Điều kiện lộc>
Điều kiện On chỉ định cột so sánh giữa mô hình khai thác và bảng dữ liệu nhập
vào
Đôi khi có những trường hợp dữ liệu nhập không có tất cả các thuộc tính mà
mô hình khai thác được huấn luyện Ví dụ như một bảng thông tin khách hàng mới thiếu cột Age Trong trường hợp đó nó vẫn là câu lệnh truy vấn dự đoán hợp lệ Thuật toán khai thác dữ liệu cung cấp quyết định làm thế nào để thực thi việc dự đoán mà không có đầy đủ các thông tin nhập vào Dĩ nhiên điều này làm cho kết quả dự đoán thiếu chính xác hơn
Ví dụ:
Select T.CustomerID, T.LastName, M.MemberCard
From MemberCard_Prediction Prediction Join
OpenRowset(‘Provider=Microsoft.Jet.OLEDB’, ‘data
source=c:\customer.mdb’, ‘select * from customers’) as T
On MemberCard_Prediction.Gender= T.Gender
And MemberCard_Prediction.Age = T.Age
And MemberCard_Prediction.Profession = T.Profession
And MemberCard_Prediction.Incom = T.Income
And MemberCard_Prediction.HouseOwner=T.HouseOwner
Where NewCustomer.age > 30
3.1.2.5 Xóa cấu trúc khai thác và mô hình khai thác
Để xóa cấu trúc khai thác dùng lệnh
Drop Mining Structure <Tên>
Để xóa mô hình khai thác dùng lệnh
Drop Mining Model <Tên>
Trang 403.2 Sơ lược về Data Mining trong Microsoft SQL Server
2005
3.2.1 Business Intelligent Developtment Studio (BIDS)
BIDS gồm một tập các công cụ được thiết kế để tạo một dự án khai thác dữ
liệu từ tạo mô hình khai thác đến huấn luyện và dự đoán BIDS có giao diện khá
thân thiện với các nhà phát triển trên Net và dễ sử dụng Hình minh họa bên dưới
Hình 3.2 Giao diện BIDS
Các phần chính:
Window tabs
Designer tabs
BI Menus