1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số vấn đề liên quan đến khai phá dữ liệu bằng cây quyết định

90 928 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 1,35 MB

Nội dung

Phương pháp khai phá dữ liệu có một số lớp chính như: Mô hình dự đoán bao gồm phân lớp và hồi quy; phân đoạn; mô hình phụ thuộc như mô hình đồ thị hoặc ước lượng mật độ; Mô hình tóm lược

Trang 1

2

Mục lục

Mục lục 2

Mở đầu 4

Chương 1 Tổng quan về công nghệ khai phá tri thức và kho dữ liệu 5

1.1 Công nghệ khai phá tri thức và khai phá dữ liệu 5

1.1.1 Khai phá tri thức và khai phá dữ liệu 5

1.1.2 Quá trình khai phá tri thức 6

1.1.3 Nhiệm vụ khai phá dữ liệu 7

1.2 Kho dữ liệu 13

1.2.1 Kho dữ liệu và một số đặc điểm 13

1.2.2 Sự khác nhau giữa kho dữ liệu và cơ sở dữ liệu tác nghiệp 15

1.2.3 Kiến trúc chung của kho dữ liệu 19

Chương 2 Tiền xử lý dữ liệu, một công đoạn quan trọng trong quá trình KDD 25

2.1 Giới thiệu 25

2.2 Làm sạch dữ liệu 26

2.2.1 Giá trị bị mất 26

2.2.2 Dữ liệu bị nhiễu 27

2.2.3 Dữ liệu không nhất quán 29

2.3 Tích hợp và chuyển đổi dữ liệu 29

2.3.1 Tích hợp dữ liệu 29

2.3.2 Chuyển đổi dữ liệu 31

2.4 Thu gọn dữ liệu 32

2.4.1 Kết hợp khối dữ liệu 32

2.4.2 Thu gọn các chiều 34

2.4.3 Nén dữ liệu 36

2.4.4 Giảm bớt số lượng 36

2.5 Rời rạc hóa và tổng quát hóa bậc khái niệm 37

2.5.1 Tổng quát hóa và rời rạc hóa bậc khái niệm cho dữ liệu kiểu số 37

2.5.2 Tổng quát hóa mức khái niệm cho dữ liệu kiểu xác định 40

Chương 3 Một số phương pháp xây dựng cây quyết định trong khai phá dữ liệu 43

3.1 Phân lớp và dự báo 43

3.1.1 Phân lớp và dự báo 43

3.1.2 Chuẩn bị dữ liệu cho phân lớp và dự báo 46

3.1.3 So sánh các phương pháp phân lớp 47

3.2 Phân lớp bằng quy nạp cây quyết định 47

3.2.1 Quy nạp cây quyết định 48

3.2.2 Thu gọn cây 53

3.2.3 Rút ra quy tắc phân lớp từ cây quyết định 54

3.2.4 Cải tiến quy nạp cây quyết định cơ bản 55

3.2.5 Quy nạp cây quyết định và khả cỡ 56

3.2.6 Tích hợp quy nạp cây quyết định với công nghệ kho dữ liệu 59

3.3 Xây dựng cây quyết định bằng phụ thuộc hàm 60

3.3.1 Định nghĩa vấn đề 62

3.3.2 Hàm và xấp xỉ phụ thuộc 62

3.3.3 Phương pháp phân lớp 63

3.3.4 Ưu điểm của việc sử dụng lớp phụ thuộc hàm (CFDs) 64

3.3.5 Đánh giá 65

Trang 2

3

Chương 4 Khai phá dữ liệu trong CSDL ORACLE 10G 66

4.1 Giới thiệu công cụ khai phá dữ liệu Oracle 66

4.2 Quá trình khai phá dữ liệu của Oracle 68

4.3 Một số thuật toán của ODM 69

4.3.1 Các thuật toán học có giám sát 69

4.3.2 Các thuật toán học không giám sát 73

Chương 5 Bài toán khai phá dữ liệu khách vi phạm quy chế xuất nhập cảnh 78

5.1 Lựa chọn phương pháp phân lớp 78

5.2 Mô tả dữ liệu nghiệp vụ 79

5.2.1 Chuẩn bị dữ liệu cho ứng dụng 79

5.2.2 Lựa chọn dữ liệu cho ứng dụng 80

5.3 Các tham số xây dựng mô hình cho thuật toán cây quyết định 82

5.4 Xây dựng mô hình 83

5.4.1 Xây dựng và kiểm thử mô hình 83

5.4.2 Nhận xét 88

Kết luận 89

1 Kết quả đạt được của luận văn 89

2 Phương hướng nghiên cứu tiếp theo 89

Tài liệu tham khảo 91

Trang 3

4

Mở đầu

Trong vài thập niên trở lại đây, với sự phát triển mạnh mẽ của công nghệ phần cứng, đã tạo ra những máy tính có năng lực xử lý nhanh, khả năng lưu trữ lớn Cùng với việc tin học hóa mạnh mẽ trong hầu hết các lĩnh vực của đời sống xã hội nên các tổ chức đã thu thập được một khối lượng dữ liệu lớn Nhiều hệ quản trị cơ sở dữ liệu đi cùng với các giải pháp lưu trữ và các công cụ phân tích dữ liệu mạnh đã giúp chúng ta khai thác một cách hiệu quả nguồn tài nguyên dữ liệu quý báu đã thu thập được

Tuy nhiên, vấn đề mà chúng ta đang gặp phải là dữ liệu được thu thập và lưu trữ ngày càng nhiều nhưng vẫn thiếu thông tin, thiếu tri thức giúp các nhà quản lý ra quyết định Các công cụ phân tích dữ liệu truyền thống tỏ ra không mấy hữu hiệu khi lượng dữ liệu thu thập được tăng lên một cách nhanh chóng Nhu cầu tìm kiếm thông tin và tri thức ẩn chứa trong dữ liệu đã có từ lâu nhưng mãi đến những năm

90 của thế kỷ trước với sự phát triển mạnh mẽ của của một số lĩnh vực mới như kho

dữ liệu, các hệ hỗ trợ ra quyết định, các phương pháp phát hiện tri thức và khai phá

dữ liệu mới thu được những kết quả bước đầu Từ đó, khai phá dữ liệu và phát hiện tri thức đã trở thành một lĩnh vực nghiên cứu sôi động, thu hút được sự quan tâm của rất nhiều các nhà khoa học thuộc các lĩnh vực khác nhau như cơ sở dữ liệu, học máy, trí tuệ nhân tạo, thống kê,…

Luận văn này sẽ đề cập đến các kiến thức, kỹ thuật cơ bản liên quan đến khai phá dữ liệu Đi sâu nghiên cứu, phân tích, đánh giá và so sánh một số phương pháp, thuật toán khai phá dữ liệu bằng cây quyết định

Bằng việc vận dụng những kiến thức trình bày trong luận văn, kết hợp với tìm hiểu và ứng dụng công nghệ khai phá dữ liệu của Oracle, chúng ta sẽ triển khai một bài toán khai phá dữ liệu thực tế, đó là “Dự đoán loại vi phạm quy chế xuất nhập cảnh của người nước ngoài tại Việt Nam”

Trang 4

5

Chương 1 Tổng quan về công nghệ khai phá tri thức và

kho dữ liệu

1.1 Công nghệ khai phá tri thức và khai phá dữ liệu

1.1.1 Khai phá tri thức và khai phá dữ liệu

Khai phá tri thức trong cơ sở dữ liệu (KDD) là một quá trình nhận biết các mẫu hay mô hình từ dữ liệu, với các tính chất: có giá trị, mới, khả ích và có thể hiểu được [3] Khai phá dữ liệu (DM) là một công đoạn của quá trình KDD, nó bao gồm các thuật toán khai phá dữ liệu cụ thể, có thể thực hiện được với khả năng có hạn của máy tính, để tìm ra các mẫu hay mô hình trong dữ liệu Nói một cách khác, mục tiêu chung của KDD và DM là tìm ra các mẫu, các mô hình mà ta quan tâm, tồn tại trong cơ sở dữ liệu nhưng đang bị che lấp

KDD được phát triển nhanh chóng cùng với các lĩnh vực có liên quan như quản trị cơ sở dữ liệu, thống kê, học máy và tính toán song song và hiệu năng cao, thu nhận tri thức cho các hệ chuyên gia, trực quan hóa dữ liệu Các lĩnh vực này đều có một mục đích chung là chắt lọc (extract) tri thức từ dữ liệu trong các cơ sở dữ liệu lớn

Các lĩnh vực học máy, nhận dạng mẫu và KDD đều có cùng mục đích nghiên cứu lý thuyết và giải thuật cho các hệ thống nhằm tìm ra các mẫu và các mô hình bên trong dữ liệu (là những phương pháp khai phá dữ liệu chính) Khai phá tri thức tập trung vào việc mở rộng lý thuyết và giải thuật cho những bài toán tìm kiếm mẫu đặc biệt (có thể được hiểu theo nghĩa tri thức có ích hay được quan tâm) trong những tập dữ liệu lớn của thế giới thực

KDD cũng có nhiều điểm chung với các phương pháp thống kê, đặc biệt là phân tích dữ liệu có tính chất thăm giò (EDA) Những hệ thống KDD thường được nhúng vào bên trong những thủ tục thống kê một cách riêng biệt, để mô hình hóa dữ

Trang 5

6 liệu và kiểm soát nhiễu, những thủ tục này đóng vai trò là một thành phần trong kết cấu tổng thể của hệ khám phá tri thức.

1.1.2 Quá trình khai phá tri thức

Quá trình khai phá tri thức thông thường gồm có một số bước cơ bản [3], như hình 1.1:

- Tìm hiểu ứng dụng và hình thành bài toán Bước này hiển nhiên là điều kiện đầu tiên đối với việc chắt lọc các tri thức hữu dụng và để lựa chọn phương pháp khai phá dữ liệu thích hợp ở bước thứ ba phù hợp với mục tiêu của ứng dụng và bản chất của dữ liệu

- Thu thập và xử lý dữ liệu Bao gồm việc chọn lựa nguồn dữ liệu, loại bỏ nhiễu, xử lý dữ liệu bị mất, chuyển đổi (nếu có) và thu gọn dữ liệu Bước này thường chiếm phần lớn thời gian của toàn bộ quá trình KDD

- Khai phá dữ liệu: Thực hiện việc chắt lọc các mẫu, mô hình bị che lấp trong

dữ liệu Trong đó “mô hình được xem như một biểu diễn tổng thể của một cấu trúc nhằm tóm lược những thành phần mang tính hệ thống nằm trong dữ liệu hoặc miêu tả tập dữ liệu này được sinh sôi nảy nở như thế nào” Trái lại,

“mẫu là một cấu trúc cục bộ có thể chỉ liên quan đến một nhóm các trường

và một số ít ca dữ liệu” Phương pháp khai phá dữ liệu có một số lớp chính như: Mô hình dự đoán bao gồm phân lớp và hồi quy; phân đoạn; mô hình phụ thuộc như mô hình đồ thị hoặc ước lượng mật độ; Mô hình tóm lược như tìm mối quan hệ giữa các trường, các liên kết…

- Làm sáng tỏ tri thức đã tìm được, đặc biệt là thể hiện dưới dạng mô tả và dự đoán, đây là hai mục tiêu chính của các hệ thống khai phá dữ liệu trong thực

tế Kinh nghiệm cho thấy, các mẫu và các mô hình tìm thấy không phải lúc nào cũng đáng quan tâm và có thể trực tiếp sử dụng được ngay Vì vậy quá trình KDD cần thiết lặp đi lặp lại với việc đánh giá tri thức đã thu được Để đánh giá kết quả đã thu được người ta thường chia dữ liệu ra làm hai phần, phần thứ nhất dùng để huấn luyện và phần thứ hai dùng vào việc kiểm thử

Trang 6

Hình 1.1 Quá trình khai phá tri thức

Có một điều cần phải lưu ý là không gian các mẫu thường là vô hạn, và để liệt kê ra được các mẫu cần phải có một số hình thức nghiên cứu trong không gian này Hiệu quả của sự tính toán bị ràng buộc bởi việc giới hạn không gian con tìm kiếm mà có thể thực hiện được bằng thuật toán

1.1.3 Nhiệm vụ khai phá dữ liệu

Để nhiệm vụ khai phá dữ liệu được thực hiện một cách thuận lợi, hiệu quả và thành công người ta phải luôn quan tâm đến một số các yếu tố, bao gồm: các đặc tả

về một phần của cơ sở dữ liệu hay một tập dữ liệu mà người sử dụng quan tâm; loại tri thức để khai phá; các tri thức nền giúp ích cho việc định hướng quá trình khai

Nhận dạng và định nghĩa vấn đề

Thu nhận và tiền xử lý dữ liệu

KHAI PHÁ DỮ LIỆU Chắt lọc tri thức

Giải thích và đánh giá kết quả

Sử dụng tri thức đã khai phá được

Trang 7

8 phá; đánh giá sự quan tâm với mẫu tìm được…Dưới đây chúng ta sẽ xem xét một số những yếu tố đó [4]

1.1.3.1 Dữ liệu liên quan đến nhiệm vụ khai phá

Yếu tố đầu tiên là đặc tả về dữ liệu mà chúng ta thực hiện khai phá trên nó Thông thường, một người sử dụng chỉ quan tâm đến một phần nhỏ của cơ sở dữ liệu Khai phá toàn bộ cơ sở dữ liệu là một điều không thực tế, số lượng của các mẫu sinh ra có thể là hàm mũ đối với cỡ của cơ sở dữ liệu và nhiều mẫu tìm thấy sẽ chẳng liên quan gì đến quan tâm của người sử dụng

Trong một cơ sở dữ liệu quan hệ, dữ liệu liên quan đến các nhiệm vụ có thể

được thu thập thông qua một truy vấn quan hệ, bao gồm các thao tác chọn, chiếu, nối, kết hợp Việc chuẩn bị dữ liệu có thể được xem là một “nhiệm vụ con” của cả

nhiệm vụ khai phá dữ liệu Quá trình thu thập dữ liệu đem lại một dữ liệu quan hệ mới, và được gọi là dữ liệu quan hệ khởi tạo Dữ liệu này có thể được sắp xếp hay nhóm lại tùy thuộc vào điều kiện đã được chỉ rõ trong truy vấn Sau đó, nó có thể được làm sạch hoặc chuyển đổi trước khi áp dụng các phương pháp phân tích dữ liệu

1.1.3.2 Loại tri thức sẽ khai phá

Chỉ rõ loại tri thức sẽ khai phá là một điều rất quan trọng, bởi vì nó xác định

rõ chức năng khai phá dữ liệu sẽ được thực hiện Tri thức bao gồm các loại như mô

tả khái niệm, dự báo, phân cụm và phân tích sự phát triển…

Thêm vào việc chỉ rõ loại tri thức sẽ được khai phá cho một nhiệm vụ khai phá dữ liệu, người sử dụng có thể chỉ rõ hơn và cung cấp những khuân mẫu mà tất

cả những mẫu tìm được phải phù hợp Những khuân mẫu đó, có thể được sử dụng

để định hướng cho quá trình khai phá

Trang 8

9 nhiều mức trừu tượng khác nhau Một thứ bậc khái niệm định nghĩa một chuỗi những ánh xạ từ một tập khái niệm mức thấp đến khái niệm mức cao, tổng quát hơn

và là một hình thức thể hiện rất có ý nghĩa của tri thức nền Trong đó, cho phép dữ liệu thô được kiểm soát ở mức độ trừu tượng cao và khái quát hơn Quá trình khái quát dữ liệu được thực hiện bằng cách thay thế dữ liệu gốc bằng dữ liệu có mức khái niệm cao hơn Điều này cho phép người sử dụng quan sát dữ liệu với ý nghĩa đầy đủ hơn, minh bạch hơn và làm cho những mẫu tìm được dễ hiểu hơn

Những thứ bậc khái niệm này có thể được cung cấp bởi những người sử dụng

hệ thống, các chuyên gia lĩnh vực, hoặc các kỹ sư tri thức Chúng còn có thể tự động được khai phá hoặc cải tiến một cách linh hoạt dựa vào phân tích thống kê phân bố của dữ liệu

1.1.3.4 Độ đo sự lôi quấn

Việc chỉ rõ dữ liệu liên quan và loại tri thức sẽ khai phá về cơ bản đã làm giảm số lượng của những mẫu sinh ra Tuy nhiên, quá trình khai phá dữ liệu vẫn sinh ra một số lượng lớn các mẫu Thông thường, chỉ có một phần nhỏ trong những mẫu này thực sự được quan tâm bởi những người sử dụng cụ thể Vì thế, người sử dụng cần phải hạn chế hơn nữa số lượng của những mẫu không được quan tâm sinh

ra quá trình khai phá Điều này thu được bằng cách chỉ ra độ đo sự lôi quấn để đánh giá tính dễ hiểu, sự chắc chắn, sự có lợi và tính mới lạ của những mẫu thu được Thông thường, mỗi độ đo được kết hợp với một ngưỡng, và người sử dụng có thể điều chỉnh được ngưỡng này, những luật không phù hợp với ngưỡng được xem là không đáng chú ý Dưới đây chúng ta sẽ xem khái quát về một số độ đo mục tiêu này

Tính dễ hiểu: Một nhân tố góp phần vào sự quan tâm của một mẫu là làm cho con người nhận thức được các mẫu một cách dễ dàng Tính dễ hiểu được định nghĩa dưới dạng kích thước của các mẫu tính bằng bit, hoặc số lượng các thuộc tính hay các toán hạng xuất hiện trong mẫu Ví dụ, một mẫu có cấu trúc phức tạp hơn thì

sẽ khó hiểu hơn vì thế nó kém lôi quấn hơn

Độ chắc chắn: Mỗi một mẫu đã được tìm ra đều có một độ đo về sự chắc chắn gắn liền với chúng Độ đo này đánh giá tính hiệu lực hay tính đáng tin cậy của

Trang 9

10 mẫu Độ đo sự chắc chắn của một luật kết hợp có dạng “A=>B” Cho một tập các bản ghi (hoặc các giao dịch), thì sự tin tưởng “A=>B” được định nghĩa là:

Có nghĩa là 85% khách hàng mua máy tính thì sẽ mua phần mềm

Sự tin tưởng đạt 100% có nghĩa là luật đã tìm thấy luôn luôn đúng trên tập

dữ liệu đã phân tích, những luật này được gọi là chính xác

Sự có lợi: Khả năng có lợi của một mẫu là nhân tố định rõ sự lôi quấn của

nó Nó có được đánh giá bằng một hàm tiện ích, như hàm ủng hộ (Support) Sự ủng

hộ của một mẫu kết hợp liên quan đến tỷ lệ phần trăm của các bản ghi cho một mẫu đúng Cho một luật kết hợp có dạng “A=>B” trong đó A và B là tập của các mục, khi đó sự ủng hộ được định nghĩa là:

1.1.3.5 Biểu diễn các mẫu đã tìm ra

Để việc khai phá dữ liệu thêm hiệu quả, hệ thống khai phá dữ liệu nên có khả năng thể hiện những mẫu đã được phát hiện dưới nhiều hình thức khác nhau, như các luật, các bảng tổng hợp, biểu đồ, cây quyết định hay các biểu diễn trực quan khác Việc cho phép thể hiện các mẫu đã được phát hiện dưới nhiều hình thức khác nhau giúp người sử dụng với những kinh nghiệm khác nhau nhận ra các mẫu đáng quan tâm và để tác động hay định hướng cho hệ thống trong những lần khai phá tiếp

Trang 10

11 sau Một người sử dụng cũng có thể chỉ rõ hình thức thể hiện sẽ được sử dụng cho việc hiển thị những mẫu đã được phát hiện

- Chỉ có một lượng nhỏ dữ liệu đã thu thập được phân tích

- Với ý nghĩ tiếp tục thu thập dữ liệu để không bỏ qua điều gì đó quan trọng,

mà dữ liệu này lại không được phân tích gây ra tốn kém

- Các phương thức phân tích dữ liệu cổ điển tỏ ra không còn mấy phù hợp khi lượng dữ liệu lên

- Nhiều khi người phân tích dữ liệu không phải là những chuyên gia về dữ liệu, do đó cần phải có công cụ để họ thực hiện công việc phân tích dữ liệu

- Trong môi trường cạnh tranh việc phát hiện ngay những dấu hiệu bất thường

và nhanh chóng đưa ra quyết định phù hợp là điều hết sức quan trọng

Một số khó khăn gặp phải khi xây dựng KDD

Trong quá trình xây dựng KDD, chúng ta luôn gặp phải những trở ngại, chúng ta phải tìm cách khắc phục và vượt qua những trở ngại này để thu được những kết quả mong muốn Một trong những khó khăn cơ bản đó là [3]:

Trang 11

12

- Cơ sở dữ liệu lớn: Những cơ sở dữ liệu với hàng trăm bảng, mỗi bảng hàng

trăm trường, hàng triệu bản ghi có dung lượng nhiều gigabyte đã trở nên bình thường, và bây giờ đã xuất hiện nhiều cơ sở dữ liệu cỡ terabyte

- Kích thước lớn: Không chỉ có nhiều bản ghi trong cơ sở dữ liệu mà trong các

bảng cũng cũng có rất nhiều thuộc tính, vì thế kích thước của vấn đề lớn Một tập dữ liệu có kích thước lớn làm tăng không gian tìm kiếm theo cách bùng nổ tổ hợp Hơn nữa, sẽ tăng khả năng làm cho thuật toán khai phá dữ liệu tìm ra những mẫu sai, không có giá trị khái quát Để giải quyết vấn đề này, người ta sử dụng phương pháp giảm kích thước ảnh hưởng đến vấn đề

và sử tri thức ưu tiên (có trước) để nhận ra và loại bỏ những trường không liên quan

- Hiện tượng quá khớp: Khi thuật toán tìm kiếm tham số tốt nhất cho một mô

hình cụ thể sử dụng một tập dữ liệu học hạn chế, có thể xảy ra hiện tượng dữ liệu quá khớp, làm cho mô hình kém hiệu quả trên tập dữ liệu thử Giải quyết vấn đề này sử dụng phương pháp kiểm tra chéo, thực hiện theo đúng các

nguyên tắc và các chiến lược thống kê phức tạp khác

- Tri thức và dữ liệu thay đổi: Dữ liệu thay đổi nhanh chóng có thể làm cho

các mô hình tìm thấy trước đây không còn giá trị Hơn nữa, các trường đã được chọn trong một ứng dụng cơ sở dữ liệu cụ thể có thể bị thay đổi, bị xóa, hay được thêm vào Giải pháp có thể sử dụng là tăng cường phương thức cho việc cập nhật các mô hình và xem sự thay đổi như là một cơ hội cho việc khám phá bằng cách sử dụng chúng một cách thích hợp để chỉ tìm phải kiếm

lại cho các mô hình bị thay đổi

- Dữ liệu bị nhiễu và bị mất: Vấn đề này đặc biệt hay xảy ra trong các cơ sở

dữ liệu thương mại, dữ liệu của các thuộc tính quan trọng có thể bị mất nếu

cơ sở dữ liệu không được thiết kế để dành cho mục đích khai phá Để giải quyết vấn đề này chúng ta phải tăng cường sử dụng những chiến lược thống

kê phức tạp để phát hiện ra những trường thông tin ẩn và sự phụ thuộc giữa

chúng

Trang 12

13

- Các trường có quan hệ phức tạp: Cấu trúc phân cấp của các thuộc tính, giá

trị, quan hệ giữa các thuộc tính và nhiều phương thức phức tạp để biểu diễn tri thức về nội dung của cơ sở dữ liệu đòi hỏi thuật toán phải sử dụng thông tin có hiệu quả Trước đây, các thuật toán về khai phá dữ liệu được phát triển cho những thuộc tính có giá trị đơn, gần đây những kỹ thuật xuất phát từ các

quan hệ giữa các thuộc tính cũng đã được phát triển

- Tính hiểu được của các mô hình: Trong rất nhiều ứng dụng, việc tìm ra được

điều gì dễ hiểu hơn đối với con người là rất quan trọng Có thể biểu diễn bằng đồ thị, ngôn ngữ tự nhiên, và các kỹ thuật cho việc trực quan hóa dữ

liệu và tri thức

- Tương tác người sử dụng và tri thức ưu tiên: Rất nhiều công cụ và phương

pháp KDD hiện tại không thực sự tương tác và không thể dễ dàng với tri thức

ưu tiên của về một vấn đề ngoại trừ cách đơn giản sau: Việc sử dụng miền tri

thức là rất quan trọng trong tất cả các bước của quá trình KDD

- Tương tác với các hệ thống khác: Một hệ thống khai phá đứng một mình có

thể không thực sự hữu ích, thông thường vấn đề tích hợp bao gồm tích hợp với một hệ quản trị cơ sở dữ liệu (ví dụ thông qua truy vấn), tích hợp với bảng tính và các công cụ trực quan …

1.2 Kho dữ liệu

1.2.1 Kho dữ liệu và một số đặc điểm

Kho dữ liệu cho ta những kiến trúc và các công cụ hỗ trợ công việc liên quan đến ra quyết định Rất nhiều các tổ chức đã nhận ra rằng kho dữ liệu là công cụ có giá trị trong thời đại phát triển và đầy cạnh tranh Vậy chính xác kho dữ liệu là gì? Kho dữ liệu được định nghĩa theo rất nhiều cách khác nhau, làm cho nó khó có thể

có được một định nghĩa nghiêm ngặt Theo cách nói thông thường, một kho dữ liệu được xem như một cơ sở dữ liệu được duy trì riêng rẽ khỏi cơ sở dữ liệu tác nghiệp của tổ chức Hệ thống kho dữ liệu cho phép tích hợp các hệ thống ứng dụng khác nhau Chúng hỗ trợ việc xử lý thông tin bằng cách cung cấp một cơ sở vững chắc những dữ liệu liên quan đến quá khứ đã được hợp nhất cho việc phân tích

Trang 13

14 Cấu trúc chính trong khi xây dựng hệ thống kho dữ liệu cần phải thỏa mãn là

“Một kho dữ liệu là một bộ sưu tập dữ liệu có tính chất hướng chủ đề, được tích hợp, khác nhau về thời gian và không hay thay đổi, hỗ trợ cho quá trình quản lý ra

quyết định”[4] Đây là một định nghĩa ngắn, nhưng thể hiện đầy đủ những đặc điểm quan trọng của một kho dữ liệu

Bốn từ khóa [4]: hướng chủ đề, được tích hợp, khác nhau về thời gian và không hay thay đổi dùng để phân biệt kho dữ liệu với những kiểu lưu trữ dữ liệu khác, như

hệ thống cơ sở dữ liệu quan hệ, hệ thống xử lý trực tuyến v v

 Hướng chủ đề: Một kho dữ liệu được tổ chức quanh một số chủ đề quan trọng, như khách hàng, nhà cung cấp, sản phẩm và bán hàng Hơn là tập trung vào những tác nghiệp và quá trình giao dịch hàng ngày của tổ chức Một kho dữ liệu tập trung vào mô hình và phân tích dữ liệu cho việc ra quyết định Bởi vậy, kho dữ liệu thông thường cung cấp một cái nhìn ngắn gọn, đơn giản quanh một chủ để riêng biệt đưa ra bằng cách loại đi những dữ liệu không có ích trong qúa trình hỗ trợ ra quyết định

 Được tích hợp: Một kho dữ liệu thường được xây dựng bằng cách tích hợp từ nhiều nguồn hỗn tạp, như cơ sở dữ liệu quan hệ, tệp dữ liệu, các bản ghi giao dịch trực tuyến Các kỹ thuật làm sạch và tích hợp dữ liệu được áp dụng để đảm bảo tính nhất quán trong các quy ước đặt tên, cấu trúc mã hóa, độ đo thuộc tính vv vv

 Khác nhau về thời gian: Dữ liệu được lưu trữ để cung cấp thông tin từ một bối cảnh mang tính lịch sử (ví dụ đã xảy ra từ 5 đến 10 năm) Tất cả các cấu trúc then chốt trong kho dữ liệu đều mang yếu tố thời gian một cách rõ ràng hoặc không rõ ràng

 Không hay thay đổi: Dữ liệu đã được biến đổi trong kho dữ liệu luôn được lưu trữ một cách độc lập vật lý với những dữ liệu ứng dụng tìm thấy trong môi trường tác nghiệp Chính tại sự phân tách ấy, một kho dữ liệu không đòi hỏi phải xử lý giao dịch, khôi phục và các cơ chế điều khiển tương tranh Nó

Trang 14

15 chỉ thường yêu cầu hai thao tác trong truy nhập dữ liệu đó là: khởi tạo nạp dữ liệu và truy nhập dữ liệu

Như vậy, một kho dữ liệu có thể được xem như là một kiến trúc, được xây dựng bằng việc tích hợp dữ liệu từ nhiều nguồn khác nhau để hỗ trợ các cấu trúc và/hoặc những truy vấn đặc biệt, báo cáo phân tích và ra quyết định

Vậy chúng ta sử dụng thông tin của những kho dữ liệu này như thế nào? Có rất nhiều tổ chức sử dụng những thông tin này để hỗ trợ cho hoạt động ra quyết định kinh doanh bao gồm: tăng sự tập trung vào khách hàng; lưu trữ các sản phẩm, quản

lý danh mục các sản phẩm bằng cách so sánh năng suất bán hàng theo tháng, quý hay năm…; Phân tích hiệu quả và tìm kiếm các nguồn lợi; Quản lý quan hệ với khách hàng, tạo ra môi trường bền vững, quản lý giá trị các tài sản liên doanh… Kho dữ liệu đồng thời cũng rất hữu ích khi xét từ khía cạnh nó được tích hợp từ nhiều nguồn dữ liệu khác nhau Các tổ chức thường tập hợp nhiều loại dữ liệu và duy trì những cơ sở dữ liệu lớn từ các nguồn thông tin phân tán, không thuần nhất

và phức tạp Để tích hợp những dữ liệu này và tạo ra cách truy nhập dữ liệu dễ dàng

và hiệu quả là một điều rất mong muốn và còn là thách thức với chúng ta Đã có nhiều cố gắng của các chuyên gia trong chuyên ngành cơ sở dữ liệu nhằm đạt được mục đích này

1.2.2 Sự khác nhau giữa kho dữ liệu và cơ sở dữ liệu tác nghiệp

Khi chúng ta đã quen thuộc với các hệ quản trị cơ sở dữ liệu thương mại thì rất

dễ dàng để hiểu thế nào là một kho dữ liệu bằng cách so sánh hai hệ thống này với nhau [4]

Nhiệm vụ quan trọng của hệ thống cơ sở dữ liệu hoạt động trực tuyến là để thực

hiện các giao dịch trực tuyến và xử lý truy vấn Những hệ thống này đươc gọi là “hệ thống xử lý giao dịch trực tuyến (OLTP) Chúng bao hàm hầu hết các hoạt động

hàng ngày của một tổ chức như thông tin về đặt hàng, tài chính, tiền lương… Trong khi đó, kho dữ liệu được người sử dụng hay nhân viên tri thức khai thác với vai trò phân tích dữ liệu và ra quyết định Những hệ thống này có thể được tổ chức và biểu diễn dữ liệu ở những định dạng khác nhau với mục tiêu làm cho nó đáp ứng được

Trang 15

- Hướng hệ thống và người sử dụng: Một hệ thống OLTP hướng tới khách

hàng và được dùng vào giao dịch và xử lý truy vấn bởi các nhân viên bán

hàng, khách hàng và các chuyên gia công nghệ thông tin Hệ thống OLAP

hướng tới thị trường, được dùng vào việc phân tích dữ liệu bởi các nhân viên

tri thức, bao gồm cả nhà quản lý, người điều hành và nhà phân tích

- Nội dung dữ liệu: Hệ OLTP quản lý dữ liệu hiện thời, thường thì nó quá chi

tiết để sử dụng cho việc ra quyết định Một hệ thống OLAP quản lý một lượng lớn những dữ liệu trước đây, cung cấp một phương tiện dễ dàng để kết hợp, tổng kết, lưu trữ và quản lý thông tin ở những mức khác nhau Đó chính

là những đặc điểm làm cho dữ liệu dễ dàng được sử dụng vào việc ra quyết

định

- Thiết kế cơ sở dữ liệu : Hệ OLTP thường được thiết kế theo một mô hình

dữ liệu quan hệ thực thể và một thiết kế cơ sở dữ liệu hướng ứng dụng Hệ

OLAP thường theo mô hình hình sao (star) hay bông tuyết (snowflake) và

thiết kế cơ sở dữ liệu hướng chủ đề

- Loại dữ liệu: Một hệ thống OLTP tập trung chủ yếu vào dữ liệu hiện hành

bên trong một xí nghiệp hay một phòng ban, mà không tham chiếu đến dữ liệu trong quá khứ hay dữ liệu của các tổ chức khác Ngược lại, hệ thống OLAP thường được mở rộng bằng nhiều phiên bản của một lược đồ cơ sở dữ liệu nhờ có tiến trình phát triển của tổ chức Hệ thống OLAP đồng thời cũng

xử lý được những thông tin bắt nguồn từ những tổ chức khác, tích hợp thông tin từ nhiều nguồn lưu trữ dữ liệu Bởi vì kích thước rất lớn của nó, dữ liệu

của hệ OLAP thường được lưu trữ trên nhiều phương tiện lưu trữ khác nhau

- Kiểu truy nhập: Kiểu truy nhập của hệ thống OLTP chủ yếu bao gồm

những giao dịch ngắn và nguyên tố (nhỏ nhất, không thể phân chia được

Trang 16

17 nữa), nên nó đòi hỏi cơ chế điều khiển tương tranh và khôi phục Tuy nhiên, truy nhập trong hệ thống OLAP hầu hết là các thao tác chỉ đọc (bởi vì kho dữ liệu lưu trữ những dữ liệu trước đây mà không lưu những thông tin hiện

hành), nhưng có thể có rất nhiều những truy vấn phức tạp

Một số những đặc điểm khác dùng để phân biệt OLTP và OLAP được tổng kết ở bảng sau:

Trang 17

18

viên cơ sở dữ liệu, chuyên gia cơ sở dữ liệu

Nhân viên tri thức (như nhà quản lý, phân tích …)

hỗ trợ quyết định Thiết kế cơ sở dữ liệu Dựa trên mô hình quan hệ

Đơn vị công việc Giao dịch đơn giản, ngắn

gọn

Truy vấn phức tạp

Sự ưu tiên Hiệu năng, tính sẵn sàng cao Tính mềm dẻo cao, người dùng

cuối tự quản

Bảng 1.1 -Sự khác nhau giữu CSDL tác nghiệp và kho dữ liệu

Tại sao lại phải có một kho dữ liệu riêng biệt

Có thể chúng ta sẽ tự hỏi “tại sao không thực hiện việc xử lý phân tích trực tuyến trực tiếp trên cơ sở dữ liệu tác nghiệp, mà lại phải mất thời gian và tài nguyên

để đi xây dựng một kho dữ liệu riêng biệt” Một lý do quan trọng của việc chia tách này là để thúc đẩy hiệu suất cao trên cả hai hệ thống [4] Một cơ sở dữ liệu tác nghiệp được thiết kế và hiệu chỉnh xuất phát từ nhiệm vụ và khối lượng công việc phải hoàn thành, như tổ chức các tệp chỉ số, việc tìm kiếm, tối ưu truy vấn…Mặt khác, những truy vấn của kho dữ liệu thường rất phức tạp Chúng liên quan đến việc tính toán trên những nhóm dữ liệu lớn và có thể yêu cầu phải tổ chức dữ liệu riêng

Trang 18

19 biệt, phương thức truy nhập và thao tác dữ liệu dựa trên cái nhìn nhiều chiều Xử lý truy vấn OLAP trong cơ sở dữ liệu tác nghiệp sẽ làm giảm hiệu suất của các tác nghiệp một cách đáng kể

Hơn nữa, một cơ sở dữ liệu tác nghiệp hỗ trợ xử lý nhiều giao dịch trong cùng một thời điểm, nên phải duy trì các cơ chế điều khiển tương tranh và khôi phục, như

cơ chế khóa (locking) hay ghi tệp…để đảm bảo tính toàn vẹn và bền vững của giao dịch Truy vấn OLAP thường truy cập các bản ghi dữ liệu ở chế độ chỉ đọc (read only) để phục vụ cho việc tổng hợp và kết hợp dữ liệu Cơ chế phục hồi và điều khiển truy nhập đồng thời nếu áp dụng cho các thao tác OLAP sẽ gây nguy hiểm cho những giao dịch đồng thời và do đó làm giảm thông lượng của hệ thống OLPT Cuối cùng việc tách rời kho dữ liệu và cơ sở dữ liệu tác nghiệp dựa trên sự khác nhau về mục tiêu sử dụng dữ liệu, nội dung và cấu trúc của hai hệ thống Hệ hỗ trợ quyết định đòi hỏi dữ liệu mang tính lịch sử, trong khi cơ sở dữ liệu tác nghiệp thông thường không duy trì dữ liệu này Trong bối cảnh đó, dữ liệu trong cơ sở dữ liệu tác nghiệp sẽ không đầy đủ cho quá trình ra quyết định Hỗ trợ ra quyết định yêu cầu dữ liệu phải được hợp nhất (tổng kết và kết hợp) từ nhiều nguồn dữ liệu không thuần nhất, mang lại dữ liệu có chất lượng cao, được tính hợp và làm sạch Ngược lại cơ sở dữ liệu tác nghiệp chỉ lưu chữ dữ liệu dạng thô, và rất chi tiết, nên cần thiết phải hợp nhất trước khi phân tích Từ những lý do này chúng ta thấy hai hệ thống có chức năng hoàn toàn khác nhau nên yêu cầu những loại dữ liệu khác nhau,

nó thể hiện việc cần thiết phải duy trì cơ sở dữ liệu riêng biệt Tuy nhiên nhiều nhà cung cấp các hệ quản trị cơ sở dữ liệu tác nghiệp bắt đầu tập trung vào việc tối ưu

hệ thống này cho các truy vấn OLAP, như Oracle là một ví dụ điển hình, chúng ta

sẽ nghiên cứu những đặc điểm của cơ sở dữ liệu này trong Chương 4

1.2.3 Kiến trúc chung của kho dữ liệu

Trong phần này chúng ta sẽ thảo luận một vài vấn đề có tính khái quát xoay quanh kiến trúc của một kho dữ liệu Từ việc thiết kế, xây dựng và mô hình kiến trúc của kho dữ liệu [4]

Trang 19

20

1.2.3.1 Các bước cho việc thiết kế và xây dựng kho dữ liệu

Để thiết kế một kho dữ liệu hiệu quả, chúng ta phải phân tích, hiểu những nghiệp vụ cần thiết và xây dựng một cơ chế phân tích nghiệp vụ Việc xây dựng một hệ thống thông tin lớn và phức tạp có thể được xem như xây dựng một tòa nhà lớn và phức tạp, trong đó chủ đầu tư, nhà thiết kế và nhà xây dựng đều có cái nhìn khác nhau Chính những điều này kết hợp lại tạo nên một cơ chế phức tạp để biểu diễn cái nhìn từ dưới lên, từ trên xuống hay cái nhìn của nhà triển khai về một hệ thống thông tin

Có bốn cách nhìn cần phải xem xét khi thiết kế một kho dữ liệu [4], đó là:

 Cách nhìn từ trên xuống (top-down) cho phép lựa chọn những thông tin liên quan cần thiết cho kho dữ liệu Những thông tin này phù hợp với nhu cầu công việc hiện tại và tương lai

 Cách nhìn về nguồn dữ liệu cho thấy những thông tin thu được, lưu trữ và quản lý bởi các hệ thống tác nghiệp Những thông tin này có thể được cung cấp ở mức độ chính xác và chi tiết khác nhau, từ những bảng dữ liệu riêng biệt thành những bảng dữ liệu được tích hợp Nguồn dữ liệu thường được mô hình hóa bằng những kỹ thuật mô hình truyền thống, như mô hình quan hệ thực thể hay công cụ CASE

 Cách nhìn từ kho dữ liệu bao gồm các bảng sự thật và các bảng chiều Chúng biểu diễn những thông tin được lưu trữ trong kho dữ liệu, bao gồm các phép tính và việc tính toán trước tổng số, như thông tin về nguồn, về ngày, về thời gian gốc của dữ liệu được thêm vào để cung cấp ngữ cảnh lịch sử

 Cuối cùng, cách nhìn về yêu cầu công việc là hình ảnh của dữ liệu trong kho

dữ liệu dưới cái nhìn của người dùng cuối

Xây dựng và sử dụng kho dữ liệu là một công việc phức tạp bởi vì chúng đòi hỏi phải có kỹ năng nghiêp vụ, kỹ năng công nghệ, kỹ năng quản lý chương trình Về

kỹ năng nghiêp vụ, xây dựng một kho dữ liệu liên quan đến việc phải hiểu hệ thống lưu trữ và quản lý dữ liệu như thế nào, làm thế nào để xây dựng một bộ chắt lọc thông tin từ cơ sở dữ liệu tác nghiệp sang kho dữ liệu, và làm thế nào để có cơ chế

Trang 20

21 làm tươi giữ cho kho dữ liệu luôn được cập nhật với cơ sở dữ liệu tác nghiệp Sử dụng kho dữ liệu liên quan đến việc hiểu những thông tin có ý nghĩa bên trong nó, cũng như hiểu và chuyển đổi những yêu cầu công việc thành những truy vấn mà có thể thỏa mãn được bằng kho dữ liệu Về mặt kỹ năng công nghệ, chúng bao gồm khả năng để phát hiện ra những mẫu hay những khuynh hướng, để suy ra những khuynh hướng dựa vào lịch sử và tìm kiếm những dị thường hay những thay đổi mô hình Cuối cùng, kỹ năng quản lý chương trình liên quan đến việc cần thiết phải đối mặt với nhiều công nghệ, nhiều nhà cung cấp và những người sử dụng cuối để đưa

ra kết quả một cách đúng lúc và hiệu quả

 Quá trình thiết kế kho dữ liệu

Một kho dữ liệu có thể được xây dựng theo cách tiếp cận từ trên xuống, từ dưới lên và kết hợp cả hai cách này Cách tiếp cận từ trên xuống bắt đầu với kế hoạch và thiết kế tổng thể Nó có ích trong trường chúng ta hợp thuần thục về mặt công nghệ cũng như phải giải quyết một cách rõ ràng và có hiểu biết tốt về vấn đề nghiệp vụ Cách tiếp cận từ dưới lên bắt đầu với thử nghiệm và bản mẫu Nó hữu ích trong giai đoạn đầu của mô hình hóa nghiệp vụ và phát triển công nghệ Nó cho phép một tổ chức phát triển với chi phí thấp nhất và để đánh lợi ích mà công nghệ mang lại trước khi đi đến những giao ước quan trọng Cách tiếp cận mà kết hợp cả hai phương pháp trên, một tổ chức có thể khai thác những kế hoạch và chiến lược theo cách tiếp cận từ trên xuống trong khi vẫn duy trì việc triển khai nhanh chóng và cơ hội ứng dụng theo cách tiếp cận từ dưới lên

Xét từ khía cạnh của kỹ nghệ phần mềm, việc thiết kế và xây dựng một kho dữ liệu có thể có nhiều bước như sau: Lập kế hoạch, nghiên cứu các yêu cầu, phân tích vấn đề, thiết kế kho, kiểm thử và kết hợp dữ liệu, và cuối cùng là triển khai kho dữ liệu

1.2.3.2 Kiến trúc ba lớp của kho dữ liệu

Kho dữ liệu thường chấp nhận kiến trúc ba lớp, được trình bày ở hình 1.1[4]:

1 Lớp dưới là kho cơ sở dữ liệu phục vụ, thường là một hệ quản trị cơ sở dữ liệu quan hệ “Dữ liệu được chắt lọc như thế nào từ lớp này để tạo ra kho dữ liệu?” Dữ liệu từ cơ sở dữ liệu tác nghiệp và những nguồn khác được chắt

Trang 21

22 lọc bằng một giao diện ứng dụng được gọi là một cổng (gateway) Các cổng này được hỗ trợ bởi hệ quản trị cơ sở dữ liệu ở bên dưới và cho phép chương trình chạy trên máy khách sinh ra những câu lệnh SQL được thực hiện trên một máy chủ, các cổng đó có thể bao gồm ODBC, OLE-DB, JDBC…

2 Lớp giữa là một máy phục vụ OLAP, khi triển khai thường sử dụng một trong những loại sau: mô hình OLAP quan hệ hay còn gọi là ROLAP, nó là phần mở rộng của hệ quản trị cơ sở dữ liệu quan hệ, dùng để ánh xạ những thao tác trên dữ liệu nhiều chiều thành những thao tác theo chuẩn quan hệ;

Mô hình OLAP nhiều chiều, là một mô hình phục vụ với mục đích riêng biệt, trực tiếp triển khai dữ liệu nhiều chiều và các thao tác trên những dữ liệu đó

3 Lớp trên cùng là các máy khách, bao gồm các truy vấn, công cụ phân tích và báo cáo, và/hoặc các công cụ khai phá dữ liệu

Xét theo cấu trúc, kho dữ liệu được chia thành ba loại cơ bản như sau:

 Kho dữ liệu cấp xí nghiệp: Một kho dữ liệu loại này thu thập toàn bộ thông tin về các lĩnh vực bao chùm lên toàn bộ tổ chức Nó cung cấp dữ liệu được tích hợp trong toàn tổ chức, thường từ một hay nhiều hệ thống tác nghiệp hay các nguồn cung cấp thông tin mở rộng Thông thường, nó gồm nhiều loại dữ liệu chi tiết cũng như dữ liệu thu gọn, và có kích thước trong khoảng từ vài đến hàng trăm gigabytes, terabytes hoặc hơn thế nữa Kiểu kho dữ liệu này hay được triển khai trên những máy tính lớn, các siêu máy chủ UNIX hay trên các nền tảng có kiến trúc song song Loại kho dữ liệu này phù hợp với các tổ chức có mô hình nghiệp vụ rộng lớn

và nó mất đến vài năm để thiết kế và xây dựng

 Data mart: Một data mart là một phần dữ liệu của một tổ chức, nó có giá trị đối với một nhóm người sử dụng cụ thể Phạm vi được hạn chế trong một chủ đề đã được chọn Lấy ví dụ, một data mart về thị trường được giới hạn trong chủ đề của nó về khách hàng, về sản phẩm và bán hàng

Dữ liệu trong data mart có xu hướng được thu gọn

Trang 22

Lớp dưới:

Phục vụ kho dữ liệu Giám sát Quản trị Kho dữ liệu Data mart

Chắt lọc Làm sạch chuyển đổi nạp Làm tươi

Cơ sở dữ liệu tác nghiệp Nguồn dữ liệu mở rộng

Dữ Liệu

Data mart thường được triển khai với chi phí thấp, máy chủ chạy trên nền UNIX hoặc Windows Đơn vị thời gian để triển khai data mart có thể tính bằng tuần Tuy nhiên, sau này rất khó khăn trong việc tích hợp nếu nó không được hoạch định và thiết kế là một kho dữ liệu cấp xí nghiệp Tùy thuộc vào nguồn dữ liệu mà data mart được chia làm hai loại: Phụ thuộc hay độc lập Loại data mart độc lập bắt nguồn từ việc dữ liệu được thu thập từ một hay nhiều hệ tác nghiệp hay các nguồn cung cấp thông tin

ở bên ngoài, hoặc từ dữ liệu được sản ra cục bộ bên trong một đơn vị hay một vùng địa lý cụ thể Loại data mart phụ thuộc bắt nguồn trực tiếp từ kho dữ liệu cấp xí nghiệp

 Kho dữ liệu ảo: Một kho dữ liệu ảo là một tập các view trên cơ sở dữ liệu tác nghiệp Để đạt hiệu quả khi xử lý truy vấn, chỉ một số các view thích hợp mới được sử dụng, Kho dữ liệu ảo được xây dựng dễ dàng nhưng đòi hỏi những máy chủ cơ sở dữ liệu tác nghiệp phải có khả năng vượt trội

Hình 1.1 Kiến trúc của một kho dữ liệu

Một kho dữ liệu cấp xí nghiệp được phát triển theo hướng từ trên xuống như một giải pháp có tính hệ thống và giảm thiểu được vấn đề tích hợp Tuy

Trang 23

24 nhiên, để phát triển phải trả chi phí cao, thời gian dài và thiếu sự mềm dẻo vì khó khăn trong việc đạt được tính toàn vẹn và sự nhất trí cao cho một mô hình dữ liệu chung của toàn bộ tổ chức Sử dụng cách tiếp cận từ dưới lên để thiết kế, xây dựng và triển khai một data mart độc lập sẽ có giá thành thấp, nhanh thu hồi đầu tư Tuy nhiên, sẽ phải đối mặt với vấn đề khi tích hợp các data mart khác nhau thành một kho dữ liệu cấp xí nghiệp nhất quán

Trang 24

Hiện nay có một số kỹ thuật tiền xử lý dữ liệu cơ bản đó là [4]: Làm sạch dữ liệu được dùng để loại bỏ dữ liệu nhiễu và hiệu chỉnh dữ liệu không nhất quán; Tích hợp dữ liệu để trộn dữ liệu ở từ nhiều nguồn khác nhau thành một lưu trữ dữ liệu thống nhất, như kho dữ liệu là một ví dụ; Biến đổi dữ liệu dùng để chuẩn hóa dữ

liệu Lấy ví dụ, chuẩn hóa làm tăng độ chính xác và hiệu quả của thuật toán khai

phá; Thu gọn dữ liệu dùng để làm giảm kích thước dữ liệu bằng cách kết hợp, loại

trừ những đặc điểm dư thừa…Những kỹ thuật xử lý dữ liệu này được đem áp dụng trước quá trình khai phá dữ liệu sẽ làm tăng chất lượng của các mẫu tìm thấy và làm giảm thời gian đòi hỏi khi khai phá dữ liệu thực sự

Dưới đây chúng ta sẽ lần lượt thảo luận kỹ hơn về những kỹ thuật này

Trang 25

1 Bỏ qua bản ghi: Việc này thường được thực hiện khi nhãn lớp bị mất (giả sử nhiệm vụ khai phá dữ liệu là phân lớp) Phương pháp này không thực sự hiệu quả trừ khi một bản ghi chỉ bị mất giá trị ở vài thuộc tính, và thực sự tồi khi tỷ lệ giá trị bị mất trên một thuộc tính lớn

2 Điền các giá trị bị mất bằng tay: Thông thường, cách này tốn rất nhiều thời gian

và có thể không khả thi đối với một tập dữ liệu lớn có nhiều giá trị bị mất

3 Sử dụng một hằng số chung để điền vào giá trị bị mất: Thay thế toàn bộ giá trị bị

mất của thuộc tính bằng cùng một hằng số, ví dụ giống như là “Unknown” hay

“” Nếu giá trị bị mất được thay thế bằng “Unknown” thì chương trình khai

phá có thể sai lầm khi nghĩ rằng những từ đó hình thành nên một khái niệm đáng quan tâm Vì thế, mặc dù phương pháp này đơn giản nhưng nó không được khuyên dùng

4 Sử dụng giá trị trung bình thuộc tính để điền vào những giá trị bị mất: Lấy ví dụ, thu nhập trung bình của khách hàng là 2800 USD, lấy giá trị này thay thế cho

những giá trị bị mất của thuộc tính thu nhập

5 Sử dụng giá trị trung bình thuộc tính của tất cả các mẫu nằm trong cùng một lớp

để điền vào giá trị bị mất

6 Sử dụng giá trị có khả năng nhất để điền vào giá trị bị mất: Cách này có thể được dùng với phương pháp hồi quy, những công cụ dựa vào suy luận sử dụng quy nạp cây quyết định Ví dụ, sử dụng những thuộc tính khác trong tập dữ

Trang 26

27 liệu, ta có thể xây dựng được một cây quyết định để dự đoán giá trị bị mất của

 Binning: Là phương pháp làm mịn dữ liệu đã được sắp xếp bằng cách tham

khảo những giá trị “lân cận” của nó Dữ liệu đã sắp xếp được phân bố vào trong một số “buckets” hoặc “bin” Bởi vì phương pháp binning tham khảo đến những giá trị lân cận, nên nó thực hiện làm mịn cục bộ Ta có thể làm mịn theo giá trị trung bình của bin hoặc theo biên của chúng Trong cách làm mịn theo giá trị trung bình, mỗi giá trị trong bin được thay thế bằng giá trị trung bình của bin đó Trong cách làm mịn bằng biên của bin, giá trị lớn nhất

và nhỏ nhất của một bin được nhận ra và được xem là biên của bin Mỗi giá trị trong bin được thay thế bằng giá trị biên gần với nó nhất

Ví dụ: dữ liệu giá sản phẩm được sắp xếp như sau: 4, 8, 15, 21, 21, 24, 25, 28, 34

và chúng được phân chia vào các bin là:

Trang 27

28

 Phân cụm: Phần tách ngoài có thể được phát hiện bằng phân cụm, những dữ

liệu có giá trị tương tự nhau được tổ chức thành những nhóm hay những

“cụm” Bằng trực giác, những giá trị rơi bên ngoài tập các cụm có thể được

xem là phần tách ngoài

 Kết hợp máy tính và kiểm duyệt của con người: Phần tách ngoài có thể

được nhận ra bằng cách kết hợp máy tính và kiểm duyệt của con người Ví

dụ, trong một ứng dụng phân lớp cơ sở dữ liệu các ký tự viết bằng tay, để nhận dạng mẫu nằm ngoài người ta sử dụng lý thuyết độ đo thông tin Kết quả của việc làm đó đem lại những nhãn ký tự có nội dung khác biệt so với nhãn ký tự đã biết Những ký tự này được xem là mẫu nằm ngoài, chúng có thể có thông tin (tức là đã nhận dạng được những dữ liệu ngoại lệ có ích, ví như phiên bản khác của ký tự) hoặc vô nghĩa (tức là ký tự không có nhãn) Những mẫu này được đưa ra một danh sách, một người có thể sắp xếp những mẫu trong danh sách này để xác định những mẫu thực sự vô nghĩa Làm theo cách này nhanh hơn là phải tìm kiếm bằng tay trên toàn bộ cơ sở dữ liệu Những mẫu vô nghĩa có thể sau đó được loại trừ khỏi những công đoạn tiếp

theo của khai phá dữ liệu

 Hồi quy: Dữ liệu có thể làm mịn bằng việc đặt dữ liệu vào một hàm,ví như

hồi quy Hồi quy tuyến tính liên quan đến tìm ra đường phù hợp nhất với hai biến, vì thế một biến có thể được sử dụng để dự đoán biến kia Hồi quy đa tuyến tính là một mở rộng của hồi quy tuyến tính, với nhiều hơn hai biến liên quan, và dữ liệu phù hợp với mặt đa chiều Sử dụng hồi quy để tìm ra một

công thức toán học nhằm phù hợp dữ liệu để giúp loại bỏ nhiễu

Nhiều phương pháp làm mịn dữ liệu đồng thời cũng là phương pháp thu gọn dữ liệu bao gồm rời rạc hóa Lấy ví dụ, kỹ thuật binning miêu tả ở trên làm giảm số lượng các giá trị phân biệt của thuộc tính, điều đó làm giảm dữ liệu cho phương pháp khai phá dữ liệu dựa vào logic như phương pháp quy nạp cây quyết định

Trang 28

29

2.2.3 Dữ liệu không nhất quán

Có rất nhiều dữ liệu không nhất quán được thu nhận trong các giao dịch Một trong số dữ liệu ấy có thể được hiệu chỉnh thủ công cho phù hợp bằng cách tham khảo dữ liệu từ bên ngoài Ví dụ, lỗi xảy ra khi nhập liệu có thể được hiểu chỉnh bằng xem lại giấy tờ, việc này có thể kết hợp với một đoạn chương trình được thiết

kế để giúp hiệu chỉnh dữ liệu không nhất quán sử dụng mã Những công cụ kỹ nghệ tri thức cũng có thể được sử dụng để phát hiện những vi phạm ràng buộc trên những

dữ liệu đã biết Ví dụ, biết một phụ thuộc hàm giữa các thuộc tính có thể được sử dụng để tìm ra giá trị trái ngược với hàm ràng buộc đó

Một lý do khác khiến dữ liệu không nhất quán là do tích hợp dữ liệu, một thuộc tính đã cho có thể không trùng tên trong một cơ sở dữ liệu khác Dư thừa có thể xảy

ra, việc tích hợp dữ liệu và loại bỏ dư thừa sẽ được đề cập ở phần sau

2.3 Tích hợp và chuyển đổi dữ liệu

Khai phá dữ liệu thường yêu cầu tích hợp, hợp nhất dữ liệu từ nhiều nguồn lưu trữ khác nhau Dữ liệu cũng thường yêu cầu phải được chuyển đổi thành những dạng thích hợp cho việc khai phá, phần sau đây sẽ miêu tả cả hai phương pháp tích hợp và chuyển đổi dữ liệu [4]

2.3.1 Tích hợp dữ liệu

Việc phân tích dữ liệu của chúng ta sẽ phù hợp hơn khi bao gồm cả tích hợp

dữ liệu, nó kết hợp dữ liệu từ nhiều nguồn thành một lưu trữ dữ liệu liên kết, như trong kho dữ liệu Những nguồn này có thể bao gồm nhiều cơ sở dữ liệu, khối dữ liệu hay tệp dữ liệu

Có một số vấn đề cần phải cân nhắc trong quá trình tích hợp dữ liệu Tích hợp lược đồ có thể bị kéo theo Làm thế nào có thể phù hợp các thực thể từ nhiều nguồn

dữ liệu khác nhau trong thực tế? cái đó được xem như là vấn đề nhận diện thực thể Lấy ví dụ, có thể phân tích dữ hoặc tính toán như thế nào để bảo đảm rằng customer_id trong một cơ sở dữ liệu và cust_number trong một cơ sở dữ liệu khác tham chiếu đến cùng một thực thể? Cơ sở dữ liệu và kho dữ liệu thông thường có

Trang 29

30 siêu dữ liệu, đó là dữ liệu về dữ liệu Vì thế, siêu dữ liệu có thể được sử dụng để tránh gặp lỗi khi tích hợp lược đồ

Dư thừa cũng là một vấn đề quan trọng được đặt ra Một thuộc tính có thể bị

dư thừa nếu nó có thể “lấy được” từ những bảng khác Việc không nhất quán trong cách đặt tên các thuộc tính cũng có thể là nguyên nhân gây nên dư thừa trong tập dữ liệu kết quả

Một số dư thừa có thể được phát hiện bằng phân tích tương quan Sự tương quan giữa hai thuộc tính A và B có thể được tính bằng:

dư thừa Nếu kết quả của công thức bằng 0, thì A và B là độc lập với nhau, không

có sự tương quan giữa hai thuộc tính Giá trị của kết quả mà nhỏ hơn 0, thì A và B

là tương quan phủ định, khi đó giá trị của một thuộc tính tăng lên thì giá trị của thuộc tính kia giảm xuống, có nghĩa là thuộc tính này hạn chế thuộc tính kia Công

thức (2.1) có thể phát hiện ra sự tương quan giữa hai thuộc tính customer_id và cust_number được mô tả ở trên

Thêm vào việc phát hiện dư thừa giữa các thuộc tính, vấn đề bản sao cũng có thể được phát hiện ở mức bản ghi (tức là khi có hai hay nhiều bản ghi giống hệt nhau cho một ca dữ liệu duy nhất)

Vấn đề quan trọng thứ ba trong việc tích hợp dữ liệu là phát hiện và giải quyết những xung đột giá trị dữ liệu Giá trị của một thuộc tính trong cùng một thực thể từ nhiều nguồn khác nhau thì có thể khác nhau, chúng có thể làm cho việc biểu diễn,

co dãn và mã hóa dữ liệu khác nhau Ví dụ, một thuộc tính về chiều cao trong một

hệ thống được lưu với đơn vị là mét, trong khi ở Anh người ta sử dụng đơn vị đo

Trang 30

31 lường khác, hay thuộc tính giá của các khách sạn có thể không khác nhau về đơn vị tiền tệ nhưng lại khác nhau về dịch vụ (như có miễn phí ăn sáng hay không) và thuế Chính sự hỗn tạp về ngữ nghĩa của dữ liệu là một thách thức lớn trong quá trình tích hợp dữ liệu

Tích hợp dữ liệu một cách cẩn thận từ nhiều nguồn khác nhau có thể giúp ta giảm và tránh được dữ liệu dư thừa và không nhất quán trong tập dữ liệu kết quả Điều đó góp phần cải thiện độ chính xác, cũng như tốc độ của những tiến trình khai phá về sau

2.3.2 Chuyển đổi dữ liệu

Trong bước chuyển đổi dữ liệu, dữ liệu được chuyển đổi hay hợp nhất thành những dạng thích hợp cho việc khai phá Chuyển đổi dữ liệu có thể bao gồm những bước sau [4]:

 Làm mịn, đó là công việc loại bỏ nhiễu khỏi dữ liệu, như những kỹ thuật binning, phân cụm và hồi quy

 Sự kết hợp, đó là biện pháp tóm lược hay kết hợp những thao tác được áp dụng với dữ liệu Lấy ví dụ, dữ liệu bán hàng hàng ngày có thể được kết hợp lại để tính tổng lượng hàng tháng hay hàng năm

 Tổng quát hóa dữ liệu, đó là biện pháp thay thế những dữ liệu mức thấp bằng những dữ liệu mức cao hơn thông qua việc sử dụng mức khái niệm Lấy ví

dụ thuộc tính “phố” có thể được tổng quát hóa lên mức khái niệm cao hơn là

“thành phố” hay “quốc gia” Hay thuộc tính “tuổi” có thể ánh xạ vào mức khái niệm cao hơn đó là “trẻ”, “trung niên”, hay “già”

 Chuẩn hóa, các thuộc tính được co dãn giá trị sao cho rơi vào các khoảng nhỏ, cụ thể như –1 đến 1 hay từ 0 đến 1 Chuẩn hóa đặc biệt có ích cho các thuật toán phân lớp Nếu sử dụng thuật toán mạng neural lan truyền ngược cho khai phá phân lớp thì chuẩn hóa giá trị đầu vào cho mỗi thuộc tính làm tăng tốc độ của quá trình học Nếu sử dụng phương pháp đo khoảng cách,

Trang 31

32 chuẩn hóa làm hạn chế các thuộc tính có khoảng giá trị khởi tạo lớn khỏi những thuộc tính có ảnh hưởng tốt hơn với khoảng giá trị khởi tạo nhỏ hơn

Có một số kỹ thuật chuẩn hóa như: chuẩn hóa cực đại-cực tiểu; chuẩn hóa trung bình không (zero-min normalization), chuẩn hóa bằng tỷ lệ thập phân…Chú ý rằng, chuẩn hóa làm thay đổi dữ liệu gốc, chúng ta phải lưu giữ các tham số trong quá trình chuẩn hóa để những dữ liệu về sau cũng được chuẩn hóa theo cách giống nhau

 Xây dựng thuộc tính (hay xây dựng đặc tính), các thuộc tính mới được xây dựng và thêm vào từ một tập các thuộc tính đã cho để giúp cho quá trình khai phá thuận lợi hơn Những thuộc tính này làm cải tiến độ chính xác và sự hiểu biết về cấu trúc trong dữ liệu nhiều chiều Ví dụ, chúng ta muốn thêm thuộc tính “diện tích” dựa vào hai thuộc tính “rộng” và “dài” Xây dựng thuộc tính

có thể làm giảm bớt đi vấn đề phân mảnh khi sử dụng thuật toán cây quyết định cho phân lớp Bằng cách kết hợp các thuộc tính, xây dựng thuộc tính mới có thể tìm ra những thông tin bị mất do dựa vào quan hệ giữa các thuộc tính, điều này rất có ích trong quá trình khai phá tri thức

2.4 Thu gọn dữ liệu

Trong thực tế chúng ta phải khai phá trên những tập dữ liệu cực lớn và rất phức tạp, do đó mất rất nhiều thời gian và làm cho việc phân tích là phi thực tế hoặc bất khả thi Do đó thu gọn dữ liệu trước khi phân tích là một việc làm cần thiết

Các kỹ thuật thu gọn dữ liệu được áp dụng để thu được một biểu diễn dữ liệu

ở dạng gọn hơn, nhưng vẫn đảm bảo toàn tính toàn vẹn của dữ liệu gốc Nhờ đó, khi khai phá trên tập dữ liệu thu gọn này sẽ hiệu quả hơn mà vẫn thu được kết quả phân tích tương đương (hoặc gần tương đương)

Chiến lược để thu gọn dữ liệu bao gồm những bước sau [4]:

2.4.1 Kết hợp khối dữ liệu

Thao tác kết hợp dữ liệu được áp dụng khi xây dựng một khối dữ liệu Lấy ví

dụ, chúng ta có dữ liệu bán hàng theo từng quý của mỗi năm, tuy nhiên chúng ta lại

Trang 32

33

Năm 2005 Quý Q1 Q2 Q3 Q4

1274

1430 1566

quan tâm đến dữ liệu bán hàng của từng năm Khi đó chúng ta phải kết hợp dữ liệu

từ các quý trong năm lại để có được kết quả bán hàng của cả năm, đó là sự kết hợp (hình 2.1) Khối dữ liệu là một hình thức lưu trữ thông tin kết hợp đa chiều Trong

đó, mỗi ô chứa một giá trị dữ liệu kết hợp, phù hợp với dữ liệu trong không gian đa chiều (hình 2.2) Mức khái niệm có thể tồn tại cho mỗi thuộc tính, cho phép chúng

ta phân tích dữ liệu ở nhiều mức trừu tượng khác nhau Khối được tạo ở mức trừu tượng thấp nhất được xem như là khối cơ bản, khối được tạo ra ở mức trừu tượng cao nhất được gọi là khối đỉnh Khối dữ liệu cho phép truy cập nhanh đến việc tính toán trước, tóm tắt dữ liệu, do đó mang lại lợi ích cho việc phân tích trực tuyến cũng như khai phá dữ liệu

Hình 2.1 Dữ liệu bán hàng được kết hợp

Trang 33

Điện thoại

A B

C

Chi nhánh

Hình 2.2 Một ví dụ về khối dữ liệu bán hàng 2.4.2 Thu gọn các chiều

Các thuộc tính hay chiều không liên quan, ít liên quan, hay dư thừa phải được phát hiện và loại bỏ Các tập dữ liệu mà ta phân tích có thể có hàng trăm thuộc tính và trong số những thuộc tính đó có những thuộc tính không liên quan đến nhiệm vụ khai phá hay dư thừa Lấy ví dụ, nếu công việc của chúng ta là phân lớp khách hàng có khả năng mua hay không mua những đĩa nhạc mới xuất bản khi cho biết mức lương, khi đó những thuộc tính như số điện thoại của khách hàng là gần như không liên quan, không giống như những thuộc tính độ tuổi hay sở thích âm nhạc Do đó, cách tốt nhất là để các chuyên gia lĩnh vực chọn ra một số thuộc tính

có ích, công việc này rất khó khăn và tiêu tốn nhiều thời gian, đặc biệt khi không có hiểu biết sâu sắc về dữ liệu

“Làm thế nào để có thể tìm thấy một tập con các thuộc tính đủ tốt từ tập

thuộc tính ban đầu” Cho d thuộc tính thì có 2d khả năng chọn ra các tập con Việc tìm kiếm thấu đáo cho một tập con các thuộc tính tối ưu có thể không đạt được, đặc biệt khi số lượng các thuộc tính và lớp tăng lên Vì vậy, những phương pháp theo kinh nghiệm, khảo sát một không gian tìm kiếm thu gọn thường được sử dụng để lựa chọn tập con các thuộc tính Những phương pháp này thường sử dụng kỹ thuật tham lam Trong đó, khi tìm kiếm trên không gian các thuộc tính, chúng luôn tìm lựa chọn tốt nhất tại thời điểm đó Chiến lược này tạo ra những lựa chọn tối ưu cục

bộ, với hy vọng sẽ dẫn đến giải pháp tối ưu tổng thể Phương pháp tham lam rất hiệu quả trong thực nghiệm và có thể đạt được giải pháp gần tối ưu

Trang 34

35 Việc lựa chọn tập con các thuộc tính dựa vào kinh nghiệm thường có những

kỹ thuật dưới đây và được minh họa ở hình 2.3:

 Lựa chọn tiến (Stepwise forward selection): Công việc bắt đầu bằng tập các thuộc tính rỗng Thuộc tính tốt nhất trong số các thuộc tính được xác định và thêm vào tập này Tại mỗi bước lặp sau, thuộc tính tốt nhất trong số các thuộc tính còn lại được lựa chọn và thêm vào tập

 Loại trừ dần (Stepwise backward elimination): Công việc bắt đầu với đầy đủ các thuộc tính Tại mỗi bước loại bỏ đi thuộc tính tồi nhất còn lại trong tập

 Kết hợp lựa chọn tiến và loại trừ dần: Tại mỗi bước sẽ thực hiện việc lựa chọn thuộc tính tốt nhất và loại bỏ đi thuộc tính tồi nhất trong tập các thuộc tính còn lại

Điều kiện dừng của ba kỹ thuật này là khác nhau Có thể phải dùng một ngưỡng chặn trên để xác định khi nào tiến trình lựa chọn các thuộc tính dừng lại

Liên quan đến cây quyết định, những thuật toán cây quyết định như ID3 hay C4.5, ban đầu có ý định dùng cho phân lớp Tuy nhiên, sau này chúng còn được sử dụng cho việc lựa chọn các thuộc tính tốt nhất cho quá trình phân tích Một cây được xây dựng từ một tập dữ liệu cho trước, khi đó tất cả những thuộc tính không xuất hiện trên cây được cho là không liên quan Các thuộc tính xuất hiện trên cây hình thành nên một tập thuộc tính nhỏ hơn tập thuộc tính ban đầu

Nếu nhiệm vụ khai phá là phân lớp, và bản thân thuật toán đã tự xác định được các thuộc tính có liên quan và loại bỏ những thuộc tính dư thừa thì được gọi là cách tiếp cận bao trùm, và ngược lại gọi là cách tiếp cận chọn lọc Thông thường, cách tiếp cận bao trùm dẫn đến độ chính xác cao hơn, bởi vì nó tối ưu được các độ

đo của thuật toán trong quá trình loại bỏ các thuộc tính Tuy nhiên nó đòi hỏi nhiều tính toán hơn là cách tiếp cận chọn lọc

Tập thuộc tính khởi tạo:

{A1, A2, A3, A4, A5, A6}

Tập thuộc tính khởi tạo:

{A1, A2, A3, A4, A5, A6}

Tập thuộc tính khởi tạo: {A1, A2, A3, A4, A5, A6}

A4?

A6? A1?

Class 1 Class 2 Class1 Class2

Trang 35

 {A1, A3, A4, A5, A6}

{A1, A4, A5, A6}

 Tập thuộc tính đã thu gọn:{A1,A4, A6}

Tập thuộc tính đã thu gọn: {A1,A4, A6}

Hình 2.3 phương pháp tham lam dùng để lựa chọn thuộc tính 2.4.3 Nén dữ liệu

Các cơ chế mã hay biến đổi được sử dụng để giảm kích thước của dữ liệu gốc Nếu dữ liệu gốc có thể được xây dựng lại từ dữ liệu nén mà không mất thông tin thì kỹ thuật nén dữ liệu đó được gọi là nén không mất thông tin Ngược lại nếu

dữ liệu được dựng lại chỉ xấp xỉ dữ liệu gốc thì kỹ thuật nén được gọi là nén mất thông tin Có một số thuật toán nén không mất thông tin tốt, hay được dùng đó là biến đổi wavelet (wavelet transforms) và phân tích thành phần chính (principal components analisis)

2.4.4 Giảm bớt số lượng

Dữ liệu được thay thế hay ước lượng bằng một biểu diễn dữ liệu gọn hơn, ví

dụ như các mô hình tham số (Chỉ cần lưu trữ mô hình tham số thay thế cho dữ liệu thực sự), hay mô hình phi tham số, ví dụ như phân cụm, lấy mẫu, và sử dụng biểu

đồ

 Rời rạc hóa và tổng quát hóa mức khái niệm: Giá trị dữ liệu thô của các thuộc tính được thay thế bằng khoảng hay mức khái niệm cao hơn Mức khái niệm cho phép khai phá dữ liệu ở nhiều mức trừu tượng khác nhau và là một công cụ mạnh của khai phá dữ liệu, chúng ta sẽ thảo luận thêm vấn đề này ở phần dưới đây

Qua tính toán cho thấy, thời gian quá trình khai phá tiết kiệm được do khai phá trên tập dữ liệu đã thu gọn sẽ lớn hơn rất nhiều thời gian dùng vào việc thu gọn dữ liệu

Trang 36

37

2.5 Rời rạc hóa và tổng quát hóa bậc khái niệm

Kỹ thuật rời rạc hóa được áp dụng khi tiền xử lý dữ liệu, và dùng để giảm số lượng giá trị của một thuộc tính liên tục, bằng cách chia các vùng dữ liệu vào trong các khoảng Các khoảng này được gán nhãn và được sử dụng để thay thế giá trị của

dữ liệu thực tế Làm giảm số lượng giá trị cho một thuộc tính, đặc biệt có lợi nếu sử dụng phương pháp khai phá phân lớp dựa vào cây quyết định Phương pháp này thông thường dùng đệ quy, trong mỗi bước phần lớn thời gian dùng vào việc sắp xếp dữ liệu Vì thế số lượng các giá trị phân biệt cần phải sắp xếp càng nhỏ thì phương pháp này càng hiệu quả Nhiều kỹ thuật rời rạc hóa có thể được áp dụng đệ quy để cung cấp một thứ bậc các giá trị thuộc tính được biết đến như một bậc khái niệm Bậc khái niệm rất thích hợp cho khai phá ở nhiều mức trừu tượng khác nhau [4]

Một bậc khái niệm cho một thuộc tính kiểu số được xác định là một thuộc tính rời rạc Bậc khái niệm có thể được sử dụng để giảm dữ liệu bằng cách tập hợp và thay thế những khái niệm mức thấp (ví dụ như giá trị số cho thuộc tính tuổi) với một khái niệm mức cao hơn (ví dụ như già, trung niên và trẻ) Mặc dù dữ liệu chi tiết bị mất giống như tổng quát hóa dữ liệu, nhưng tổng quát hóa dữ liệu có ý nghĩa,

dễ hiểu và đòi hỏi không gian nhỏ hơn dữ liệu gốc Khai phá trên một tập dữ liệu rút gọn sẽ ít yêu cầu các thao tác vào ra nên hiệu quả hơn khi khai phá trên một tập dữ liệu lớn, chưa được tổng quát hóa

Việc định nghĩa những bậc khái niệm có thể là một công việc buồn tẻ, mất nhiều thời gian đối với người sử dụng cũng như những chuyên gia lĩnh vực May thay, có nhiều bậc khái niệm tiềm ẩn trong lược đồ cơ sở dữ liệu và có thể được định nghĩa ở mức lược đồ Bậc khái niệm thường được sinh ra một cách tự động hay được điều chỉnh động dựa trên việc phân tích thống kê phân bố dữ liệu

2.5.1 Tổng quát hóa và rời rạc hóa bậc khái niệm cho dữ liệu kiểu số

Thật là khó khăn và nặng nhọc để chỉ rõ bậc khái niệm cho những thuộc tính số

vì tính đa dạng của miền dữ liệu có được và sự cập nhật giá trị dự liệu một cách thường xuyên

Trang 37

Kỹ thuật binning đã được trình bày trong mục 2.2.2, rời rạc hóa entropy-based

sẽ được trình bày trong phần quy nạp cây quyết định Dưới đây sẽ là những kỹ thuật còn lại

 Phân tích biểu đồ

Phân tích biểu đồ không chỉ dùng để thu gọn dữ liệu mà cũng còn được dùng cho rời rạc hóa dữ liệu Hình 2.4 trình bày một biểu đồ thể hiện sự phân bố dữ liệu của thuộc tính giá trong một tập dữ liệu đã cho Lấy ví dụ, giá hầu hết rơi vào khoảng $300-$325 Những quy tắc phân chia có thể được sử dụng để định nghĩa

những khoảng giá trị Lấy ví dụ, trong biểu đồ dạng equiwidth thì các giá trị của các

cột được chia vào những khoảng đều nhau (tức là ($0…100], ($100…200], … (900…1000])

Hình 2.4 biểu đồ thể hiện sự phân bố giá trị của thuộc tính giá

Với một biểu đồ dạng equidepth, các giá trị cũng được phân chia như vậy, lý

tưởng nhất là mỗi một phân đoạn có các mẫu (bản ghi) dữ liệu bằng nhau hoặc gần bằng nhau Các thuật toán phân tích biểu đồ có thể được áp dụng đệ quy cho mỗi phân đoạn để phát sinh tự động một bậc khái niệm đa cấp, quá trình đệ quy kết thúc khi một số các mức khái niệm định trước được thỏa mãn Một kích thước khoảng

Trang 38

39 tối thiểu cũng có thể được sử dụng cho mỗi mức để điều khiển thủ tục đệ quy, nó chỉ rõ độ rộng tối thiểu của một phân đoạn hoặc số lượng tối thiểu của những giá trị cho mỗi phân đoạn tại mỗi mức

 Phân tích cụm

Thuật toán phân cụm có thể được áp dụng để phân chia dữ liệu vào các cụm hay các nhóm Mỗi một cụm hình thành một nút của một bậc khái niệm, trong bậc khái niệm đó tất cả các nút có cùng một mức khái niệm Mỗi một cụm có thể được phân thành vài cụm con, điều này hình thành nên một bậc khái niệm có mức thấp hơn Các cụm cũng có thể được nhóm lại với nhau để tạo ra một mức khái niệm có bậc cao hơn

 Phân đoạn bằng chia cắt tự nhiên

Mặc dù các phương pháp binning, phân tích biểu đồ, phân tích cụm rất có ích trong việc tổng quát hóa các bậc khái niệm kiểu số, nhưng một số người sử dụng vẫn muốn thấy các khoảng giá trị số được chia thành các khoảng tương đối đều nhau, để dễ dàng đọc các khoảng và trông có vẻ “tự nhiên” hơn Lấy ví dụ, lương hàng năm rơi vào khoảng ($50.000, $60.000) thường dễ nhìn hơn là ($51.234.124,

$60.758.475) Để phân đoạn theo kiểu này có thể sử dụng quy tắc có tên gọi là

3-4-5

Quy tắc 3-4-5 được sử dụng để phân đoạn dữ liệu kiểu số thành những khoảng tương đối đều nhau Thông thường, quy tắc này sẽ chia khoảng dữ liệu đã cho thành 3,4 hay 5 khoảng giá trị tương đối, thực hiện đệ quy tại mỗi mức dựa vào giá trị khoảng tại số quan trọng nhất Quy tắc đó như sau:

- Nếu khoảng có 3, 6, 7 hoặc 9 giá trị phân biệt tại những số quan trọng nhất (most significant digit - msd) thì chia thành 3 khoảng

- Nếu khoảng có 2, 4 hoặc 8 giá trị phân biệt tại những số quan trọng nhất thì chia thành 4 khoảng giá trị

- Nếu khoảng có 1, 5 hoặc 10 giá trị phân biệt tại những số quan trọng nhất thì chia thành 5 khoảng giá trị

Trang 39

40 Quy tắc này có thể áp dụng đệ quy đối với từng khoảng đã chia, tạo ra thứ bậc khái niệm cho một thuộc tính kiểu số

2.5.2 Tổng quát hóa mức khái niệm cho dữ liệu kiểu xác định

Dữ liệu xác định là dữ liệu rời rạc, thuộc tính có kiểu dữ liệu xác định có số lượng giá trị phân biệt có hạn (nhưng có khả năng nhiều), và không có thứ tự giữa các giá trị Ví dụ như vị trí địa lý, nghề nghiệp hay loại sản phẩm… Có một vài phương pháp cho việc tổng quát hóa mức khái niệm cho loại dữ liệu này

- Chuyên gia hay người sử dụng chỉ rõ một phần thứ tự của các thuộc tính ở mức lược đồ: Thứ bậc khái niệm cho các thuộc tính kiểu xác định thông thường liên quan đến một nhóm các thuộc tính Chuyên gia hay người sử dụng có thể dễ dàng định nghĩa một thứ bậc khái niệm bằng cách chỉ ra một phần hay toàn bộ thứ tự của các thuộc tính ở mức lược đồ Ví dụ, một cơ sở

dữ liệu quan hệ có thể có một bảng gồm một nhóm các thuộc tính sau đây:

“phố”, “thành phố”, “tỉnh”, “quốc gia”, khi đó thứ bậc khái niệm có thể

định nghĩa bằng việc chỉ ra toàn bộ thứ tự giữa các thuộc tính này ở mức

lược đồ, như phố < thành phố < tỉnh < quốc gia

- Chỉ rõ một phần của thứ bậc bằng cách nhóm dữ liệu: Bản chất của nó là định nghĩa bằng tay một phần của thứ bậc khái niệm Quả là phi thực tế khi định nghĩa toàn bộ mức khái niệm bằng các liệt kê tất cả giá trị của thuộc tính trong một cơ sở dữ liệu lớn Tuy nhiên, điều đó có thể thực hiện được khi định ra một nhóm cho một phần nhỏ dữ liệu ở mức trung gian Ví dụ, sau

khi chỉ ra rằng tỉnh và quốc gia hình thành một thứ bậc khái niệm ở mức lược đồ, có thể thêm dữ liệu vào bằng tay ở mức trung gian, ví dụ “{Hà Nội, Quảng Ninh} Miền Bắc Việt Nam” và “{Miền Bắc Việt Nam, Miền Trung Việt Nam} nước Việt Nam”

- Chỉ ra một tập các thuộc tính mà không chỉ ra thứ tự bộ phận của chúng: Hệ thống sau đó sẽ tự động sinh ra thứ tự của các thuộc tính để xây dựng một thứ bậc khái niệm có nghĩa Vậy làm sao có thể xây dựng được thứ bậc khái niệm có nghĩa mà không biết về ngữ nghĩa của dữ liệu Trong thực tế, các

Trang 40

41 khái niệm mức cao thường bao trùm vài khái niệm phụ thuộc mức thấp hơn Một thuộc tính được định nghĩa là khái niệm mức cao thường có số giá trị phân biệt nhỏ hơn thuộc tính được định nghĩa ở thứ bậc khái niệm thấp hơn Dựa vào quan sát này, một thứ bậc khái niệm có thể có thể được sinh ra dựa vào số giá trị phân biệt trên mỗi thuộc tính trong một tập thuộc tính cụ thể Thuộc tính với nhiều giá trị phân biệt nhất được đặt ở mức thấp nhất, thuộc tính với ít giá trị phân biệt hơn sẽ được đặt ở mức cao hơn và thuộc tính ít giá trị phân biệt nhất sẽ được đặt ở mức cao nhất của thứ bậc khái niệm Quy giá tắc dựa vào kinh nghiệm này hoạt động tốt trong nhiều trường hợp Nếu cần thiết thì người sử dụng hay các chuyên gia có thể hoán chuyển hay điều chỉnh cục bộ sau khi kiểm tra thứ bậc khái niệm đã được sinh ra

Cũng phải chú ý rằng, quy tắc này không thể giải quyết được mọi vấn đề bởi

vì trong thực tế có nhiều trường hợp không theo kinh nghiệm này, ví dụ: Thời gian trong một cơ sở dữ liệu có 20 năm khác nhau, có 12 tháng khác nhau, và 7 ngày trong tuần khác nhau Tuy nhiên, chúng không gợi cho chúng ta xây dựng một thứ

bậc khái niệm về thời gian theo dạng “năm < tháng < ngày_trong_tuần” với thuộc tính ngày_trong_tuần ở mức cao nhất

Tóm lại, tiền xử lý dữ liệu là một vấn đề quan trọng cho cả kho dữ liệu và khai phá dữ liệu, vì dữ liệu trong thực tế thường không đầy đủ, nhiễu và không nhất quán Tiền xử lý dữ liệu bao gồm một số kỹ thuật như làm sạch, tích hợp, biến đổi

và thu gọn dữ liệu Làm sạch dữ liệu là một công đoạn được sử dụng để giải quyết vấn đề mất dữ liệu, giảm nhiễu dữ liệu, nhận diện các dữ liệu không liên quan và hiệu chỉnh nhưng dữ liệu không nhất quán; Tích hợp dữ liệu là kết hợp dữ liệu từ nhiều nguồn khác nhau, tạo nên một lưu trữ dữ liệu chặt chẽ Các bước phân tích tương quan, phát hiện mâu thuẫn, và cách giải quyết vấn đề hỗn tạp về ngữ nghĩa góp phần làm mịn dữ liệu trong bước tích hợp dữ liệu này; Biến đổi dữ liệu là một công đoạn chuyển đổi dữ liệu thành những dạng thích hợp cho khai phá; Kỹ thuật thu gọn dữ liệu như kết khối dữ liệu, giảm số chiều, nén dữ liệu, rời rạc hóa dữ liệu

có thể được sử dụng để mang lại biểu diễn dữ liệu ở thể gọn hơn, nhưng phải đảm bảo tối thiểu hóa việc mất nội dung thông tin; Tự động sinh ra thứ bậc khái niệm

Ngày đăng: 25/03/2015, 09:50

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w