Khai Phá Dữ Liệu
(
[email protected])
Tr ườ ng Đại học Bách Khoa Hà Nội ườ ng Viện Công nghệ Thông tin và Truyền thông Năm học 2012-2013
Nội dung môn học:
Giới thiệu về Khai phá dữ liệu
Giới thiệu v công cụ WEKA
Tiền xử lý dữ liệu
Phát hiện các luật kết hợp
Các kỹ thuật phân nhóm
Lọc cộng tác
Khai Phá Dữ Li ệu
2
Tậ dữ liệu
Một tập dữ liệu (dataset) là một tập hợp các đối tượng (objects) và các thuộc tính của chúng Mỗi thuộc tính (attribute) mô t ả một
Tid Refund
es
Vd: Các thuộc tính Refund , Marital Status, Status, Taxable Income, Income, Cheat
tính mô tả một đối tượng
Khái niệm “đối tượng” còn được bản ghi (record), điểm dữ liệu (data point), tr ườ ường hợp (case), mẫu (sample), thực thể (entity), hoặc ví dụ (instance) Khai Phá Dữ Li ệu
Các đối tượng
Marital
Taxable
Status
Income
ng e
Cheat o
2
No
Married
100K
No
3
No
Single
70K
No
4
Yes
Married
120K
No es
o
vorce
6
No
Married
7
Yes
Divorced 220K
8
No
Single
o
arr e
No
Single
10
60K
85K
No No Yes o
90K
Yes
10
(Tan, Steinbach, Kumar Introduction to Data Minin
3
Các kiểu tậ dữ liệu
Bản ghi (Record)
Các bản ghi trong csdl quan h ệ
Ma tr ận dữ liệu
Biểu diễn văn bản (document)
Dữ liệu giao dịch
Đồ thị (Graph)
World Wide Web
TID
Items
Mạng thông tin, ho ặc mạng xã hội
1
Bread, Coke, Milk
Các cấu trúc phân tử (Molecular structures)
2
Beer, Bread
3
Beer, Coke, Diaper, Milk
4
Beer, Bread, Diaper, Milk
Có tr ật tự (Ordered)
Dữ li u khôn
Dữ liệu thời gian (vd: time-series data)
Dữ liệu chuỗi (vd: chuỗi giao dịch)
ian vd: bản đồ
Dữ li u chuỗi di tru ền data)
,
, (Han, Kamber - Data Mining: Concepts and Techniques)
enetic se uence
Khai Phá Dữ Li ệu
4
Các kiểu iá trị thuộc tính
Kiểu định danh/chuỗi (norminal): không có thứ tự
Vd: Các thuộc tính như: Name, Profession, …
kiểu định danh Tập các giá tr ị chỉ gồm có 2 giá tr ị (Y/N, 0/1, T/F)
Kiểu có thứ tự (ordinal): Lấy giá tr ị từ một tập có thứ tự các giá tr ị : c u c n y g r s n ư: ge, e g ,… Vd2: Thuộc tính Income lấy giá tr ị từ tập {low, medium, high}
Khai Phá Dữ Li ệu
5
Kiểu thuộc tính rờ i rạc vs. liên tục
Kiểu thuộc tính r ời r ạc (Discrete-valued attributes)
Bao gồm cả các thuộc tính có kiểu giá tr ị là các số nguyên
Bao gồm cả các thuộc tính nhị phân (binary attributes)
Kiểu thuộc tính liên tục (Continuous-valued attributes) Các giá tr ị là các số thực (real numbers)
Khai Phá Dữ Li ệu
6
Các đ ặc tính mô tả dữ liệu
Mục đích: Để hiểu rõ về dữ liệu có được (chiều hướng , , Sự phân bố của dữ liệu (Data dispersion)
Giá tr ị cực ti u/cực đại (min/max)
Giá tr ị xuất hiện nhiều nhất (mode)
r rung
n
mean
Giá tr ị trung vị (median)
Các ngoại lai (outliers)
Khai Phá Dữ Li ệu
7
Hiển thị hóa dữ liệu (Data visualization)
Biểu diễn dữ liệu bằng các phương pháp hiển thị đồ họa,
Cung cấp cái nhìn định tính đối với các tập dữ liệu lớn , , bất thường, và các quan hệ trong dữ liệu
,
Hỗ tr xác đ nh các vùn dữ li u uan tr n và các tham số phù hợp cho các phân tích định lượng tiếp theo Trong một số tr ường hợp, có thể cung cấp các chứng minh tr ực quan đối với các biểu diễn (tri thức) thu được
Khai Phá Dữ Li ệu
8
Dữ liệu cân đ ối vs. lệch
Giá tr ị trung bình, giá tr ị trung nhất đối với
Dữ liệu cân đối
Khai Phá Dữ Li ệu
(Han, Kamber - Data Mining: Concepts and Techniques)
9
Biểu đ ồ histo ram
Biểu đồ histogram là cách
Được sử dụng r ất phổ
Hiển thị các mô tả thống kê xuất hi n (counts/frequencies) theo một thuộc tính nào đó
Khai Phá Dữ Li ệu
(Han, Kamber - Data Mining:
10
Đồ thị rải rác (Scatter plot)
Cho phép hiển thị quan hệ 2 chiều (giữa 2 thuộc tính) của dữ liệu
Cho hé
uan sát tr c uan các nhóm điểm các n o i l i …
Mỗi cặp giá tr ị của 2 thuộc tính được xét tương ứng với 2 tọa độ của điểm được hiển thị trên mặt phẳng
(Han, Kamber - Data Mining: Concepts and Techniques) Khai Phá Dữ Li ệu
11
Tiền xử lý dữ liệu: Các nhiệm v ụ chính
Làm sạch dữ liệu (Data cleaning)
Tích hợp dữ liệu (Data integration)
Tích hợp nhiều cơ sở dữ liệu, nhiều khối dữ liệu (data cubes), hoặc nhiều tập tin dữ liệu
Biến đổi dữ liệu (Data transformation)
Gán các giá tr ị thuộc tính còn thi ếu, Sửa chữa các dữ liệu nhiễu/lỗi, Xác định hoặc loại bỏ các ngoại lai (outliers), Gi ải quyết các mâu thu ẫn dữ liệu
Chuẩn hóa (normalize) và k ết hợp (aggregate) dữ liệu
Giảm bớt dữ liệu (Data reduction)
Giảm bớt về biểu diễn (các thuộc tính) của dữ liệu, giảm bớt kích thước dữ liệu – nhưng vẫn đảm bảo thu được các kết quả khai phá dữ liệu tương đương (hoặc xấp xỉ ) Rời r ạc hóa dữ liệu (Data discretization)
Là một thao tác trong giảm bớt dữ liệu
Được sử dụng đối với các dữ liệu có các thu ộc tính kiểu số Khai Phá Dữ Li ệu
12
Làm sạch dữ liệu 1
Các vấn đề của dữ liệu?
ực c u u ược hoàn chỉ nh, có mâu thuẫn
c
an
u,
,
ng ,
hoặc thiếu một số thuộc tính
u no se error : a ựng n thường (abnormal instances)
Vd: salary =
ng
o cc cv
ụ
Vd: salary = “-525” (giá tr ị của thuộc tính không th ể là một số âm)
Mâu thuẫn (inconsistent): Chứa đựng các mâu thuẫn (không thống nhất)
Vd: salary = “abc” (không phù hợp với kiểu dữ liệu số của thuộc tính salary) Khai Phá Dữ Li ệu
13
Làm sạch dữ liệu 2
Nguồn gốc/lý do của dữ liệu không sạch?
Khôn hoàn chỉnh incom lete
Giá tr ị của thuộc tính không có (not available) t ại thời điểm được thu thập ,
,
thập dữ liệu
Nhiễu/lỗi (noise/error)
Do việc thu thập dữ liệu
Do việc nhập dữ liệu
Do việc tru ền dữ liệu
Mâu thuẫn (inconsistent)
Dữ liệu được thu thập từ nhiều nguồn khác nhau
Vi phạm các ràng buộc (đi u kiện) đ i với các thuộc tính Khai Phá Dữ Li ệu
14
Làm sạch dữ liệu 3
Tại sao cần phải làm sạch dữ liệu? Nếu dữ liệu không sạch (có chứa lỗi, nhiễu, không đầy đủ, có mâu thuẫn), thì các kết quả khai phá dữ liệu sẽ bị Các kết quả khai phá dữ liệu (các tri thức khám phá đư c khôn chính xác khôn đán tin c sẽ dẫn đến các quyết định không chính xác, không t ối ưu Vd: Các dữ liệu chứa lỗi hoặc thiếu giá tr ị thuộc tính sẽ có thể
Khai Phá Dữ Li ệu
15
Thiếu iá trị thuộc tính
Đối với một số thuộc tính, giá tr ị của chúng đối với một
Vd: Giá tr ị của thuộc tính Income không có (không được ghi lại) đối với một số bản ghi
Thi u giá tr ị thuộc tính có th vì: Lỗi của các thiết bị phần cứng
giá tr ị (mới) bị xóa đi
Dữ liệu không được nhập vào (lỗi của người nhập liệu)
Các giá tr ị thuộc tính thi u c n ph i được gán (b ng một cơ chế suy diễn) – để đảm bảo tính chính xác của các kết uả khai há dữ li u Khai Phá Dữ Li ệu
16
Thuộc tính thiếu giá trị: Các giải pháp
Bỏ qua các bản ghi có các thuộc tính thiếu giá tr ị
Thường được áp dụng trong các bài toán phân lớp (classification) Không hiệu quả, khi tỷ lệ % các giá tr ị thiếu đối với các thuộc tính (r ất) khác nhau
thuộc tính còn thiếu này (manually filling): công việc tẻ nhạt + chi phí cao
Một giá tr ị (hằng) mặc định
Giá tr ị trung bình của thuộc tính đó
Giá tr ị trung bình của thuộc tính đó, xét đối với tất cả các ví dụ (các bản ghi) thuộc cùng lớp (class) với bản ghi đó Giá tr ị có thể xảy ra nhất – dựa trên phương pháp xác suất (vd: công thức Bayes) Khai Phá Dữ Li ệu
17
Dữ liệu chứa nhiễu
Nhiễu: Lỗi ngẫu nhiên đối với giá tr ị của một thuộc tính
Các giá tr ị thuộc tính bị lỗi (nhiễu) có thể vì:
Lỗi của các thiết bị thu thập dữ liệu
Các lỗi khi nhập dữ liệu
Lỗi trong quá trình truyền dữ liệu
Sự mâu thuẫn (không nhất quán) trong quy ước tên (thuộc tính/biến)
Khai Phá Dữ Li ệu
18
Dữ liệu chứa nhiễu: Các iải há
Phân khoảng (Binning) , xuất hiện giá tr ị (frequency) như nhau
Sau đó, mỗi khoảng dữ liệu có thể được biểu diễn bằng trung , , … trong khoảng đó
Hồi quy (Regression)
Phân cụm (Clustering)
Phát hiện và loại bỏ các ngoại lai (sau khi đã xác định các cụm)
Kết hợp giữa máy tính và kiểm tra của con người
Máy tính tự động phát hiện các giá tr ị nghi ngờ (là nhiễu/lỗi)
Khai Phá Dữ Li ệu
19
Phân khoản
Binnin
Phân chia với độ r ộng (khoảng cách) bằng nhau Chia khoản iá tr thành N khoản với kích thước đ r n
bằn
nhau
Nếu mini và max i là giá tr ị lớn nhất và nhỏ nhất của thuộc tính, thì kích thước đ r n của mỗi khoản = max - min /N Không phù hợp đối với các tập dữ liệu lệch (skewed data), hoặc có chứa các ngoại lai (outliers) – vì có thể một khoảng sẽ chỉ chứa m t ho c m t số các n o i lai
Phân chia với độ sâu (tần xuất xuất hiện) bằng nhau Chia khoảng giá tr ị thành N khoảng (không nhất thiết bằng nhau), sao cho mỗi khoảng chứa xấp xỉ bằng nhau số lượng (tần xuất xuất hiện) của các ví dụ Hiệu quả hơn cách phân chia với độ r ộng (khoảng cách) bằng
nhau Khai Phá Dữ Li ệu
20
Phân khoản
–
í dụ
Sắp xếp các giá tr ị của thuộc tính Price: 4, 8, 9, 15, 21, , , , , , , Phân chia thành các khoảng với độ sâu (tần xuất xuất
Bin 1: 4, 8, 9, 15
Bin 2: 21, 21, 24, 25
Binnin
n :
,
,
,
Biểu diễn khoảng dữ liệu bởi giá tr ị trung bình
n :
, , ,
Bin 2: 23, 23, 23, 23
Bin 3: 29, 29, 29, 29 Khai Phá Dữ Li ệu
21
Hồi u
Re ression y
Y1
y=x+1
Y1’
X1
x
(Han, Kamber - Data Mining: Concepts and Techniques)
Khai Phá Dữ Li ệu
22
Phân tích các cụm Cluster anal sis
(Han, Kamber - Data Mining: Concepts and Techniques)
Khai Phá Dữ Li ệu
23
Tích hợ dữ liệu
Tích hợp dữ liệu (Data integration) Kết h dữ li u từ nhiều n uồn vào m t kho dữ li u thốn nhất Tích hợp ở mức mô hình (Schema integration) Tích hợp metadata từ các nguồn khác nhau
.
-
.
Vấn đề xác định thực thể (để tránh dư thừa dữ liệu) Cần xác định các thực thể (identities) trên th ực tế từ nhiều nguồn dữ liệu
:
n on ≡ .
n on
Phát hiện và xử lý các mâu thuẫn đối với giá tr ị dữ liệu Đối với cùng một thực thể trên thực tế, nhưng các giá tr ị thuộc tính từ nhi u ngu n khác nhau lại khác nhau. Các lý do có th : Các cách biểu diễn khác nhau Mức đánh giá, độ đo (scales) khác nhau – Vd: hệ đo lường mét vs. o ư ng c a n
Khai Phá Dữ Li ệu
24
Tích hợ p dữ liệu: X ử lý dư thừa dữ liệu
Dư thừa dữ liệu (redundant data) th ường xuyên xảy ra, khi tích hợp dữ liệu từ nhiều nguồn (vd: từ nhiều csdl)
Định danh đối tượng: Cùng một thuộc tính (hay cùng một đối tượng) có thể mang các tên (định danh) khác nhau trong các csdl khác nhau
Dữ liệu suy ra được: Một thuộc tính trong một bảng có thể là một thuộc tính được suy ra (derived attribute) trong một bảng khác – Vd: “Annual Revenue” và “Monthly Revenue”
Các thuộc tính dư thừa có thể được phát hiện bằng phân tích tương quan (Correlation analysis): Pearson, Cosine, chi-square Yêu c u chung đ i với quá trình tích hợp dữ liệu: Giảm thi u (tránh được là tốt nhất) các dư thừa và các mâu thuẫn
Giú cải thiện tốc độ của uá trình khai há dữ liệu, và nân cao chất lượng của các kết quả (tri thức) thu được Khai Phá Dữ Li ệu
25
Biến đ ổi dữ liệu 1
Biến đổi dữ liệu (Data transformation) Vi c chu ển ánh x toàn b t iá tr của m t thu c tính san m t t mới các giá tr ị thay thế, sao cho m ỗi giá tr ị cũ tương ứng với một trong các giá tr ị mới Các phương pháp bi ến đổi dữ liệu Làm tr ơn (Smoothing): Loại bỏ nhiễu/lỗi khỏi dữ liệu Kết hợp (Aggregation): Sự tóm tắt dữ liệu, xây dựng các khối dữ liệu
(data cubes)
Khái quát hóa (Generalization): Xây d ựng các phân c ấp khái niệm (concept hierarchies) Chuẩn hóa (Normalization): Đưa các giá tr ị về một khoảng được chỉ định
Chu n hóa min-max
Chuẩn hóa z-score
Chuẩn hóa bởi thang chia 10
Xây dựng (tạo nên) các thuộc tính mới dựa trên các thuộc tính ban đầu Khai Phá Dữ Li ệu
26
Biến đ ổi dữ liệu 2
Chuẩn hóa min-max: thành kho ảng [new_min i , new_max i ] v
new
=
v
old
maxi
−
m ni
−
mini
(new _ maxi
−
new _ mini ) + new _ mini
μ i , σ i : giá tr ị trung bình và độ lệch chuẩn đối với thuộc tính i
v
new
=
v
old
−
μ i
σ i
Chuẩn hóa bởi thang chia 10 v
new
=
v
o
10 j new
Khai Phá Dữ Li ệu
<
27
Giảm bớ t dữ liệu
Tại sao cần phải giảm bớt dữ liệu? Một kho (tập) dữ liệu lớn có thể chứa lượng dữ liệu lên đến terabytes Do đó, quá trình khai phá d ữ liệu có thể sẽ chạy r ất lâu (r ất mất thời gian) đối với toàn bộ tập dữ liệu Giảm bớt dữ liệu (Data reduction) Để thu được một biểu diễn thu gọn (giảm bớt) – nhưng vẫn sinh ra cùng (hoặc xấp xỉ ) các kết quả phân tích (khai phá) nh ư với tập dữ liệu ban đầu Các chiến lược iảm bớt dữ liệu Giảm số chiều (Dimensionality reduction): loại bỏ bớt các thuộc tính không (ít) quan tr ọng Giảm lượng dữ liệu (Data/Numerosity reduction) Kết hợp khối dữ liệu (Data cube aggregation) Nén dữ liệu (Data compression) Hồi quy (Regression) Rời r ạc hóa (Discretization)
Khai Phá Dữ Li ệu
28
Giảm số chiều
Ảnh hưởng tiêu cực của số chiều (số thuộc tính) lớn
Mật độ và khoảng cách giữa các điểm (quan tr ọng đối với việc phân cụm, phát hiện ngoại lai) tr ở nên ít có ý ngh ĩ a
Tránh (giảm bớt) ảnh hưởng tiêu cực của số chiều lớn
Giúp loại bỏ các thuộc tính không liên quan, và giảm nhiễu/lỗi
Khi số chiều tăng, dữ liệu tr ở nên thưa thớt hơn (more sparse)
pg mc phá dữ liệu
p
v
g an v
n
c n c o qu
rn
a
Cho phép hiển thị hóa (visualize) dữ liệu một cách dễ dàng và u qu ơn
Các kỹ thuật giảm số chiều
Phân tích thành phần chính (Principal component analysis)
Lựa chọn tập con các thuộc tính (Feature subset selection) Khai Phá Dữ Li ệu
29
Phân tích thành hần chính 1
Phân tích thành ph ần chính Princi al com onent analysis – PCA)
Tìm một phép chiếu – thuộc tính mới – sao cho giữ được mức độ tối đa về sự khác bi t variation tron t dữ liệu ban đầu Tìm các eigenvectors của ma tr n hi biến – các eigenvectors này sẽ định ngh ĩ a không gian thuộc tính mới Khai Phá Dữ Li ệu
x1 (Han, Kamber - Data Mining: Concepts and Techniques)
30
Phân tích thành hần chính 2
Mỗi v í dụ (bản ghi) sẽ được biểu diễn bởi n chiều (thuộc tính) Mục đích: Tìm k (≤n) vectơ tr ực giao (sẽ là các thành phần chính – principal components) bi u diễn tập dữ liệu ban đầu phù hợp nhất 1) Chuẩn hóa dữ liệu đầu vào: Các giá tr ị cho các thuộc tính được đưa về cùng một khoảng giá tr ị 2) Tính k vectơ tr ực giao (chính là các thành ph n chính) 3) Mỗi vectơ dữ liệu đầu vào sẽ là một kết hợp tuyến tính của k vectơ thành phần chính này c tr ọng
n p
nc n
ược s p x p eo m c
g m
nv
quan
5) Kích thước của dữ liệu được giảm bớt, bằng cách loại bỏ các thành – độ khác biệt (variance) thấp 6) Sử dụng các vect ơ có mức độ quan tr ọng cao nhất sẽ cho phép biểu diễn xấp xỉ tập dữ liệu ban đầu
Phương pháp PCA chỉ áp dụng được với dữ liệu kiểu số Khai Phá Dữ Li ệu
31
Lựa chọn tậ con các thuộc tính
Với d thuộc tính ban đầu, có thể có đến 2 d khả năng lựa chọn một tập con các thuộc tính Các phương pháp thường được áp dụng cho việc lựa chọn tập con các thuộc tính (Feature subset selection)
độc lập với nhau) Theo một (hoặc một số) tiêu chí đánh giá
Chọn thuộc tính tốt nhất tiếp theo đối với thuộc tính đầu tiên đã c ọn…
Loại bỏ thuộc tính từng bước (Step-wise feature elimination)
Thuộc tính tốt nhất sẽ được chọn ra đầu tiên
Loại bỏ dần dần (repeatedly) các thuộc tính kém (tồi) nhất
Kết hợp đồng thời 2 chiến lược: lựa chọn và loại bỏ các thuộc tính Khai Phá Dữ Li ệu
32
K ết hợ p khối dữ liệu (Data cube aggregation)
Mức thấp nhất của một khối dữ liệu (basic cuboid)
Các mức k t hợp khác nhau trong các kh i dữ liệu
được quan tâm Vd: Một khách hàng trong một kho dữ liệu mua hàng Giúp giảm nhỏ hơn nữa kích thước của dữ liệu cần xử lý Sử dụng biểu diễn ngắn gọn (nhỏ) nhất đủ để giải quyết yêu cầu (truy vấn thông tin) đặt ra
Các câu tìm kiếm (queries) đối với các thông tin được kết hợp (aggregated information) nên được tr ả lời bằng cách sử dụng các khối dữ liệu Khai Phá Dữ Li ệu
33
Lấ mẫu dữ liệu
Lấy mẫu dữ liệu (Data sampling) là phương pháp quan
Việc lấy mẫu dữ liệu là cần thiết vì yêu cầu thu thậ p và tốn thời gian
Các n u ên tắc uan tr n của vi c lấ mẫu dữ li u Sử dụng một mẫu (sample) sẽ có tác dụng gần như sử dụng toàn bộ tập dữ liệu, nếu như mẫu đó đại diện cho tập dữ liệu Một m u được gọi là đại diện cho một tập dữ liệu, n u m u đó có (xấp xỉ ) đặc tính của tập dữ liệu
Khai Phá Dữ Li ệu
34