1
Data Warehouse and Business Intelligence 1
Chương 5-P2:
Khai phá dữ liệu trong kinh doanh
Data Warehouse and Business Intelligence 2
Nội dung
1. Giới thiệu chung về khai phá dữ liệu
2. Khai phá luật kết hợp và ứng dụng
3. Phân lớp dữ liệu và ứng dụng
4. Phân cụm dữ liệu và ứng dụng
5. Khai phá dữ liệu chuỗi thời gian
6. Một số ứng dụng khác
Data Warehouse and Business Intelligence 3
1. Giới thiệu chung về khai phá dữ liệu
1.1 Khái niệm về khai phá dữ liệu
1.2 Quá trình khám phá tri thức
1.3 Khai phá dữ liệu trong kinh doanh thông minh
1.4 Quá trình khám phá tri thức
1.5 Các lĩnh vực có ảnh hưởng đến khai phá dữ liệu
2
Data Warehouse and Business Intelligence 4
1.1. Khái niệm về khai phá dữ liệu
Khai phá dữ liệu
một quá trình trích xuất tri thức từ lượng lớn dữ liệu
• “extracting or mining knowledge from large amounts of data”
• “knowledge mining from data”
một quá trình không dễ trích xuất thông tin ẩn, hữu ích, chưa được biết
trước từ dữ liệu
• “the nontrivial extraction of implicit, previously unknown, and
potentially useful information from data”
Các thuật ngữ thường được dùng tương đương: knowledge
discovery/mining in data/databases (KDD), knowledge
extraction, data/pattern analysis, data archeology, data
dredging, information harvesting, business intelligence
Học có giám sát và không có giám sát
Data Warehouse and Business Intelligence 5
1.2. Quá trình khám phá tri thức
Data
Cleaning
Data Integration
Data Sources
Data Warehouse
Task-relevant Data
Selection/Transformation
Data Mining
Pattern Evaluation/
Presentation
Patterns
Data Warehouse and Business Intelligence 6
1.3 Khai phá dữ liệu trong kinh doanh thông minh
Increasing potential
to support
business decisions
End User
Business
Analyst
Data
Analyst
DBA
Decision
Making
Data Presentation
Visualization Techniques
Data Mining
Information Discovery
Data Exploration
Statistical Summary, Querying, and Reporting
Data Preprocessing/Integration, Data Warehouses
Data Sources
Paper, Files, Web documents, Scientific experiments, Database Systems
3
Data Warehouse and Business Intelligence 7
1.4 Quá trình khám phá tri thức
Input Data
Data
Mining
Data Pre-
Processing
Post-
Processing
• This is a view from typical machine learning and statistics
communities
Data integration
Normalization
Feature selection
Dimension reduction
Pattern discovery
Association & correlation
Classification
Clustering
Outlier analysis
… … … …
Pattern evaluation
Pattern selection
Pattern interpretation
Pattern visualization
Data Warehouse and Business Intelligence 8
1.5 Các lĩnh vực có ảnh hưởng đến khai phá dữ liệu
Data Mining
Machine
Learning
Statistics
Applications
Algorithm
Pattern
Recognition
High-Performance
Computing
Visualization
Database
Technology
Data Warehouse and Business Intelligence 9
2. Khai phá luật kết hợp và ứng dụng
Các khái niệm cơ sở
Mẫu phổ biến và khai phá luật
4
Data Warehouse and Business Intelligence 11
2.1 Khái niệm cơ sở: Tập phổ biến và luật kết hợp
Cơ sở dữ liệu giao dịch (transaction database)
• Giao dịch: danh sách các mặt hàng (mục: item) trong một phiếu mua hàng của khách
hàng. Giao dịch T là một tập mục.
• Tập toàn bộ các mục I = {i
1
, i
2
, …, i
k
} “tất cả các mặt hàng”. Một giao dịch T là một
tập con của I: T ⊆ I. Mỗi giao dịch T có một định danh là T
ID
.
• A là một tập mục A ⊆ I và T là một giao dịch: Gọi T chứa A nếu A ⊆ T.
Luật kết hợp
• Gọi A → B là một “luật kết hợp” nếu A ⊆ I, B ⊆ I và A∩B=∅.
• Luật kết hợp A → B có độ hỗ trợ (support) s trong CSDL giao dịch D nếu trong D có
s% các giao dịch T chứa AB: chính là xác suất P(AB). Tập mục A có P(A) ≥ s>0 (với
s cho trước) được gọi là tập phổ biến (frequent set). Luật kết hợp (association rule)
A → B có độ tin cậy (confidence) c trong CSDL D nếu như trong D có c% các giao
dịch T chứa A thì cũng chứa B: chính là xác suất P(B|A).
Support (A → B) = P(A∪B) : 1 ≥ s (A → B) ≥ 0
Confidence (A → B) = P(B|A) : 1 ≥ c (A → B) ≥ 0
• Luật A → B được gọi là đảm bảo độ hỗ trợ s trong D nếu s(A → B) ≥ s. Luật A→B
được gọi là đảm bảo độ tin cậy c trong D nếu c(A → B) ≥ c (luật mạnh)
Data Warehouse and Business Intelligence 13
2.1 Khái niệm cơ bản: Mẫu phổ biến và luật kết hợp
Giả sử min_support = 50%, min_conf = 50%:
Freq. Pat.: Beer:3, Nuts:3, Diaper:4,
Eggs:3, {Beer, Diaper}:3
Luật kết hợp:
Beer Diaper (60%, 100%)
Diaper Beer (60%, 75%)
Chỉ ra các luật kết hợp còn lại
Customer
buys diaper
Customer
buys both
Customer
buys beer
Tập mục I={i
1
, …, i
k
}.
CSDL giao dịch D = {d ⊆ I}
A, B ⊆ I, A∩B=∅: A
B là luật kết hợp
Bài toán tìm luật kết hợp:
Cho trước độ hỗ trợ tối thiểu s>0, độ tin
cậy tối thiếu c>0. Hãy tìm mọi luật kết hợp
mạnh X
Y.
Tid Items bought
10 Beer, Nuts, Diaper
20 Beer, Coffee, Diaper
30 Beer, Diaper, Eggs
40 Nuts, Eggs, Milk
50 Nuts, Coffee, Diaper, Eggs, Milk
5
Data Warehouse and Business Intelligence 14
Một ví dụ tìm luật kết hợp
Với luật A C:
support = support({A}∪{C}) = 50%
confidence = support({A}∪{C})/support({A}) = 66.6%
Min. support 50%
Min. confidence 50%
Transaction-id Items bought
10 A, B, C
20 A, C
30 A, D
40 B, E, F
Frequent pattern Support
{A} 75%
{B} 50%
{C} 50%
{A, C} 50%
Data Warehouse and Business Intelligence 15
Mẫu đóng (Closed Patterns) và mẫu cực đại
(Max-Patterns)
A long pattern contains a combinatorial number of sub-
patterns, e.g., {a
1
, …, a
100
} contains (
100
1
) + (
100
2
) + … +
(
1
1
0
0
0
0
) = 2
100
– 1 = 1.27*10
30
sub-patterns!
Solution: Mine closed patterns and max-patterns instead
An itemset X is closed if X is frequent and there exists no
super-pattern Y ﬤ X, with the same support as X (proposed by
Pasquier, et al. @ ICDT’99)
An itemset X is a max-pattern if X is frequent and there exists
no frequent super-pattern Y כ X (proposed by Bayardo @
SIGMOD’98)
Closed pattern is a lossless compression of freq. patterns
Reducing the # of patterns and rules
Data Warehouse and Business Intelligence 16
Closed Patterns and Max-Patterns
Exercise. DB = {<a
1
, …, a
100
>, < a
1
, …, a
50
>}
Min_sup = 1.
What is the set of closed itemset?
<a
1
, …, a
100
>: 1
< a
1
, …, a
50
>: 2
What is the set of max-pattern?
<a
1
, …, a
100
>: 1
What is the set of all patterns?
!!
6
Data Warehouse and Business Intelligence 17
2.1. Khái niệm khai phá kết hợp
Data Warehouse and Business Intelligence 18
2.1. Khái niệm khai phá luật kết hợp
• Khai phá luật kết hợp:
• Tìm tất cả mẫu phổ biến, kết hợp, tương quan, hoặc cấu trú
nhân-quả trong tập các mục hoặc đối tượng trong CSDL quan
hệ hoặc các kho chứa thông tin khác.
• Mẫu phổ biến (Frequent pattern): là mẫu (tập mục, dãy mục…)
mà xuất hiện phổ biến trong 1 CSDL [AIS93]
• Động lực: tìm mẫu qui tắc(regularities pattern) trong DL
• Các mặt hàng nào được mua cùng nhau? - Bia và bỉm
(diapers)?!
• Mặt hàng nào sẽ được mua sau khi mua một PC ?
• Kiểu DNA nào nhạy cảm với thuộc mới này?
• Có khả năng tự động phân lớp Web hay không ?
Data Warehouse and Business Intelligence 19
2.1. Mẫu phổ biến và khai phá luật
Nền tảng của nhiều bài toán KPDL:
Kết hợp, tương quan, nhân quả
Mẫu tuần tự, kết hợp thời gian hoặc vòng, chu kỳ bộ phận,
kết hợp không gian và đa phương tiện
Phân lớp kết hợp, phân tích cụm, khối tảng băng, tích tụ
(nén dữ liệu ngữ nghĩa)
Ứng dụng:
Phân tích dữ liệu bóng rổ, tiếp thị chéo (cross-marketing),
thiết kế catalog, phân tích chiến dịch bán hàng
Phân tích Web log (click stream), Phân tích chuỗi DNA
v.v.
7
Data Warehouse and Business Intelligence 20
2.2. Khám phá mẫu phổ biến
Giải thuật Apriori: khám phá các mẫu phổ biến với tập dự
tuyển (ứng viên)
Giải thuật FP-Growth: khám phá các mẫu phổ biến với FP-tree
Data Warehouse and Business Intelligence 21
2.1 Giải thuật Apriori
Khái quát: Khai phá luật kết hợp gồm hai bước:
Tìm mọi tập phổ biến: theo min-sup
Sinh luật mạnh từ tập phổ biến
Mọi tập con của tập phổ biến cũng là tập phổ biến
Nếu {bia, bỉm, hạnh nhân} là phổ biến thì {bia, bỉm} cũng vậy: Mọi giao dịch
chứa {bia, bỉm, hạnh nhân} cũng chứa {bia, bỉm}.
Nguyên lý tỉa Apriori: Với mọi tập mục không phổ biến thì mọi tập bao
không cần phải sinh ra/kiểm tra!
Phương pháp:
Sinh các tập mục ứng viên dài (k+1) từ các tập phổ biến có độ dài k (Độ dài tập
mục là số phần tử của nó),
Kiểm tra các tập ứng viên theo CSDL
Các nghiên cứu hiệu năng chứng tỏ tính hiệu quả và khả năng mở rộng của
thuật toán (Agrawal & Srikant 1994, Mannila, và cộng sự 1994)
Data Warehouse and Business Intelligence 22
2.2 Giải thuật Apriori
Trên cơ sở tính chất (nguyên lý tỉa) Apriori, thuật toán
hoạt động theo quy tắc quy hoạch động
Từ các tập F
i
= {c
i
| c
i
tập phổ biến, |c
i
| = i} gồm mọi tập
phổ biến có độ dài i với 1 ≤ i ≤ k,
Tìm tập F
k+1
gồm mọi tập phổ biến có độ dài k+1.
Trong thuật toán, các tên mục i
1
, i
2
, … i
n
(n = |I|) được sắp
xếp theo một thứ tự cố định (thường được đánh chỉ số 1,
2, , n).
8
Data Warehouse and Business Intelligence 23
2.1 Giải thuật Apriori
Data Warehouse and Business Intelligence 24
Thuật toán Apriori: Thủ tục con Apriori-gen
Trong mỗi bước k, thuật toán Apriori đều phải duyệt CSDL D.
Khởi động, duyệt D để có được F
1
.
Các bước k sau đó, duyệt D để tính số lượng giao dịch t thoả từng ứng viên c của
C
k+1
: mỗi giao dịch t chỉ xem xét một lần cho mọi ứng viên c thuộc C
k+1
.
Thủ tục con Apriori-gen sinh tập phổ biến:
Data Warehouse and Business Intelligence 25
2.2 Giải thuật Apriori:Thủ tục con Apriori-gen
9
Data Warehouse and Business Intelligence 26
Một ví dụ thuật toán Apriori (s=0.5)
Database TDB
1
st
scan
C
1
L
1
L
2
C
2
C
2
2
nd
scan
C
3
L
3
3
rd
scan
Tid Items
10 A, C, D
20 B, C, E
30 A, B, C, E
40 B, E
Itemset sup
{A} 2
{B} 3
{C} 3
{D} 1
{E} 3
Itemset sup
{A} 2
{B} 3
{C} 3
{E} 3
Itemset
{A, B}
{A, C}
{A, E}
{B, C}
{B, E}
{C, E}
Itemset sup
{A, B} 1
{A, C} 2
{A, E} 1
{B, C} 2
{B, E} 3
{C, E} 2
Itemset sup
{A, C} 2
{B, C} 2
{B, E} 3
{C, E} 2
Itemset
{B, C, E}
Itemset sup
{B, C, E} 2
Data Warehouse and Business Intelligence 27
Chi tiết quan trọng của Apriori
Cách thức sinh các ứng viên:
Bước 1: Tự kết nối L
k
Bước 2: Cắt tỉa
Cách thức đếm hỗ trợ cho mỗi ứng viên.
Ví dụ thủ tục con sinh ứng viên
L
3
={abc, abd, acd, ace, bcd}
Tự kết nối: L
3
*L
3
• abcd từ abc và abd
• acde từ acd và ace
Tỉa:
• acde là bỏ đi vì ade không thuộc L
3
C
4
={abcd}
Data Warehouse and Business Intelligence 28
Ví dụ: D, min_sup*|D| = 2 (C
4
= ∅
∅∅
∅)
10
Data Warehouse and Business Intelligence 29
Sinh luật kết hợp
Việc sinh luật kết hợp gồm hai bước
• Với mỗi tập phổ biến W tìm được hãy sinh ra mọi tập con
thực sự X khác rỗng của nó.
• Với mỗi tập phố biến W và tập con X khác rỗng thực sự của
nó: sinh luật X → (W – X) nếu P(W-X|X) ≥ c.
Như ví dụ đã nêu có L
3
= {{I
1
, I
2
, I
3
}, {I
1
, I
2
, I
5
}}
Với độ tin cậy tối thiểu 70%, xét tập phổ biến {I
1
, I
2
, I
5
} có 3
luật như dưới đây:
Data Warehouse and Business Intelligence 30
Cách thức tính độ hỗ trợ của ứng viên
Tính độ hỗ trợ ứng viên là vấn đề cần quan tâm
Số lượng ứng viên là rất lớn
Một giao dịch chứa nhiều ứng viên
Phương pháp:
Tập mục ứng viên được chứa trong một cây-băm (hash-
tree)
Lá của cây băm chứa một danh sách các tập mục và bộ đếm
Nút trong chứa bảng băm
Hàm tập con: tìm tất cả các ứng viên
Data Warehouse and Business Intelligence 31
Cách thức tính độ hỗ trợ của ứng viên
Tập các ứng viên C
k
được lưu trữ trong một cây-băm.
Gốc của cây băm ở độ sâu 1. Lá chứa một danh sách tập mục
Nút trong chứa một bảng băm: mỗi thùng của bảng trỏ tới một nút khác (Nút ở độ sâu d
trỏ tới các nút ở độ sâu d+1).
Khi khởi tạo, tất cả các nút là lá.
Khi thêm một tập mục c:
bắt đầu từ gốc đi xuống theo cây cho đến khi gặp một lá.
Tại một nút trong độ sâu d:
• quyết định theo nhánh nào bằng cách áp dụng hàm băm tới mục thứ d của tập mục
này.
• Khi số lượng tập mục tại một lá vượt quá ngưỡng quy định, nút lá được chuyển
thành một nút trong.
Bắt đầu từ gốc, tìm tất cả các ứng viên thuộc giao dịch t:
Nếu ở nút gốc: băm vào mỗi mục trong t.
Nếu ở một lá: tìm các tập mục ở lá này thuộc t và bổ sung chỉ dẫn tới các tập mục này tới
tập trả lời.
Nếu ở nút trong và đã đạt được nó bằng cách băm mục i, trên từng mục đứng sau i trong t
và áp dụng đệ quy thủ tục này sang nút trong thùng tương ứng.
11
Data Warehouse and Business Intelligence 32
Ví dụ: Tính độ hỗ trợ các ứng viên
1,4,7
2,5,8
3,6,9
Hàm tập con
2 3 4
5 6 7
1 4 5
1 3 6
1 2 4
4 5 7
1 2 5
4 5 8
1 5 9
3 4 5
3 5 6
3 5 7
6 8 9
3 6 7
3 6 8
Transaction: 1 2 3 5 6
1 + 2 3 5 6
1 2 + 3 5 6
1 3 + 5 6
Data Warehouse and Business Intelligence 33
Thách thức khai phá mẫu phổ biến
Thách thức
Duyệt nhiều lần CSDL giao dịch
Số lượng rất lớn các ứng viên
Phức tạp trong việc tính toán độ hỗ trợ
Cải tiến Apriori: (ý tưởng chung)
Giảm số lần duyệt CSDL giao dịch
Rút gọn số lượng các ứng viên
Đơn giản trong việc tính độ hỗ trợ của các ứng viên
Data Warehouse and Business Intelligence 34
Một số phương pháp cải tiến
DIC (Đếm tập mục động): Rút gọn số lượng duyệt CSDL
Giải pháp Phân hoạch (Partition): Duyệt CSDL chỉ hai lần
DHP: Rút gọn số lượng các ứng viên
Eclat/MaxEclat và VIPER: Thăm dò dạng dữ liệu theo chiều
ngang
Khai phá mẫu phổ biến không cần sinh ứng viên
12
Data Warehouse and Business Intelligence 35
Khai phá mẫu phổ biến không cần sinh ứng viên
Dùng các mục phổ biến để tăng độ dài mẫu từ các mẫu
ngắn hơn
“abc” là một mẫu phổ biến
Nhận mọi giao dịch có “abc”: DB|abc
“d” là một mục phổ biến trong DB|abc abcd là một mẫu
phổ biến
Data Warehouse and Business Intelligence 36
Xây dựng FP-tree từ một CSDL giao dịch
{}
f:4 c:1
b:1
p:1
b:1c:3
a:3
b:1m:2
p:2 m:1
Header Table
Item frequency head
f 4
c 4
a 3
b 3
m 3
p 3
min_support = 3
TID Items bought (ordered) frequent items
100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m}
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}
1. Duyệt CSDL một lần, tìm
các 1-tập phổ biến (mẫu
mục đơn)
2. Sắp xếp các mục phổ
biến theo thứ tự giảm dần
về bậc, F-list
3. Duyệt CSDL lần nữa, xây
dựng FP-tree
F-list=f-c-a-b-m-p
Từ FP-tree tìm luật kết hợp
Data Warehouse and Business Intelligence 42
Lợi ích của cấu trúc FP-tree
Tính đầy đủ
Duy trì tính đầy đủ thông tin để khai phá mẫu phổ biến
Không phá vỡ mẫu dài với bất kỳ giao dich
Tính cô đọng
Giảm các thông tin không liên quan: mục không phổ biến
bỏ đi
Sắp mục theo tần số giảm: xuất hiện càng nhiều thì càng
hiệu quả
Không lớn hơn so với CSDL thông thường
13
Data Warehouse and Business Intelligence 43
Độ đo hấp dẫn: Tương quan (nâng cao)
play basketball ⇒ eat cereal [40%, 66.7%] là lạc
Phần trăm chung của sinh viên ăn ngũ cốc là 75% cao hơn
so với 66.7%.
play basketball ⇒ not eat cereal [20%, 33.3%] là chính
xác hơn, do độ hỗ trợ và tin cậy thấp hơn
Độ đo sự kiện phụ thuộc/tương quan: lift (nâng cao)
Basketball Not basketball Sum (row)
Cereal 2000 1750 3750
Not cereal 1000 250 1250
Sum(col.) 3000 2000 5000
Data Warehouse and Business Intelligence 44
Thuật toán Apriori— Ví dụ
Database D
Scan D
C
1
L
1
L
2
C
2
C
2
Scan D
C
3
L
3
Scan D
Data Warehouse and Business Intelligence 46
3. Phân lớp dữ liệu (classification)
3.1 Tổng quan về phân lớp dữ liệu
3.2 Qui trình 2 pha
3.3 Các loại phân lớp
3.4 Đánh giá bộ phân lớp
3.5 Một số phương pháp phân lớp
14
Data Warehouse and Business Intelligence 47
3.1 Tổng quan về phân lớp dữ liệu
Phân lớp dữ liệu:
Dự đoán nhãn (label) của lớp phân loại
Phân lớp dữ liệu (xây dựng mô hình) dựa trên tập huấn
luyện và các giá trị (các nhãn của lớp) trong thuộc tính
phân lớp và dùng nó để phân lớp dữ liệu mới
Một số ứng dụng điển hình:
Phê duyệt tín dụng/khoản vay
Chuẩn đoán y tế
Dò tìm lỗi
Phân loại trang web
Data Warehouse and Business Intelligence 48
3.2 Qui trình 2 pha
Pha 1: Xây dựng mô hình (Model Construction)
Mô tả một tập hợp các lớp đã xác định trước
Pha 2: Sử dụng mô hình (Model usage)
Dùng để phân lớp sau này hoặc những mục tiêu chưa biết
Data Warehouse and Business Intelligence 49
Pha 1: Xây dựng mô hình
Training
Data
Classification
Algorithms
IF rank = ‘professor’
OR years > 6
THEN tenured = ‘yes’
Classifier
(Model)
15
Data Warehouse and Business Intelligence 50
Pha 2: Sử dụng mô hình
Classifier
Testing
Data
Unseen Data
(Jeff, Professor, 4)
Tenured?
Data Warehouse and Business Intelligence 54
3.3 Các loại phân lớp
Phân lớp nhị phân/đa lớp:
|C|=2: phân lớp nhị phân.
|C|>2: phân lớp đa lớp.
Phân lớp đơn nhãn/đa nhãn:
Đơn nhãn: mỗi đối tượng được gán vào chính xác một lớp.
Đa nhãn: một đối tượng có thể được gán nhiều hơn một
lớp.
Phân cấp: lớp này là cha/con của lớp kia
Data Warehouse and Business Intelligence 55
3.4 Đánh giá mô hình phân lớp
Các phương pháp đánh giá độ chính xác của mô hình phân
lớp:
Holdout method, random subsampling
Cross-validation
Bootstrap
Ma trận lỗi (Confusion Matrix)
Lớp dự đoán (Predicted class)
C
1
¬ C
1
Lớp thật
(Actual
class)
C
1
True Positives (TP) False Negatives (FN)
¬ C
1
False Positives (FP) True Negatives (TN)
16
Data Warehouse and Business Intelligence 57
True Positives (TP): Thực dương
True Negatives (TN): Thực âm
False Positives (FP): Dương sai
False Negatives (FN): Âm sai
Data Warehouse and Business Intelligence 58
3.4 Đánh giá mô hình phân lớp: Đánh giá phân lớp
nhị phân
Độ chính xác của bộ phân lớp
(Classifier Accuracy):
Acc =
Tỉ lệ lỗi (Error rate):
=
+
=
1
−
Sensitivity: True Positive
recognition rate
=
!
Specificity: True Negative
recognition rate
"# =
!
58
A\P C ¬C
C TP FN P
¬C FP TN N
P’ N’ All
Dùng độ chính xác (Accuracy), tỉ lệ lỗi (Error rate), Độ
nhạy (Sensitivity) và độ đặc trưng (Specificity)
Data Warehouse and Business Intelligence 59
3.4 Đánh giá mô hình phân lớp: Đánh giá phân lớp
nhị phân
Dùng độ chính xác (Precision), độ hồi tưởng (Recall) và các
độ đo F (F-measures)
17
Data Warehouse and Business Intelligence 63
3.4 Đánh giá mô hình phân lớp: Đánh giá phân lớp
đa lớp
Bài toán ban đầu: C gồm có k lớp
Đối với mỗi lớp C
i
, cho thực hiện thuật toán với các dữ
liệu thuộc D
test
nhận được các đại lượng TP
i
, TF
i
, FP
i
, FN
i
(như bảng dưới đây)
Lớp C
i
Giá trị qua bộ phân lớp đa lớp
Thuộc lớp C
i
Không thuộc
lớp C
i
Giá trị thực
Thuộc lớp C
i
TP
i
FN
i
Không thuộc
lớp C
i
FP
i
TN
i
Data Warehouse and Business Intelligence 64
3.4 Đánh giá mô hình phân lớp: Đánh giá phân lớp
đa lớp
Tương tự bộ phân lớp nhị phân
Độ chính xác Pr
i
của lớp C
i
là tỷ lệ số phần tử dương được
thuật toán phân lớp cho giá trị đúng trên tổng số ví dụ được
thuật toán phân lớp vào lớp C
i
:
Độ hồi tưởng Re
i
của lớp C
i
là tỷ lệ số ví dụ dương được
thuật toán phân lớp cho giá trị đúng trên tổng số ví dụ
dương thực sự thuộc lớp C
i
:
Data Warehouse and Business Intelligence 65
3.4 Đánh giá mô hình phân lớp: Đánh giá phân lớp
đa lớp
ρ
i
: Độ chính xác của lớp C
i
π
i
: Độ hồi tưởng của lớp C
i
.
Đánh giá mô hình phân lớp theo các độ đo:
Vi trung bình (microaveraging) (được ưa chuộng) ρ
µ
và π
µ
Trung bình lớn (macroaveraging) ρ
M
và π
M
18
Data Warehouse and Business Intelligence 66
3.5 Một số phương pháp phân lớp dữ liệu
3.5.1 Phương pháp dựa trên cây quyết định (Decision Tree
based Methods)
3.5.2 Phương pháp Naïve Bayes
3.5.3 Một số phương pháp khác:
Phương pháp dựa trên luật (Rule-based Methods)
Các phương pháp máy vector hỗ trợ (Support Vector
Machines)
Lập luận dưa trên ghi nhớ (Memory based reasoning)
Các phương pháp mạng nơron (Neural Networks)
Data Warehouse and Business Intelligence 67
3.5.1 Phân lớp với cây quyết định
Cơ sở dữ liệu
khách hàng dùng
cho bước học
Data Warehouse and Business Intelligence 68
3.5.1 Phân lớp với cây quyết định
Cây quyết định (decision tree) - mô hình phân lớp
Node nội: phép kiểm thử (test) trên một thuộc tính
Node lá: nhãn/mô tả của một lớp (class label)
Nhánh từ một node nội: kết quả của một phép thử trên
thuộc tính tương ứng
Cây quyết định học được
từ tập huấn luyện
19
Data Warehouse and Business Intelligence 69
3.5.1 Phân lớp với cây quyết định
Giải thuật xây dựng cây quyết định
ID3, C4.5, CART (Classification and Regression Trees –
binary decision trees)
Algorithm: Generate decision tree. Generate a decision tree from the training
tuples of data partition, D.
Input:
Data partition, D, which is a set of training tuples and their associated class
labels;
attribute list, the set of candidate attributes;
Attribute selection method, a procedure to determine the splitting criterion that
“best” partitions the data tuples into individual classes. This criterion consists of
a splitting attribute and, possibly, either a split-point or splitting subset.
Output: A decision tree.
Data Warehouse and Business Intelligence 70
3.5.1 Phân lớp với cây quyết định
Method:
(1) create a node N;
(2) if tuples in D are all of the same class, C, then
(3) return N as a leaf node labeled with the class C;
(4) if attribute list is empty then
(5) return N as a leaf node labeled with the majority class in D; // majority voting
(6) apply Attribute selection method(D, attribute list ) to find the “best” plitting criterion;
(7) label node N with splitting criterion;
(8) if splitting attribute is discrete-valued and multiway splits allowed then // not restricted to
binary trees
(9) Attribute list attribute list splitting attribute; // remove splitting attribute
(10) for each outcome j of splitting criterion
// partition the tuples and grow subtrees for each partition
(11) let Dj be the set of data tuples in D satisfying outcome j; // a partition
(12) if Dj is empty then
(13) attach a leaf labeled with the majority class in D to node N;
(14) else attach the node returned by Generate decision tree(D, attribute list ) to node N;
endfor
(15) return N;
Data Warehouse and Business Intelligence 71
3.5.1 Phân lớp với cây quyết định
Đặc điểm của giải thuật:
Giải thuật tham lam (không có quay lui), chia để trị, đệ qui,
từ trên xuống
Độ phức tạp với tập huấn luyện D gồm |D| phần tử (đối
tượng), mỗi phần tử gồm n thuộc tính
• O(n*|D|*log|D|)
• Mỗi thuộc tính ứng với mỗi mức (level) của cây.
• Cho mỗi mức của cây, |D| phân tử huấn luyện được duyệt qua.
20
Data Warehouse and Business Intelligence 72
3.5.1 Phân lớp với cây quyết định
Phương pháp chọn thuộc tính
Phương thức dùng heuristic để chọn tiêu chí rẽ nhánh tại
một node, i.e. phân hoạch tập huấn luyện D thành các phân
hoạch con với các nhãn phù hợp
• Xếp hạng mỗi thuộc tính
• Thuộc tính được chọn để rẽ nhánh là thuộc có trị số điểm
(score) lớn nhất
o Độ đo chọn thuộc tính phân tách (splitting attribute):
o information gain (dùng trong ID3, C4.5/J48)
o gain ratio (dùng trong C4.5/J48)
o gini index (dùng trong CART)
Data Warehouse and Business Intelligence 73
3.5.1 Phân lớp với cây quyết định
A là thuộc tính phân tách (splitting attribute).
Data Warehouse and Business Intelligence 74
3.5.1 Phân lớp với cây quyết định
Độ đo Information Gain (Độ lợi thông tin)
Dựa trên lý thuyết thông tin (information theory) của
Claude Shannon về giá trị (nội dung thông tin) của tin
Thuộc tính tương ứng với information gain lớn nhất sẽ
được chọn làm thuộc tính phân hoạch (splitting attribute)
cho node N.
• Node N là node hiện tại cần phân hoạch các phần tử trong D.
• Splitting attribute đảm bảo sự trùng lắp (impurity)/ngẫu
nhiên (randomness) ít nhất giữa các phân hoạch tạo được.
• Cách tiếp cận này giúp tối thiểu số phép thử (test) để phân
loại một phần tử.
21
Data Warehouse and Business Intelligence 75
3.5.1 Phân lớp với cây quyết định
Độ đo Information Gain
Lượng thông tin cần để phân loại một phần tử trong D (=
Entropy của D): Info(D)
• p
i
: xác suất để một phần tử bất kỳ trong D thuộc về lớp C
i
với
i = 1 m
• C
i,D
: tập các phần tử của lớp C
i
trong D
Data Warehouse and Business Intelligence 76
3.5.1 Phân lớp với cây quyết định
Độ đo Information Gain
Lượng thông tin cần để phân loại một phần tử trong D dựa trên thuộc tính
A: Info
A
(D)
• Thuộc tính A dùng phân tách D thành v phân hoạch {D
1
, D
2
, …, D
j
, …, D
v
}.
• Mỗi phân hoạch D
j
gồm |D
j
| phần tử trong D.
• Lượng thông tin này sẽ cho biết mức độ trùng lắp giữa các phân hoạch, nghĩa là
một phân hoạch chứa các phần tử từ một lớp hay nhiều lớp khác nhau.
• Mong đợi: Info
A
(D) càng nhỏ càng tốt.
Data Warehouse and Business Intelligence 77
3.5.1 Phân lớp với cây quyết định
Độ đo Information Gain
Information gain chính là độ sai biệt giữa trị thông tin
Info(D) ban đầu (trước phân hoạch) và trị thông tin mới
Info
A
(D) (sau phân hoạch với A).
22
Data Warehouse and Business Intelligence 78
3.5.1 Phân lớp với cây quyết định
Gain(age)=0.246 bits
Gain(income)?
Gain(student)?
Gain(credit_rating)?
Splitting attribute?
Data Warehouse and Business Intelligence 79
3.5.1 Phân lớp với cây quyết định
Độ đo Gain Ratio: GainRatio(A)
Dùng với C4.5
Giải quyết vấn đề một thuộc tính được dùng tạo ra rất nhiều phân
hoạch (thậm chí mỗi phân hoạch chỉ gồm 1 phần tử).
Chuẩn hoá information gain với trị thông tin phân tách (split
information): SplitInfo
A
(D)
Thuộc tính phân tách (Splitting attribute): A tương ứng với trị
GainRatio(A) là trị lớn nhất.
Data Warehouse and Business Intelligence 81
3.5.1 Phân lớp với cây quyết định
Độ đo Gini Index
Dùng với CART
Sự phân tách nhị phân (binary split) cho mỗi thuộc tính A
• A ∈ S
A
?
• S
A
là một tập con gồm một hay v-1 trị thuộc tính A.
Gini index của một thuộc tính là trị nhỏ nhất tương ứng với một tập con
S
A
từ 2
v
– 2 tập con.
Splitting attribute tương ứng với gini index nhỏ nhất để tối đa hóa sự
suy giảm về độ trùng lắp giữa các phân hoạch.
23
Data Warehouse and Business Intelligence 83
3.5.1 Phân lớp với cây quyết định
Xây dựng cây quyết định từ cơ sở dữ liệu huấn luyện
Dùng độ đo Information Gain
Dùng độ đo Gain Ratio
Dùng độ đo Gini Index
Các cây quyết định học được giống nhau ???
Tiến hành đánh giá và phân loại với các cây quyết định học
được
Data Warehouse and Business Intelligence 84
3.5.2 Phân lớp Bayes
Định lý Bayes
P(H|X):
• Xác suất có điều kiện của H đối với X.
• Ví dụ: P(buys_computer=yes|age=young, income=high) là
xác suất mua máy tính của khách hàng có tuổi “young” và
thu nhập “high”.
P(X|H):
• Xác suất có điều kiện của X đối với H.
• Ví dụ: P(age=young, income=high|buys_computer=yes) là
xác suất khách hàng mua máy tính có tuổi “young” và thu
nhập “high”.
• P(age=young, income=high|buys_computer=yes) = 0
• P(age=young, income=high|buys_computer=no) = 2/5 = 0.4
Data Warehouse and Business Intelligence 85
3.5.2 Phân lớp Bayes
24
Data Warehouse and Business Intelligence 86
3.5.2 Phân lớp Bayes
Định lý Bayes
P(H): prior probability
• Xác suất của H
• Ví dụ: P(buys_computer=yes) là xác suất mua máy tính của
khách hàng nói chung.
• P(buys_computer=yes) = 9/14 = 0.643
• P(buys_computer=no) = 5/14 = 0.357
P(X): prior probability
• Xác suất của X
• Ví dụ: P(age=young, income=high) là xác suất khách hàng
có tuổi “young” và thu nhập “high”.
• P(age=young, income=high) = 2/14 = 0.143
Data Warehouse and Business Intelligence 87
3.5.2 Phân lớp Bayes
Định lý Bayes
P(H), P(X|H), P(X) có thể được tính từ tập dữ liệu cho
trước.
P(H|X) được tính từ định lý Bayes.
P(buys_computer=yes|age=young, income=high) = ?
P(buys_computer=no|age=young, income=high) = ?
Data Warehouse and Business Intelligence 88
3.5.2 Phân lớp Bayes
Cho trước tập dữ liệu huấn luyện D với mô tả (nhãn) của
các lớp C
i
, i=1 m, quá trình phân loại một tuple/đối
tượng X = (x
1
, x
2
, …, x
n
) với mạng Bayesian như sau:
X được phân loại vào C
i
nếu và chỉ nếu
P(C
i
|X) > P(C
j
|X) với 1<=j<=m, j<>i
Tối đa hóa P(C
i
|X) (i.e. chọn C
i
nếu P(C
i
|X) là trị lớn nhất)
Tối đa hóa P(X|C
i
)P(C
i
)
• P(C1) = P(C2) = = P(C
m
) hoặc P(C
i
) = |C
i
,D|/|D| …
25
Data Warehouse and Business Intelligence 89
3.5.2 Phân lớp Bayes
P(X|C
i
) được tính với giả định class độc lập điều kiện.
x
k
, k = 1 n: trị thuộc tính A
k
của X
P(X
k
|C
i
) được tính như sau:
A
k
là thuộc tính rời rạc.
• P(x
k
|C
i
) = |{X’|x’
k
= x
k
∧ X’ ∈ C
i
}|/|C
i
,D|
A
k
là thuộc tính liên tục.
• P(x
k
|C
i
) tuân theo một phân bố xác suất nào đó (ví dụ: phân
bố Gauss).
Data Warehouse and Business Intelligence 91
3.5.2 Phân lớp Bayes
C
1
= {X’|X’.buys_computer = yes}
C
2
= {X’’|X’’.buys_computer = no}
X ∈
∈∈
∈ C1
Data Warehouse and Business Intelligence 92
3.5.3 Một số phương pháp phân lớp dữ liệu khác
Phân lớp dữ liệu với mạng Neural
Phân lớp dữ liệu k-láng giềng gần nhất (k-nearest
neighbor hay K-NN)
Phương pháp dựa trên luật (Rule-based Methods)
Các phương pháp máy vector hỗ trợ (Support Vector
Machines)
Lập luận dưa trên ghi nhớ (Memory based reasoning)