BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI MÔN HỌC
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Tên đề tài:
Giảng viên hướng dẫn : PGS.TS. Đỗ Phúc
Sinh viên thực hiện : Nguyễn Hữu Thành (CH1101136)
: Trần Thị Kiều Diễm (CH1101074)
Lớp : CH-CNTT K6
TP. HCM, Tháng 11-2012
LỜI NÓI ĐẦU
Ngày nay với sự bùng nổ của ngành công nghệ thông tin, chúng ta đang đứng
trước một thực trạng là thừa dữ liệu nhưng thiếu thông tin, do đó vấn đề đặt ra là
làm thế nào để chọn lọc hay hệ thống lại những thông tin hữu ích từ nguồn thông
tin khổng lồ đó. Quá trình chọn lọc ra dữ liệu hữu ích này người ta gọi đó là quá
trình khái thác dữ liệu – Data Mining, đây là một quá trình khám phá tri thức tiềm
ẩn trong các Cơ sở dữ liệu, là tiến trình khái quát các sự kiện rời rạc trong dữ liệu
thành các tri thức mang tính khái quát, tính quy luật hỗ trợ cho các tiến trình ra
quyết định. Hiện các nhà nghiên cứu đã phát triển các phương pháp, kỹ thuật và
phần mềm hỗ trợ tiến trình khai thác dữ liệu, một trong những kỹ thuật đó là phân
lớp dữ liệu để tìm ra những đặc trưng của tập dữ liệu đã được xếp lớp.
Trong phạm vi của bài thu hoạch này chúng em xin trình bày kỹ thuật phân
lớp dữ liệu theo hướng tiếp cận tập thô, nội dung trình bày cụ thể các khái niệm và
thuật toán liên quan và minh họa với bài toán tìm hàm phân biệt từ hệ thông tin thô
ban đầu.
Để hoàn thành bài thu hoạch em xin gửi lời cảm ơn đến thầy Đỗ Phúc đã
nhiệt tình giảng dạy giúp em có được kiến thức nền tảng về Data Mining, với vốn
kiến thức còn hạn hẹp nên nội dung trình bày chắc chắn cần được bổ sung, góp ý,
chúng em mong nhận được nhận xét từ Thầy để chúng em có thêm những kiến thức
hữu ích hơn.
MỤC LỤC
Phụ luc A. Một số bảng dữ liệu trong bài thu hoạch
Bảng 1.2a Trang 7
Bảng 1.2b Trang 8
Bảng 1.2c Trang 9
Bảng 1.2d Trang 9
Bảng 1.3 Trang 10
Bảng 2.2a Trang 13
Bảng 2.2b Trang 13
Bảng 2.3 Trang 14
Bảng 2.4 Trang 21
Phụ luc B. Một số giao diện trong chương trình
Giao diện Nhập dữ liệu: dùng dữ liệu mẫu có sẵn hoặc nhập trực tiếp các thuộc tính
Giao diện nhập thông tin cho các thuộc tính
Tiếp tục nhập các giá trị cho thuộc tính điều kiện và thuộc tính quyết định
Kiểm tra lại giá trị Input
Tiếp tục nhập bảng quyết định
Xuất ma trận phân biệt và hàm phân biệt
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
PHẦN 1. KHAI THÁC DỮ LIỆU
1.1. Định nghĩa khai thác dữ liệu
- Khai thác dữ liệu (hay data mining) là tiến trình khám phá tri thức tiềm ẩn
trong các cơ sở dữ liệu, cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức bị che
giấu trong một khối dữ liệu khổng lồ.
- Khai thác dữ liệu là tiến trình khái quát các sự kiện rời rạc trong kho dữ liệu
thành các tri thức mang tính khái quát, tính quy luật hỗ trợ tích cực cho các tiến trình ra
quyết định.
- Mục đích của việc khai phá dữ liệu không phải phát hiện mọi tri thức mà là phát
hiện những tri thức cần thiết phục vụ cho một nhiệm vụ đã đề ra. Ví dụ từ cơ sở dữ liệu về
các bệnh nhân bị tiểu đường người ta tìm được những đặc điểm mà có thể kết luận bệnh
nhân đó có bị tiểu đường hay không.
1.2. Các công đoạn khám phá tri thức từ cơ sở dữ liệu
1.2.1. Chuẩn bị dữ liệu
- Xác định các cơ sỡ dữ liệu đã có sẵn phục vụ cho quá trình khai phá tri thức.
1.2.2. Chọn lọc dữ liệu
- Không phải tất cả các dữ liệu đã có đều quan trọng nên chúng ta phải chọn
ra những dữ liệu thật cần thiết cho quá trình khai phá dữ liệu.
- Ví dụ: Cho cơ sở dữ liệu học sinh ban đầu như sau:
Bảng 1.2a
HỌCSINH DIEM HOCPHAN MONHOC
MaHS
HoTen
DiaChi
SDT
MaHS
MaHP
MaMH
Diem
MaHP
MaMH
TenHP
MaMH
TenMH
Ta tiến hành chọn ra những dữ liệu cần thiết cho tiến trình khai phá dữ liệu,
kết quả ta được bảng dữ liệu sau:
===============================Trang7/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
Bảng 1.2b
HOCSINH
MaHS
MaHP
MaMH
Diem
HoTen
DiaChi
1.2.3. Giai đoạn làm sạch dữ liệu
- Hầu hết các cơ sở dữ liệu đều ít nhiều không có tính nhất quán về dữ liệu
chẳng hạn như cùng một đối tượng A nhưng có hai số nhà khác nhau.
- Làm sạch dữ liệu là quá trình loại bỏ những dữ liệu trùng lắp và những dữ
liệu sai.
- Quá trình này trên thực tế có thể được thực hiện nhiều lần vì trong quá trình
khám phá tri thức mới thấy được sự bất hợp lí trong dữ liệu, có thể quá trình này xảy ra
trong giai đoạn mã hóa hay giai đoạn tìm kiếm.
a) Chống trùng lặp: thao tác này diễn ra khi có thông tin bị trùng do sai sót
trong quá trình nhập liệu hay quá trình cập nhật không kịp thời, chúng ta phải xóa bỏ
những dữ liệu bị trùng lắp đó.
b) Giới hạn vùng giá trị: đối với những giá trị không nằm trong vùng giá trị
đã được định nghĩa thì ta phải dùng giá trị NULL để thay thế, chẳng hạn giới tính được
quy ước thuộc vùng giá trị {Nam, Nữ} nhưng trong CSDL có đối tượng lưu giá trị 0 thì
giá trị này không hợp lí, khi xủ lí dữ liệu này ta phải lưu là Null.
c) Giai đoạn làm giàu dữ liệu: là quá trình thêm những thông tin cần thiết từ
cơ sở dữ liệu liên quan đến cơ sở dữ liệu gốc ban đầu nhằm làm tăng khả năng khám phá
===============================Trang8/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
tri thức từ cơ sở dữ liệu. Tuy nhiên vấn đề đặt ra là làm thế nào để kết hợp thông tin và
khả năng khôi phục dữ liệu gốc sau khi đã làm giàu thông tin.
d) Ví dụ đối với cơ sở dữ liệu học sinh ở trên (bảng 2) ta có thể thêm thông
tin là hạnh kiểm học sinh, khả năng vượt khó, đây cũng là những yếu tố ảnh hưởng tới kết
quả học tập của học sinh.
1.2.4. Giai đoạn mã hóa dữ liệu
- Mã hóa dữ liệu là quá trình chuyển đổi kiểu dữ liệu về những dạng thích hợp
cho việc tiến hành các thuật toán khám phá dữ liệu. Có nhiều cách mã hóa dữ liệu khác
nhau theo từng loại dữ liệu:
o Phân vùng: với dữ liệu là các chuỗi, nằm trong tập các chuỗi cố định.
o Biến đổi giá trị năm thành con số nguyên là số năm đã trôi qua so với số
năm hiện hành
o Chia giá trị số theo một hệ số để được tập giá trị nhỏ hơn
o Chuyển đổi Yes/No thành 0/1
Ví dụ cơ sở dữ liệu ban đầu như sau:
Bảng 1.2c
MaNV HoTen GioiTinh NgaySinh Luong
001
002
003
004
005
Nguyễn Thị An
Trần Thanh Bình
Nguyễn Ngọc Như
Trần Thung
Mai Thành Sơn
Nữ
Nam
Nữ
Nam
Nam
12/8/1985
4/6/1981
4/7/1975
6/9/1984
12/11/1968
3500000
3900000
4200000
3500000
5100000
Ta mã hóa thành bảng dữ liệu mới:
Bảng 1.2d
MaNV HoTen GioiTinh NgaySinh Luong
001
002
003
004
Nguyễn Thị An
Trần Thanh Bình
Nguyễn Ngọc Như
Trần Thung
1
0
1
0
27
31
37
28
3.5
3.9
4.2
3.5
===============================Trang9/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
005 Mai Thành Sơn 0 44 5.1
1.2.5. Khai thác dữ liệu
-Khai thác dữ liệu là để rút ra các mẫu, các mô hình dữ liệu
bằng các phương pháp đã được lựa chọn.
1.2.6. Trình diễn dữ liệu
-Là quá trình giải thích và hiển thị kết quả của quá trình khai thác dữ liệu để hỗ
trợ cho việc định giá chất lượng dữ liệu, đánh giá mô hình dữ liệu được lựa chọn có phù
hợp không đồng thời thể hiện mô hình.
1.3. Các kỹ thuật khai thác dữ liệu
1.3.1. Khai thác tập phổ biến và luật kết hợp
-Là tìm ra những mối quan hệ giữa các thuộc tính hoàn toàn
độc lập với nhau trong cơ sở dữ liệu. Một luật kết hợp X -> Y phản ánh
sự xuất hiện của tập X dẫn đến sự xuất hiện đồng thời tập Y, chẳng hạn
từ tập cơ sở dữ liệu ban đầu như sau
Bảng 1.3
Các
trường
hợp
Mặt biển dao
động
Nhiều bọt
biển nổi lên
Nước rút Kết quả
1 Trung bình Có Rất nhanh Có sóng lớn
2 Nhiều Không Rất nhanh Không có sóng lớn
3 Nhiều Có Nhanh Có sóng lớn
4 Trung bình Có Trung bình Không có sóng lớn
5 Nhiều Có Trung bình Có sóng lớn
6 Nhiều Có Rất nhanh Có sóng lớn
7 Nhiều Không Trung bình Không có sóng lớn
8 Trung bình Không Rất nhanh Không có sóng lớn
9 Trung bình Không Trung bình Không có sóng lớn
Ta tìm được các luật:
1) (Không có nhiều bọt biển nổi lên) Không có sóng lớn
===============================Trang10/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
2) (Có nhiều bọt biển nổi lên) và (mặt biển dao động nhiều) có sóng lớn
3) (Có nhiều bọt biển nổi lên) và (mặt biển dao động trung bình) và (nước rút
rất nhanh) có sóng lớn
4) (Có nhiều bọt biển nổi lên) và (mặt biển dao động trung bình) và (nước rút
trung bình) không có sóng lớn
Nhờ luật kết hợp các nhà kinh doanh có thể đưa ra chiến lược kinh doanh hợp lí như bố trí
mặt hang trong các siêu thị, tiếp thị hang phù hợp với đối tượng
1.3.2. Khai thác mẫu tuần tự
-Là tiến trình khám phá các mẫu tuần tự phổ biến phản ánh mối quan hệ giữa
các biến cố trong các cơ sở dữ liệu hướng thời gian. Một luật mô tả X-> Y phản ánh sự
xuất hiện biến cố X sẽ xuất hiện kế tiếp biến cố Y nhờ đó có thể dự đoán xu thế phát triển
hành vi của đối tượng. Ví dụ: có 70% khách hàng mua dầu gội cho em bé, mua sữa tắm
thì sau đó sẽ mua bột dinh dưỡng cho em bé.
1.3.3. Phân lớp dữ liệu
-Là tiến trình khám phá các luật phân loại hay đặc trưng cho các tập dữ liệu đã
được xếp lớp, luật phân lớp sẽ được sử dụng để xây dựng các bộ phân lớp dữ liệu nhờ đó
có thể dự báo các khuynh hướng, quy luật phát triển, ví dụ luật phân lớp như sau: nếu
khách hàng ở khu vực 1 và có doanh số năm trước > 200 triệu và có cửa hàng ở khu thị tứ
thì thuộc loại khách hàng có thể giao hàng trước trả tiền sau.
1.3.4. Khai thác cụm:
-Là tiến trình nhận diện các cụm tiềm ẩn trong tập các đối tượng chưa được xếp
lớp dựa trên mức độ tương tự giữa các đối tượng, các đối tượng trong một cụm có mức độ
tương tự là cực đại và mức độ tượng tự giữa các đối tượng khác cụm là cực tiểu.
===============================Trang11/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
PHẦN 2. LÍ THUYẾT TẬP THÔ
2.1 Giới thiệu tập thô
- Lý thuyết tập thô (rough set theory) được phát triển bởi ZPawlak vào đầu thập
niên 80 và được xem như một công cụ hiệu quả trong khai thác dữ liệu từ các thông tin
không chắc chắn, nó giúp tìm kiếm thông tin, hỗ trợ ra quyết định, máy học, các hệ cơ sở
tri thức. Lý thuyết tập thô nhanh chóng được ứng dụng trong phân tích dữ liệu y khoa, xử
lí ảnh, nhận dạng,
- Lý th`uyết tập thô còn được ứng dụng rộng rãi bởi ưu điểm của nó là xử lí được
ngay cả những CSDL chưa được hoàn thiện ví dụ như giá trị không xác định hoặc bị lỗi.
Một ưu điểm nữa là hướng tiếp cận xác suất Bayes là không cần giả định về sự độc lập
của các thuộc tính cũng như không cần bất kỳ kiến thức nền nào về dữ liệu.
2.2 Các hệ thông tin
2.2.1 Khái niệm hệ thông tin
- Trong hầu hết các hệ quản trị cơ sở dữ liệu thông thường thì
thông tin thường được biểu diễn dưới dạng các bảng, trong dó mỗi hàng
biểu diễn thông tin về một đối tượng, mỗi cột biểu diễn thông tin về
một thuộc tính của đối tượng. Từ đầu những năm 80 Pawlak đã định
nghĩa một khái niệm mới là hệ thông tin (infomation system) như sau:
o Hệ thông tin là một cặp A = (U,A)
Trong đó:
U : là một tập hữu hạn khác rỗng các đối tượng được gọi là
tập vũ trụ
A : là một tập hữu hạn khác rỗng các thuộc tính a: U → V
a
với mọi a ∈ A. Tập V
a
được gọi là tập giá trị của thuộc tính
a.
Ví dụ: Hệ thông tin với 7 đối tượng và 2 thuộc tính. Vậy
U={X1, X2, X3, X4, X5, X6, X7}.
A={Age, Lems}.
===============================Trang12/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
Bảng 2.2a
Age Lems
X1 16-30 50
X2 16-30 0
X3 31-45 1-25
X4 31-45 1-25
X5 46-60 26-49
X6 16-30 26-49
X7 46-60 26-49
Ta nhận thấy từng cặp {x1,x2}; {x3,x4}; {x5,x7} không thể
phân biệt được với nhau qua thuộc tính Age, ta gọi chúng bất khả phân
biệt với thuộc tính Age.
o Với một hệ thông tin bất kỳ A = (U,A) và một tập không rỗng
các thuộc tính B⊆A định nghĩa một hàm thông tin B như sau:
InfB = {(a, a(x)): a∈ B} với mọi x ∈ A.
Trường hợp đặc biệt B=A, khi đó tập {InfA(x): x ∈ A} được gọi là tập
thông tin A, viết tắt là INF(A).
2.2.2 Khái niệm về hệ quyết định.
- Hệ quyết định là một hệ thông tin có dạng A = (U, A∪{d})
Trong đó: d ∉A là thuộc tính phân biệt, được gọi là thuộc tính
quyết định, các thành phần của A được gọi là các thuộc tính điều kiện.
Bảng 2.2b
Age Lems Walk
X1 16-30 50 Yes
X2 16-30 0 No
X3 31-45 1-25 No
X4 31-45 1-25 Yes
X5 46-60 26-49 No
X6 16-30 26-49 Yes
===============================Trang13/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
X7 46-60 26-49 No
Ta thấy cặp {x3,x4} có cùng thuộc tính Age và Lems nhưng khác
thuộc tính quyết định, còn cặp thuộc tính {x5, x7} có cùng thuộc tính giá trị và cả thuộc
tính quyết định. Như vậy nếu chỉ dùng thuộc tính giá trị để xác định thì đối với trường hợp
cặp{x3,x4} sẽ không chính xác.
2.3 Quan hệ bất khả phân biệt
- Một hệ quyết định thể hiện tri thức về các đối tượng tuy nhiên hệ dữ liệu này có
khả năng có kích thước lớn không cần thiết vì có thể chứa những thông tin trùng lắp hoặc
bất khả phân biệt hoặc là có những thuộc tính thừa.
- Nhắc lại định nghĩa quan hệ tương đương: Một quan hệ hai ngôi (quan hệ
nhị phân) R ⊆ U×U trên U là một quan hệ tương đương khi nó có cả 3
tính chất:
o Phản xạ: Mọi đối tượng đều quan hệ với chính nó.
o Đối xứng: Nếu xRy thì yRx.
o Bắc cầu: Nếu xRy và yRz thì xRz.
- Định nghĩa một quan hệ tương đương trên hệ thông tin
Cho một hệ thông tin S = (U;A), với tập thuộc tính B⊆A có quan
hệ tương đương tương ứng IND
S
(B) = {(u,v) ∈ U
2
|∀a ∈ B: a(u) =
a(v)}
IND
s
(B) được gọi là quan hệ bất khả phân biệt theo B, nếu (u,v)
∈IND
S
(B) thì u và v là không thể phân biệt nhau, các lớp tương đương
của quan hệ bất khả phân biệt theo B được kí hiệu là [x]
B
.Ví dụ cho hệ
thông tin sau với E là thuộc tính quyết định:
Bảng 2.3
Ta có các phân hoạch U như sau:
===============================Trang14/31==============================
a b c d E
u1 1 0 2 1 1
u2 1 0 2 0 1
u3 1 2 0 0 2
u4 1 2 2 1 0
u5 2 1 0 0 2
u6 2 1 1 0 2
u7 2 1 2 1 1
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
IND({a}) = {{u1;u2;u3;u4};{u5;u6;u7}}
IND({b}) = {{u1;u2};{u3;u4};{u5;u6;u7}}
IND({c}) = {{u1;u2;u4;u7};{u3;u5};{u6}}
IND({d}) = {{u1;u4;u7};{u2;u3;u5;u6}}
IND({a,b}) = {{u1;u2};{u3;u4};{u5;u6;u7}}
IND({a,c}) = {{u1;u2;u4};{u3};{u5};{u6};{u7}}
IND({a,d}) = {{u1;u4};{u2;u3};{u5;u6};{u7}}
IND({b,c}) = {{u1;u2};{u3};{u4};{u5};{u6};{u7}}
IND({b,d}) = {{u1};{u2};{u3};{u4};{u5;u6};{u7}}
IND({c,d}) = {{u1;u4;u7};{u2};{u3;u5};{u6}}
IND({a,b,c}) = {{u1;u2};{u3};{u4};{u5};{u6};{u7}}
IND({a,b,d}) = {{u1};{u2};{u3};{u4};{u5;u6};{u7}}
IND({a,b,c,d}) = {{u1};{u2};{u3};{u4};{u5};{u6};{u7}}
2.4 Xấp xỉ tập hợp
- Theo định nghĩa quan hệ tương đương ở trên thì mỗi một quan hệ
tương đương cho ra một phân hoạch tập phổ quát U, các lớp tương
đương này có thể được dùng để tạo ra các tập con, trong đó tập con
thường được quan tâm là tập con có cùng thuộc tính quyết định. Tuy
nhiên không thể đưa ra những khái niệm rõ ràng mà chỉ có thể đưa ra
được những đối tượng nào chắc chắn có giá trị dương cho thuộc tính
quyết định, những đối tượng nào không chắc chắn có giá trị dương cho
thuộc tính quyết định và những đối tượng thuộc vào vùng biên giữa các
đối tượng chắc chắn và không chắc chắn có giá trị dương cho thuộc tính
quyết định, nếu vùng biên này khác rỗng thì tập đang xét là tập thô.
Biễu diễn một cách hình thức các khái niệm trên như sau:
===============================Trang15/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
o Cho hệ thông tin IS =(U,A) là một hệ thông tin và B ⊆ A và X
⊆ U, thì các tập xấp xỉ của X theo thông tin có từ B được tính bằng cách
xây dựng các xấp xỉ B-dưới (B-lower) và B-trên (B-Upper), kí hiệu BX và
Trong đó: BX = {x∈U:[x]
B
∈X}
= {x∈U:[x]
B
∩X≠ ∅}
o Tập BN
B
(X) = - BX được gọi là vùng B-biên của tập X chứa
các đối tượng mà ta không thể phân lớp chắc chắn vào X theo B
o Tập U - được gọi là vùng B-ngoài của X và chứa các đối
tượng phân lớp chắc chắn là không thuộc về tập X
o Nếu tập BN
B
(X) ≠ ∅ thì tập hợp đó được gọi là tập thô ngược lại gọi là
tập rõ.
Ví dụ theo bảng dữ liệu (bảng 2.3) giả sử
X={u| E(u)=1}={u1,u2,u7}
B ={a,b,c,d}
Lớp tương đương theo B gồm {u1};{u2};{u3};{u4};{u5};
{u6};{u7}
Thì các vùng xấp xỉ như sau:
BX = {u1,u2,u7}
= {u1,u2,u7}
BN
B
(X) = - BX = ∅ nên lớp quyết định 1 là rõ
Theo bảng dữ liệu (2.2b) giả sử
X={x| Walk(x)=Yes}={x1,x4,x6}
B ={Age, Lems}
===============================Trang16/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
Lớp tương đương theo B gồm {x1};{x2};{x6};{x5,x7};
{x3,x4}
Thì các vùng xấp xỉ như sau:
BX = {x1,x6}
= {x1,x6,x3,x4}
BN
B
(X) = - BX = {x3,x4} nên lớp quyết định Walk là thô
Minh họa vùng xấp xỉ như sau
- Các tính chất của sự xấp xỉ:
(1) BX ⊆ X ⊆ ,
(2) B (∅) = B (∅) = ∅, B (U) = B (U) = U,
(3) B (X ∪Y) = B (X) ∪ B (Y),
(4) B ( X ∩Y) = B (X) ∩B (Y),
(5) Nếu X ⊆Y thì B (X) ⊆ B (Y) và B (X) ⊆ B (Y),
(6) B ( X ∪ Y) ⊇ B (X) ∪ B (Y),
(7) B (X ∩Y) ⊆ B (X) ∩ B (Y),
(8) B (-X) = - B (X),
(9) B (-X) = - B (X),
===============================Trang17/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
(10) B ( B (X)) = B ( B (X)) = B (X),
(11) B ( B (X)) = B ( B (X)) = B (X).
Ký hiệu –X biểu thị thay cho U-X.
- Bốn loại tập thô cơ bản:
o X là xác định thô thực sự theo B nếu BX ≠ ∅ và BX ≠ U.
o X là không xác định bên trong theo B nếu BX = ∅ và BX ≠ U.
o X là không xác đinh bên ngoài theo B nếu BX ≠ ∅và BX = U.
o X là không xác định thực sự theo B nếu BX = ∅ và BX = U.
- Độ đo liên quan biên xấp xỉ:
Tập thô được đặc trưng hóa hoá bởi hệ số sau:
Trong đó:
α
B
(X ) : gọi là độ đo liên quan xấp xỉ của X.
|X| : là lực lượng của X≠ ∅
Ta có thể thấy 0≤α
B
(X ) ≤1. Nếu α
B
(X ) =1 thì X đúng hoàn
toàn đối với tập
thuộc tính B, ngược lại thì α
B
(X ) <1 thì X là thô đối với B.
- Thuật toán xác định xấp xỉ dưới
o Input :
Tập các đối tượng X
Tập các thuộc tính B
o Output:
Các đối tượng thuộc BX
o Thuật toán:
===============================Trang18/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
Bước 1:
Khởi tạo BX = ∅;
Xác định các lớp tương đương theo tập các thuộc tính B;
Bước 2:
U1=U
Nếu U1=∅ thì thực hiện bước 3 ngược lại thực hiện bước 5
Bước 3:
Xét x ∈U1
Tìm phân hoạch P
i
∈ P sao cho: x ∈P
i
Nếu P
i
⊆ X thì BX = BX ∪P
i
U
1
=U
1
\P
i
Bước 4:
Thực hiện bước 2
Bước 5:
Kết thúc.
- Thuật toán xác định xấp xỉ trên
o Input :
Tập các đối tượng X
Tập các thuộc tính B
o Output:
Các đối tượng thuộc BX
o Thuật toán:
Bước 1:
===============================Trang19/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
Khởi tạo BX = ∅;
Xác định các lớp tương đương theo tập các thuộc tính B;
Bước 2:
U1=U
Nếu U1=∅ thì thực hiện bước 3 ngược lại thực hiện bước 5
Bước 3:
Xét x ∈U1
Tìm phân hoạch P
i
∈ P sao cho: x ∈P
i
BX = BX ∪P
i
Với mọi p∈ P
i
∩U
1
U
1
=U
1
\{p}
Kết thúc với mọi
Bước 4:
Thực hiện bước 2
Bước 5:
Kết thúc.
2.5 Rút gọn
- Việc xác định được các lớp tương đương là đã rút gọn dữ liệu vì
chỉ cần một phần tử của lớp tương đương là đủ để biểu diễn toàn bộ lớp
đó, tuy nhiên việc rút gọn còn có thể thực hiện theo hướng khác là loại
bỏ các thuộc tính dư thừa mà vẫn đảm bảo tính bảo toàn quan hệ bất
khả phân biệt. Nếu tập thuộc tính là tối tiểu thì ta gọi đó là các rút gọn
(reduct).
2.5.1 Định nghĩa rút gọn
===============================Trang20/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
- Một rút gọn của một hệ thông tin IS là một tập tối tiểu của các
thuộc tính B⊆A sao cho IND
S
(B)=IND
S
(A).
2.5.2 Ma trận phân biệt
- Với S là một hệ thông tin với n đối tượng, ma trận phân biệt
(discernibility matrix) của S là một ma trận đối xứng n×n với các giá trị
c
ij
được định nghĩa như sau:
c
ij
= {a∈A | a(x
i
)≠a(x
j
)} với i,j =1, ,n
Mỗi dòng bao gồm tập giá trị các thuộc tính khác nhau với các
đối tượng x
i
và x
j
.
2.5.3 Thuật toán tìm ma trận phân biệt
B1. Khởi tạo tập S = rỗng;
B2. Lặp i từ 1-> số đối tượng(đặt là m) -1
Lặp k từ 1 -> số đối tượng - i
Nếu giá trị thuộc tính quyết định của đối tượng U
i
≠ U
i+k
Lặp j từ 1-> số thuộc tính (đặt n)
Nếu U
ij
≠ U
i+k j
thì X
i+k i
= S ∪ {tên thuộc tính thứ j};
Cuối nếu
Cuối lặp
Cuối nếu
Xuất X
i+k i
;
Cuối lặp
Cuối lặp.
- Ví dụ: cho hệ thông tin S như bảng 2.2b
Giả sử thuộc tính Age và Lems đã được mã hóa tương ứng là
a,b, vậy ma trận phân biệt của S là
Bảng 2.4
X1 X2 X3 X4 X5 X6 X7
X1
===============================Trang21/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
X2
b
X3
a,b
α
X4
α
a,b
α
X5
a,b
α α
a,b
X6
α
b a,b
α
a
X7
a,b
α α
a,b
α
a
===============================Trang22/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
2.5.4 Hàm phân biệt
- Hàm phân biệt (discernibility function) f
S
của hệ thông tin S là
một hàm Bool của m biến bool a
*
1; ;
a
*
m
(ứng với thuộc tính a
1
; ;a
m
) và
được định nghĩa như sau:
f
IS
(a
*
1; ;
a
*
m
) =
^
{vc
*
ij
/1≤j≤i≤n,c
ij
≠ ∅}
trong đó c
*
ij
={a
*
| a∈c
ij
}.
- Tập các đơn thức của f
IS
xác định tập các rút gọn của IS.
- Ví dụ từ ma trận phân biệt ở bảng 2.4 ta được hàm phân biệt
của hệ thông tin từ bảng 5.1 như sau:
f
IS
(a,b) = b(avb)(avb)(avb)(avb)b(avb)a(avb)(avb)a
= a(avb)b(avb)
=ab
Với ab là viết tắt của a
^
b.
Vậy với hệ thông tin trên thì tập thuộc tính tối tiểu để xác định việc phân lớp đối
tượng là {a;b}.
- Hàm phân biệt tương ứng là tương đối với giá trị quyết định và được trình bày
một cách hình thức sau:
Cho IS = (U, A∪{d}), lực lượng của ảnh d(U) = {k | d(x) = k; x∈U} được gọi là
hạng của d, kí hiệu là r(d), giả sử thêm rằng tập V
d
của các giá trị của thuộc tính quyết
định d là {v
’
d
,…, v
d
r(d)
}.
Ví dụ với hệ thông tin IS ở bảng 2.2b, giả sử thuộc tính Walk là thuộc tính quyết
định được mã hóa là d thì r(d)=2 với tập {Yes,No}.
- Thuộc tính quyết định d xác định một phân hoạch CLASS
s
(d) ={x
1,…,
x
r(d)
} của tập
phổ quát U, trong đó X
k
= {x∈U| d(x) = v
d
k
} for 1 ≤ kr ≤ (d). CLASS
s
(d) được gọi là sự
phân lớp các đối tượng trong IS theo thuộc tính quyết định d, tập X
i
được gọi là lớp quyết
định thứ i.
Ví dụ với hệ thông tin IS ở bảng 2.2b, phân hoạch của tập phổ quát của bảng
Walk là U=X
yes
∪X
No
với X
yes
={X
1,
X
4,
X
6
} và X
No
={X
2,
X
3,
X
5,
X
7
}.
===============================Trang23/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
- Tập BX
1
∪…∪BX
r(d)
được gọi là vùng B-dương (B-positive region) và kí hiệu là
POS
B
(d).
Ví dụ với hệ thông tin IS đang xét ở bảng 2.2b nếu
B={Age, Lems} thì
BX
Yes
={x
1
,x
6
} và BX
No
={x
2
,x
5,
x
7
}
BX
Yes
∪BX
No
= {x
1
,x
2,
x
5,
x
6
,x
7
}≠U
- Gọi S= (U,A∪{d}) là một bảng quyết định nhất quán và gọi M(S) = (c
ij
) là ma
trận phân biệt của bảng này, ta xây dựng ma trận mới M
d
(A) = (c
ij
d
) với (c
ij
d
) = ∅ nếu
d(x
i
) = d(x
j
) và ngược lại (c
ij
d
) = c
ij
– {d}.
- Ma trận M
d
(IS) được gọi là ma trận phân biệt quyết định tương đối của hệ thông
tin S, việc xây dựng hàm phân biệt quyết định tương đối từ ma trận trên dựa vào việc xây
dựng hàm phân biệt từ ma trận quyết định.
2.6 Phụ thuộc thuộc tính
- Một tập thuộc tính D phụ thuộc hoàn toàn vào một tập thuộc tính C (kí hiệu
C=>D) nếu tất cả giá trị thuộc tính trong D được xác định duy nhất bởi các giá trị của C.
- Cho C và D là các tập thuộc tính con của A, ta nói rằng D phụ thuộc vào C ở
mức k (0≤k≤1), kí hiệu C=>
k
D,
nếu
trong đó
được gọi là vùng dương của phép phân hoạch U theo tập thuộc tính D.
Với C là tập mọi thành phần của U có thể được phân lớp theo phép phân
hoạch U/D. Hiển nhiên:
===============================Trang24/31==============================
Khai phá dữ liệu và kho dữ liệu GVHD: PGS.TS Đỗ Phúc
Nếu k = 1 ta nói rằng D phụ thuộc hoàn toàn vào C và nếu k<1, ta
nói rằng D phụ thuộc một phần (theo mức độ k) vào C bằng tập thuộc
tính C và k được gọi là mức độ phụ thuộc.
Ví dụ với hệ thông tin IS đang xét ở bảng 2.2b nếu
B={Age, Lems} thì
BX
Yes
={x
1
,x
6
} và BX
No
={x
2
,x
5,
x
7
}
BX
Yes
∪BX
No
= {x
1
,x
2,
x
5,
x
6
,x
7
}
|POS
B
(Walk)|=5, |U|=7 => k=5/7 < 1
Ta nói thuộc tính Walk không phụ thuộc hoàn toàn vào B={Age,Lems}
===============================Trang25/31==============================