Tải bản đầy đủ (.pdf) (87 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.74 MB, 87 trang )

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
ĐẠI HỌC TÔN ĐỨC THẮNG

Nguyễ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

THÀNH PHỐ HỒ CHÍ MINH 2008



LỜI CÁM ƠN
Trướ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.

Nguyễn Anh Khoa – Nguyễn Văn Trọn

i


MỤ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

Nguyễn Anh Khoa – Nguyễn Văn Trọn

ii


3.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ự đoá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 toá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 Naï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ự đoá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 toá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ự đoán....................................................... 70
4.4.3.4 Kết quả và dự đoán ....................................................................................... 73
PHẦN KẾT LUẬN........................................................................................................... 76
CHƯƠNG 5: KẾT LUẬN ................................................................................................ 76
5.1. Tổng kết và đánh giá.................................................................................................. 76
5.1.1. Kết quả ................................................................................................................ 76
5.1.2. Hạn chế ............................................................................................................... 76

Nguyễn Anh Khoa – Nguyễn Văn Trọn


iii


5.2. Hướng phát triển ........................................................................................................ 77
TÀI LIỆU THAM KHẢO ................................................................................................ 78

Nguyễn Anh Khoa – Nguyễn Văn Trọn

iv


DANH 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
Hình 4.11 Chọn cột khóa, cột nhập và cột dự đoán .......................................................... 71
Hình 4.12 Xử lý tìm luật ................................................................................................... 72
Hình 4.23 Kết quả tìm luật................................................................................................ 73
Hình 4.14 Kết quả dự đoán ............................................................................................... 74

Nguyễn Anh Khoa – Nguyễn Văn Trọn

v



Hình 4.14 Hiển thị kết quả................................................................................................ 75

Nguyễn Anh Khoa – Nguyễn Văn Trọn

vi


DANH 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

Nguyễn Anh Khoa – Nguyễn Văn Trọn

vii


Chương 1: Giới thiệu

PHẦN MỞ ĐẦU

CHƯƠNG 1: GIỚI THIỆU
1.1 Đặt vấn đề
Trong thời đại ngày nay, sự phát triển vượt bật của ngành công nghệ thông
tin trên thế giới cũng như ỏ nước ta đã và đang góp phần thúc đẩy sự phát triển của
nhiều lĩnh vực, ngành nghề.
Ngà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.

Nguyễn Anh Khoa – Nguyễn Văn Trọn

1


Chương 1: Giới thiệu

-

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

Nguyễn Anh Khoa – Nguyễn Văn Trọn

2


Chương 2: Tìm hiểu về khai phá dữ liệu

PHẦ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:

Nguyễn Anh Khoa – Nguyễn Văn Trọn

3


Chương 2: Tìm hiểu về khai phá dữ liệu

Tri thức
Mẫu dữ liệu.

Dữ liệu có liên quan

Khai phá dữ liệu.

Kho dữ liệu
Chọn dữ liệu
Làm sạch dữ liệu
Tích hợp dữ liệu

Cơ sở dữ liệu

Hì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.
7) Trình diễn dữ liệu (Knowlegde presention): Sử dụng các kỹ thuật trình diễn và
trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng.
Nguyễn Anh Khoa – Nguyễn Văn Trọn

4


Chương 2: Tìm hiểu về khai phá dữ liệu

2.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.

Nguyễn Anh Khoa – Nguyễn Văn Trọn

5


Chương 2: Tìm hiểu về khai phá dữ liệu

• 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

đó mỗi mẫu tin trình bày một cuộc giao dịch. Một giao tác thường bao gồm một số

hiệu xác định và riêng biệt thể hiện cuộc giao dịch đó (trans_ID), và một danh

Nguyễn Anh Khoa – Nguyễn Văn Trọn

6


Chương 2: Tìm hiểu về khai phá dữ liệu

sá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

Nguyễn Anh Khoa – Nguyễn Văn Trọn

7


Chương 2: Tìm hiểu về khai phá dữ liệu

• 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
chung sẽ được đặt gần nhau để tiện cho việc mua sắm hoặc sẽ để thật xa nhau để

Nguyễn Anh Khoa – Nguyễn Văn Trọn

8



Chương 2: Tìm hiểu về khai phá dữ liệu

kí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
Giả sử I = {i1, i2, …,im} là tập các mặt hàng.
D là tập hợp các lượt mua hàng T trong cơ sở dữ liệu. (D = {T1,T2,…Tn})
Trong đó, T là tập con của I hoặc bằng I.
A,B là tập những mặt hàng (A,B là tập con của I hoặc bằng I với A giao B
bằng rỗng).


Nguyễn Anh Khoa – Nguyễn Văn Trọn

9


Chương 2: Tìm hiểu về khai phá dữ liệu

Mộ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*)
2_ Dựa trên số chiều của luật kết hợp.
Luật một chiều. Vd (1*).

Nguyễn Anh Khoa – Nguyễn Văn Trọn

10


Chương 2: Tìm hiểu về khai phá dữ liệu

Luậ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:
Giả sử Lk là một tập những k-itemset.
Bước 1: Tự kết.
Để tìm Lk, lấy Lk-1 tự kết với chính nó, sau khi tự kết sẽ cho kết quả là một
tập những k-itemset, tập này được kí hiệu là Ck.
Bước 2: Sàng lọc.
Nguyễn Anh Khoa – Nguyễn Văn Trọn

11


Chương 2: Tìm hiểu về khai phá dữ liệu

Ck 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:

Nguyễn Anh Khoa – Nguyễn Văn Trọn


12


Chương 2: Tìm hiểu về khai phá dữ liệu

Hì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,


A →BCD,

B →ACD,

C →ABD,

D→ABC

Nguyễn Anh Khoa – Nguyễn Văn Trọn

13


Chương 2: Tìm hiểu về khai phá dữ liệu

AB →CD,

AC → BD,

BD →AC,

CD →AB,

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)
Luật có độ
tin cậy thấp

Loại bỏ
các luật

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.

Nguyễn Anh Khoa – Nguyễn Văn Trọn

14


Chương 2: Tìm hiểu về khai phá dữ liệu

- 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 ; Lk −1 ≠ φ ; k++) {
3)
4)

C k = apriori_gen( Lk −1 , min_ sup );

for each giao tác t ∈ D {

5)

C t = tập_con( C k , t );

6)

for each ứng viên c ∈ C t

7)

c.count++;

8)
9)

}
Lk = {c ∈ C k c.count ≥ min_ sup}


10) }
11) return L = ∪ k Lk ;
o Thủ tục apriori_gen:
Thủ tục apriori_gen ( Lk −1 : (k − 1) -itemsets phổ biến; min_ sup : độ hỗ trợ tối thiểu)
1) for each itemset l1 ∈ Lk −1
2)

for each itemset l 2 ∈ Lk −1

Nguyễn Anh Khoa – Nguyễn Văn Trọn

15


Chương 2: Tìm hiểu về khai phá dữ liệu

if (l1 [1] = l 2 [1]) ∧ (l1 [2] = l 2 [2]) ∧ ... ∧ (l1 [k − 2] = l 2 [k − 2]) ∧ (l1 [k − 1] = l 2 [k − 1])

3)
then {
4)

c = l1 >< l 2 ;

5)

if tập_con_không_phổ_biến( c, Lk −1 ) then

6)


delete c ;

7)

else add c to C k ;

8)

}

9) return C k ;
o Hàm tập_con_không_phổ_biến :
Thủ tục tập_con_không_phổ_biến ( Lk −1 : (k − 1) -itemsets phổ biến; min_ sup )
1) for each ( k − 1 ) tập con s của c
if s ∉ Lk −1 then

2)
3)

return TRUE;

4) return FALSE;
ƒ Hàm tìm_luật:
1) for k = 1 đến chiều dài( L − 1 ) {
2)
3)

c = tìm_tập_con ( L , k );


for each ci thuộc c {

4)

vể trái = ci ;

5)

vế phải = L − ci ;

6)

độ tin cậy =

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))

9)
10)

đohotro( L)
* 100 ;
đohotro(ci )

}

}

11) }

Nguyễn Anh Khoa – Nguyễn Văn Trọn

16


×