You are on page 1of 14

Mục lục

1 Tổng quan về khai thác dữ liệu 3


1.1 Khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Các bước của quá trình khai thác dữ liệu . . . . . . . . . . . . . . . . 5
1.3 Các loại dữ liệu cho khai thác . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Các độ đo trong khai thác dữ liệu . . . . . . . . . . . . . . . . . . . . 7
1.4.1 Thuộc tính của đối tượng dữ liệu . . . . . . . . . . . . . . . . 7
1.4.2 Các độ đo dựa trên thuộc tính dữ liệu . . . . . . . . . . . . . 9
1.5 Vấn đề thu thập và chuẩn bị dữ liệu . . . . . . . . . . . . . . . . . . . 11
1.6 Vấn đề chất lượng dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Trực quan hóa dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1
2
Chương 1

Tổng quan về khai thác dữ liệu

Carly Fiorina1 “The goal is to turn data into information, and information into in-
sight.”
Chương này sẽ giới thiệu các khái niệm cũng như thuật ngữ cơ bản trong lĩnh
vực khai thác dữ liệu. Các bài toán khai thác dữ liệu được phân loại theo hai nhóm
chính là khai thác theo hướng mô tả và khai thác theo hướng dự báo. Tiếp đó, một
quy trình chung có thể áp dụng cho các bài toán khai thác dữ liệu phổ biến được giới
thiệu và các vấn đề liên quan như các độ đo, vấn đề đánh giá chất lượng dữ liệu, trực
quan hóa,... cũng được đề cập một cách khái quát.

1.1 Khái niệm


Khai thác dữ liệu (data mining) là một quy trình phân tích được thiết kế để khám
phá thông tin hữu ích ẩn chứa bên trong dữ liệu. Những thông tin hữu ích đó được
gọi là tri thức. Khai thác dữ liệu có thể xem là một bước quan trọng trong quy trình
khám phá tri thức từ dữ liệu (knowledge discovery from data), gọi tắt là KDD. Thông
tin trích xuất được sẽ rất có giá trị cho kinh doanh, nghiên cứu khoa học, dự báo
dịch bệnh, hay ứng dụng trong các hệ thống giao thông thông minh.
Thông thường, dữ liệu dùng để khai thác có liên quan đến các lĩnh vực nghiệp vụ
cụ thể, ví dụ như dữ liệu bán hàng, dữ liệu giao dịch chứng khoán, dữ liệu y khoa,
hay dữ liệu giao thông. Mỗi loại dữ liệu của một lĩnh vực cụ thể có thể sẽ cần một
phương pháp khai thác đặc thù. Không có một phương pháp hay “giải thuật” vạn
năng có thể áp dụng cho tất cả các trường hợp. Ngày nay, với sự xuất hiện của khái
niệm dữ liệu lớn (big data) thì khai thác dữ liệu trở nên cực kỳ có ý nghĩa và cần
1
Cựu CEO của Hewlett-Packard.

3
thiết để xử lý các tập dữ liệu lớn và phức tạp, khi không thể dùng các ứng dụng xử
lý dữ liệu truyền thống để xử lý được.
Tri thức trích xuất được từ dữ liệu thể hiện các mối quan hệ có tính hệ thống và
phổ quát giữa các thuộc tính của đối tượng được theo dõi. Đó còn được xem là các
quy luật hay mẫu (pattern). Theo Jiawei Han[?], khai thác dữ liệu được hiểu là quá
trình tìm kiếm các mẫu đáng quan tâm (interesting patterns) từ dữ liệu.
Ứng dụng của khai thác dữ liệu rất rộng lớn và đa dạng về lĩnh vực. Từ cơ sở dữ
liệu thanh toán giỏ hàng của khách hàng ở các siêu thị người ta có thể phát hiện ra
các mặt hàng nào thường xuyên mua cùng nhau, từ đó siêu thị có thể sắp xếp lại các
gian hàng sao cho thuận tiện hơn cho khách hàng hay đưa ra các chính sách khuyến
mãi.
Khai thác dữ liệu còn có thể ứng dụng trong lĩnh vực y tế cộng đồng. Chẳng hạn,
Google sử dụng dữ liệu truy vấn của người dùng thu thập từ cỗ máy tìm kiếm để có
thể đưa ra mô hình dự báo các đợt bùng phát dịch cúm nhanh hơn hai tuần so với
phương pháp truyền thống có thể dự báo được[?]. Ý tưởng độc đáo của dự án trên là
dựa trên các từ khóa tìm kiếm của người dùng nhập vào để làm dấu hiệu nhận biết
có dịch cúm, và quá trình phân tích dữ liệu phát hiện ra rằng có một sự liên quan
mật thiết giữa số người tìm kiếm thông tin liên quan đến bệnh cúm và số người thực
sự có triệu chứng bệnh cúm.
Trong lĩnh vực giao thông vận tải, dữ liệu hành trình của các phương tiện giao
thông là nguồn dữ liệu khá tốt để phát hiện ra các khu vực ùn tắc giao thông theo
thời gian thực. Tích hợp các thông tin ùn tắc này vào các ứng dụng bản đồ thì có
thể phát triển chức năng tìm đường đi tránh ùn tắc cho tài xế để di chuyển nhanh
hơn, thay vì đưa ra lộ trình ngắn nhất như các ứng dụng bản đồ hiện có[?]. Ngoài ra,
nếu dữ liệu hành trình được theo dõi trong một khoảng thời gian dài thì có thể phát
hiện các quy luật xảy ra ùn tắc hay những lộ trình thường xuyên được lựa chọn của
người dân khi đi từ một địa điểm này đến địa điểm khác. Những thông tin này rất
đáng giá cho nhà làm quy hoạch giao thông.
Nhiều kỹ thuật khai thác dữ liệu được nghiên cứu để có thể áp dụng trong nhiều
lĩnh vực, với nhiều dạng dữ liệu khác nhau. Nhìn chung, các kỹ thuật khai thác dữ
liệu đi theo hai nhánh chính:

• Khai thác theo hướng mô tả dữ liệu (descriptive data mining): tìm các mẫu
hay các quy luật có thể mô tả về dữ liệu mà con người có thể dễ dàng nắm bắt
được. Một số hướng chính như sau:

– Bài toán gom cụm - Clustering

4
Hình 1.1: Quy trình khai thác dữ liệu

– Tìm luật kết hợp - Association Rule Discovery


– Khai thác mẫu tuần tự - Sequential Pattern Mining

• Khai thác theo hướng dự báo (predictive data mining): sử dụng một số giá trị
thuộc tính của dữ liệu đã biết để dự đoán giá trị của thuộc tính chưa biết.

– Bài toán phân loại - Classification


– Phát hiện bất thường - Oulier Analysis
– Hồi quy - Regression

1.2 Các bước của quá trình khai thác dữ liệu


Mặc dù các hướng khai thác dữ liệu khác nhau về chi tiết kỹ thuật, tuy nhiên chúng
đều có thể dùng chung một quy trình, gọi là quy trình khám phá tri thức từ dữ liệu
(KDD process). Quy trình này gồm các bước từ giai đoạn tiền xử lý, làm sạch dữ liệu
đến giai đoạn cuối cùng là biễu diễn tri thức ở dạng người dùng có thể sử dụng được.
Minh họa quy trình này qua Hình 1.1.
Về mặt kỹ thuật, quy trình KDD gồm các thao tác thực hiện tuần tự như sau:

1. Làm sạch dữ liệu: loại bỏ nhiễu và các dữ liệu không phù hợp

2. Tích hợp dữ liệu: tổng hợp dữ liệu từ nhiều nguồn khác nhau để hình thành
kho dữ liệu.
5
3. Chọn tập con dữ liệu: không phải tất cả dữ liệu trong kho dữ liệu đều được sử
dụng cho việc khai thác mà chỉ những dữ liệu có liên quan được trích xuất cho
mục đích khai thác và phân tích.

4. Chuyển đổi dữ liệu: từ tập con được trích xuất, nếu cần thiết dữ liệu sẽ được
chuyển về dạng thích hợp cho việc khai phá, chẳng hạn dùng các phương pháp
thu giảm số chiều dữ liệu để làm giảm kích thước dữ liệu.

5. Khai thác dữ liệu: đây là cốt lõi của quy trình khai thác dữ liệu, với các phương
pháp đặc thù cho từng bài toán để trích xuất các mẫu (chứa tri thức) từ dữ
liệu.

6. Đánh giá mẫu: không phải mẫu nào trích xuất được đều giá trị. Đa số trường
hợp, tập mẫu trích xuất được chứa đựng khá nhiều mẫu hiển nhiên và không
có giá trị. Bước này được sử dụng để chỉ giữ lại các mẫu có ý nghĩa, gọi là
interesting patterns, dựa trên các độ đo interestingness measures.

7. Biểu diễn tri thức: các mẫu được trực quan hóa hoặc biểu diễn ở dạng thuận
lợi hơn cho người sử dụng.

Các bước từ 1 đến 4 có thể xem như các dạng của bước tiền xử lý. Bước số 5 và 6
trong một số trường hợp tích hợp vào một, với mục đích trích xuất mẫu. Bước cuối
cùng đại diện cho bước xuất kết quả, có thể là các dạng trực quan hóa cho người sử
dụng hoặc ở dạng tri thức mới được tích hợp vào trong hệ cơ sở tri thức.

1.3 Các loại dữ liệu cho khai thác


Việc khai thác dữ liệu có thể được thực hiện trên bất cứ loại dữ liệu nào nếu việc
khai thác là có ý nghĩa cho ứng dụng được nhắm đến. Dữ liệu dành cho khai thác
có thể là các bảng trong cơ sở dữ liệu quan hệ, dữ liệu văn bản (text data), dữ liệu
chuỗi thời gian (time series data), dữ liệu không gian (spatial data), dữ liệu không
gian-thời gian (spatio-temporal data), dữ liệu đồ thị (graph data),...
Trong giáo trình này, dữ liệu cho khai thác gọi là dataset, dùng để chỉ một tập
các đối tượng dữ liệu gọi là data objects. Mỗi data object được mô tả bằng một tập
các thuộc tính. Sau đây là một số ví dụ. [Bảng trong cơ sở dữ liệu quan hệ] Nếu xem
xét dữ liệu thông tin sinh viên, thì bảng dữ liệu chứa tập các thông tin sinh viên là
dataset, các trường (cột) trong bảng dữ liệu, ví dụ Họ tên, Ngày sinh, Giới tính,..., là
các thuộc tính. Mỗi dòng trong bảng dữ liệu đại diện cho thông tin một sinh viên là

6
các đối tượng dữ liệu. [Dữ liệu văn bản] Trong bài toán phân tích thái độ của khách
hàng đối với sản phẩm thông qua ý kiến đánh giá của khách hàng sản phẩm đó thì
tập dữ liệu là các nội dung đánh giá về sản phẩm của khách hàng, thì mỗi nội dung
đánh giá dưới dạng văn bản là một đối tượng dữ liệu. Các thuộc tính của các đối
tượng có thể lựa chọn là sự thống kê các từ khóa có mang giá trị biểu cảm.
[Dữ liệu chuỗi thời gian] Trong phân tích dữ liệu chứng khoán thì dataset là các
chuỗi giá trị cổ phiếu tương ứng với mốc thời gian. Đối tượng dữ liệu có thể là các
chuỗi giá trị hoặc các chuỗi con từ các chuỗi gốc ban đầu. Thuộc tính có thể chọn rất
là đa dạng, ví dụ dựa trên các giá trị thống kê đơn giản từ các giá trị của đối tượng
dữ liệu (trung mình, max, min,...) , hoặc trích xuất thông qua các biến đổi (DFT,
DWT, ...).
[Dữ liệu đồ thị] Dữ liệu mạng xã hội có thể xem như một dạng dữ liệu đồ thị
với các đối tượng dữ liệu là các node (tương ứng với người dùng) hoặc các subgraph
(tương ứng với các nhóm người dùng). Các thuộc tính có thể xem xét là các đặc tính
liên kết của mỗi node hoặc của mỗi subgraph.
[Dữ liệu không gian-thời gian] Ngoài các thuộc tính thông thường, khi các đối
tượng dữ liệu được gắn thêm các thuộc tính mô tả thời gian và vị trí thì dữ liệu
đó được gọi là dữ liệu có tính không-thời gian (spatio-temporal data). Ví dụ các
post/tweet trên mạng xã hội ngoài nội dung văn bản, còn được gắn thêm vị trí địa
lý và thời điểm đăng. Tham khảo thêm ở [?, ?, ?].

1.4 Các độ đo trong khai thác dữ liệu


Các bài toán khai thác dữ liệu đa phần căn cứ vào mối quan hệ giữa các đối tượng dữ
liệu - data objects trong tập dữ liệu dataset. Nội dung phần này sẽ đề cập đến phương
pháp đánh giá mức độ liên quan (giống nhau/khác nhau) giữa các data objects trong
một dataset. Nói chung, độ đo định nghĩa dựa trên các giá trị thuộc tính của các data
objects được sử dụng để xác định mức độ liên quan giữa các data objects đó.

1.4.1 Thuộc tính của đối tượng dữ liệu


Mỗi data object thường được mô tả bởi tập các giá trị thuộc tính. Thông thường, giá
trị thuộc tính được phân loại như sau:

• Giá trị danh nghĩa (Nominal Values): là một định danh thuộc một tập
gồm các định danh cho trước. Ví dụ trong một cơ sở dữ liệu khách hàng, các
thuộc tính sau của khách hàng có thể xem là mang giá trị danh nghĩa: giới tính
7
(nam, nữ), nghề nghiệp (giảng viên, lập trình viên, kiến trúc sư...), tình trạng
hôn nhân (độc thân, có gia đình, ly dị). Trong một số ngôn ngữ lập trình, các
giá trị này thường được xem là giá trị thuộc kiểu dữ liệu liệt kê (enumerations).
Dữ liệu dạng này không có tính thứ tự nên chỉ áp dụng được phép so sánh bằng
hay khác. Ngoài ra, các phép tính toán số học trên dạng dữ liệu này cũng không
có ý nghĩa.

• Giá trị nhị phân (Binary Values): có thể xem một dạng đặc biệt của giá
trị nominal với giá trị chỉ nhận một trong hai giá trị 0 hay 1. Ví dụ: có tham
dự/ không tham dự, trả lời đúng/ sai,...

• Giá trị có thứ tự (Ordinal Values): các giá trị có thể so sánh được để sắp
theo thứ hạn, tuy nhiên mức độ chênh lệch giữa các giá trị là không xác định.
Các thuộc tính sau là các ví dụ về thuộc tính có thứ tự: Kích cỡ (nhỏ, vừa, lớn),
xếp hạng (nhất, nhì, ba), thang điểm (A, B, C, D, E, F).

• Giá trị số (Numeric Values): là các thuộc tính mang tính định lượng, biểu
diễn bằng các giá trị số nguyên hay số thực. Ví dụ: nhiệt độ, độ ẩm, tốc độ di
chuyển,... Thuộc tính mang giá trị số có thể thuộc một trong hai dạng sau:

– Dựa trên thang đo (interval-scaled ): là giá trị thuộc tính được đo lường
dựa trên một đơn vị đo, có thể mang giá trị dương, bằng 0, hoặc âm. Loại
thuộc tính này cho phép thực hiện so sánh và xác định được sự chênh lệch
giữa các giá trị. Các giá trị loại này không bị chặn bởi điểm zero thực sự
(true zero-point) nên không thể tính tỉ lệ giữa các giá trị. Ví dụ các giá trị
nhiệt độ tính theo o C hay o F có thể dùng để sắp xếp thứ tự, tính sự sai
biệt, nhưng không thể nói nhiệt độ này gấp đôi nhiệt độ kia được. Tương
tự như vậy, năm dương lịch không có điểm zero-point thực sự nên không
thể tính tỉ lệ giữa các năm được, mà chỉ tính được năm này cách năm kia
bao nhiêu năm.
– Dựa trên thang tỉ lệ (ratio-based ): là giá trị số tương tự như giá trị thuộc
tính interval-scaled, có thể dùng để sắp thứ tự và tính sự sai biệt giữa các
giá trị. Ngoài ra loại thuộc tính này có điểm zero thực sự nên có thể tính
tỉ lệ giữa các giá trị. Ví dụ thuộc tính "số năm kinh nghiệm" có giá trị
zero-point là 0 (tương ứng 0 năm kinh nghiệm), và có thể nói 4 năm kinh
nghiệm là gấp 2 năm kinh nghiệm. Mức lương (theo VND hay USD) là
một ví dụ khác về loại thuộc tính này.

8
Ngoài cách phân loại như trên, người ta có thể phân chia hai loại thuộc tính: thuộc
tính có giá trị rời rạc (discrete) và thuộc tính có giá trị liên tục (continuous). Thuộc
tính có giá trị rời rạc nhận giá trị trong một tập hữu hạn hoặc tập vô hạn đếm được
các giá trị. Ví dụ thuộc tính màu tóc, nghề nghiệp, mã vùng, giới tính, nhóm máu,...
Thuộc tính rời rạc có thể nhận các giá trị số, ví dụ mã khách hàng là một số nguyên
được gán tăng dần.
Thuộc tính không phải rời rạc được gọi là liên tục, ví dụ: chiều cao, câng nặng,
nhiệt độ,... Trong thực tế thì giá trị của thuộc tính liên tục được biểu diễn bằng giá
trị số thực dấu chấm động.

1.4.2 Các độ đo dựa trên thuộc tính dữ liệu


Nhiều kỹ thuật khai thác dữ liệu làm việc được dựa trên việc đánh giá mức độ tương
tự hay tương đồng giữa các đối tượng. Thông thường mức độ tương tự này được tính
một cách gián tiếp thông qua một hàm tính toán trên các thuộc tính quan sát được
của đối tượng. Hàm này được gọi là hàm độ đo tương tự (similarity measure), và tùy
thuộc vào ngữ cảnh bài toán mà sẽ có cách định nghĩa riêng.
Trong một số trường hợp, thay vì đánh giá mức độ tương tự của hai đối tượng,
người ta còn dùng độ đo sai biệt (dissimilarity measure). Về mặt bản chất, hai độ đo
tương tự và sai biệt có thể dễ dàng chuyển đổi qua lại bằng cách áp dụng một hàm
chuyển đổi có tính chất đơn điệu giảm. Gọi sim(x, y) là làm xác định độ đo tương tự
giữa hai đối tượng x và y, khi đó một trong những cách định nghĩa hàm dis(x, y) là
độ đo sai biệt giữa x và y thông dụng như sau: dis(x, y) = 1 − sim(x, y).
Khi định nghĩa độ sai biệt giữa các đối tượng người ta còn sử dụng hai thuật ngữ:
khoảng cách và metric. Khái niệm khoảng cách thường được liên hệ với khái niệm
khoảng cách trong không gian Euclide, hay còn gọi là khoảng cách Euclide. Giả sử
các đối tượng x = (x1 , x2 , ..., xn ) và y = (y1 , y2 , ..., yn ) có các thuộc tính xi và yi là số
thực, khoảng cách Euclide giữa x và y được định nghĩa như sau:
v
u n
uX
dE (x, y) = t (xi − yi )2 . (1.1)
i=1

Tương tự độ đo khoảng cách, độ đo metric cũng sử dụng để đo mức độ sai biệt


giữa hai đối tượng, nhưng có tính tổng quát hơn. Độ đo d(x, y) được gọi là độ đo
metric nếu thõa mãn ba điều kiện sau:

1. d(x, y) ≥ 0 với mọi cặp đối tượng x và y, và d(x, y) = 0 khi và chỉ khi x = y;

9
2. d(x, y) = d(y, x) với mọi cặp đối tượng x và y; và

3. d(x, y) ≤ d(x, z) + d(z, y) với mọi đối tượng x, y và z (bất đẳng thức tam giác)
Rõ ràng khoảng cách Euclide đề cập ở trên là một độ đo metric, gọi là L2 metric.
Khoảng cách Euclide có thể được tổng quát lên, gọi là khoảng cách Minkowski hay
Lλ :
n
1
X
d(x, y) = ( (xi − yi )λ ) λ , (λ ≥ 1). (1.2)
i=1

Khi λ = 1, ta có L1 metric, còn gọi là khoảng cách Manhattan


n
X
dM H (x, y) = |xi − yi |. (1.3)
i=1

Trong trường hợp λ → ∞, ta có L∞ metric:

d(x, y) = max |xi − yi |. (1.4)


i∈{1..n}

Nói chung, độ đo metric có thể định nghĩa rất nhiều cách, tùy từng trường hợp
cụ thể để quyết định chọn độ nào là phù hợp.
Đối với dữ liệu mà các thuộc tính của đối tượng mang các giá trị nhị phân {0,
1} thì việc định nghĩa độ đo tương tự sẽ phù hợp và có tính tự nhiên hơn so với
định nghĩa độ đo khoảng cách. Có thể sử dụng khái niệm hệ số so trùng (matching
coefficient) định nghĩa như sau:

n1,1 + n0,0
sim(x, y) = , (1.5)
n1,1 + n1,0 + n0,1 + n0,0

với:
• n1,1 : tổng số thuộc tính mà tại đó x và y đều có giá trị bằng 1;

• n1,0 : tổng số thuộc tính mà tại đó x có giá trị bằng 1 và y có giá trị bằng 0;

• n0,1 : tổng số thuộc tính mà tại đó x có giá trị bằng 0 và y có giá trị bằng 1;

• n0,0 : tổng số thuộc tính mà tại đó x và y đều có giá trị bằng 0.


Một số biến thể của độ đo trên khi chỉ quan tâm đến trường hợp giá trị 1 (thể hiện
sự hiện diện của thuộc tính), là độ đo Jaccard và độ đo Dice:

n1,1
Jaccard(x, y) = , (1.6)
n1,1 + n1,0 + n0,1
10
2n1,1
Dice(x, y) = . (1.7)
2n1,1 + n1,0 + n0,1
Tương tự như dữ liệu với thuộc tính mang giá trị số, có nhiều cách định nghịa độ đo
cho dữ liệu có thuộc tính mang giá trị nhị phân. Tùy vào trường hợp cụ thể để lựa
chọn độ đo phù hợp.
Trong trường hợp giá trị thuộc tính có kiểu khác giá trị số thì có thể định nghĩa
độ đo tương tự dựa trên số lượng thuộc tính có giá trị tương đồng giữa hai đối tượng,
và hệ số so trùng ở công thức 1.5 hay các biến thể của nó có thể được sử dụng.
Trong thực tế, nhiều trường hợp đối tượng dữ liệu gồm hỗn hợp các kiểu thuộc
tính khác nhau. Giải pháp có thể sử dụng là định nghĩa một độ đo dựa trên cộng dồn
các độ đo trên tập con các thuộc tính. Khi đó, việc chuẩn hóa là điều cần thiết để độ
đo có ý nghĩa.

1.5 Vấn đề thu thập và chuẩn bị dữ liệu


Dữ liệu dùng cho khai thác thu thập từ nhiều nguồn khác nhau và ở các dạng cũng
khác nhau. Dạng dữ liệu đơn giản nhất là tập các vector giá trị thuộc tính của các
đối tượng. Như vậy dataset trong trường hợp này được coi như một ma trận, với số
hàng tương ứng với số đối tượng và số cột tương ứng với số thuộc tính được quan sát.
Dạng dữ liệu này được gọi là dữ liệu dạng bảng hay data matrix.
Trong một số trường hợp, nhiều loại đối tượng dữ liệu được thu thập và dataset
sẽ bao gồm nhiều bảng. Các bảng này có sự móc nối với nhau. Dạng dữ liệu này được
gọi là multirelational data. Trong nhiều trường hợp, có thể chuyển các bảng trong
multirelational data thành một bảng duy nhất bằng cách kết (join) các bảng ban đầu
lại với nhau. Tuy nhiên, việc chuyển đổi này không phải lúc nào cũng áp dụng được.
Nói chung, không thể có một bảng đơn nào có thể truyền tải thông tin thay thế cho
một multirelational dataset được.
Một số dạng dữ liệu không phù hợp cho việc sử dụng dạng bảng để lưu trữ, ví dụ
dữ liệu chuỗi thời gian, text, dữ liệu không gian, dữ liệu multimedia...
Lựa chọn mô hình dữ liệu tốt sẽ quyết định đến sự thuận lợi và chất lượng của
quá trình khai thác dữ liệu. Vì vậy, đây là bước phải quan tâm một cách cẩn thận
khi thực hiện thu thập và chuẩn bị dữ liệu.

11
1.6 Vấn đề chất lượng dữ liệu
Chất lượng dữ liệu đầu vào là một trong những yếu tố quyết định đến tính hiệu quả
của quy trình khai thác dữ liệu. Có nhiều yếu tố ảnh hưởng đến chất lượng của dữ
liệu, trong đó bao gồm: tính chính xác, tính đầy đủ, tính nhất quán, tính hợp thời,
tính tin cậy, có thể diễn giải được.
Chất lượng của dữ liệu được xem xét dưới hai góc độ sau:

• Chất lượng dữ liệu ở từng giá trị thuộc tính: Mỗi giá trị thuộc tính được đo
lường theo một phương thức nào đó, và giá trị ghi lại trong tập dữ liệu và giá
trị thực sự có thể có sự sai lệch. Có hai loại lỗi trong đo lường giá trị: thiếu
chính xác và không đúng đắn. Chính xác nghĩa là nếu lặp lại các lần đo thì giá
trị nhận được sẽ chỉ biến động nhỏ. Đúng đắn có nghĩa là giá trị đo đạc được
phải phản ánh đúng giá trị thực sự của thuộc tính đối tượng được đo đạc.

• Chất lượng dữ liệu từ toàn bộ quy trình thu thập: Trong đa số trường hợp, dữ
liệu sử dụng cho khai thác có được bằng cách lấy mẫu, và từ một tập con các
đối tượng quan sát được để kết luận trên tập toàn thể. Phương thức lấy mẫu sẽ
ảnh hưởng đến chất lượng dữ liệu. Ví dụ đối với bài toán dựa trên dữ liệu hộp
đen giám sát hành trình di chuyển của phương tiện giao thông để tìm các xu
hướng di chuyển của người dân trong mạng lưới giao thông, số lượng phương
tiện giao thông được quan sát cũng như chủng loại phương tiện quan sát (xe
hơi, xe máy, xe bus,...) sẽ ảnh hưởng rất nhiều đến kết quả.

1.7 Trực quan hóa dữ liệu


Trực quan hóa dữ liệu là việc trình bày dữ liệu ở dạng đồ họa hoặc bảng biểu cho
người sử dụng. Trình tự chung trong vấn đề trực quan hóa dữ liệu như sau:

1. Trình bày dữ liệu: ánh xạ thông tin (đối tượng, thuộc tính, và các mối quan hệ)
sang dạng trực quan, là các thành phần đồ họa (điểm, đường, hình khối, màu
sắc,...).

2. Sắp xếp: các thành phần đồ họa cần được sắp xếp hợp lý để tăng hiệu quả của
việc trực quan hóa.

3. Chọn lựa: không phải toàn bộ dữ liệu sẽ được trình bày ở dạng trực quan hóa.
Trong nhiều trường hợp, đưa tất cả đối tượng lên khung hiển thị sẽ dẫn đến sự
12
dày đặc và chồng lấp. Ngoài ra, khi có nhiều thuộc tính thì việc trực quan hóa
cũng là vấn đề thách thức. Giải pháp chung cho hai vấn đề nêu trên là chọn lựa
tập con đối tượng/thuộc tính để trực quan hóa. Khi đó, các kỹ thuật như lấy
mẫu, thu giảm số chiều,... cần được áp dụng.

Câu hỏi và bài tập Chương 1


1. Khai thác dữ liệu là gì? Cho một ví dụ thực tế trong lĩnh vực giao thông vận
tải và logistics.

2. Một công ty quản lý vận tải có tập dữ liệu hành trình GPS thu thập từ hộp
đen của các phương tiện mà công ty quản lý. Công ty có thể khai thác dữ liệu
này để phục vụ cho kinh doanh như thế nào?

3. Vai trò của độ đo trong khai thác dữ liệu là gì? Khi lựa chọn độ đo cần quan
tâm đến vấn đề gì?

4. Tính độ đo Euclidean, Manhattan, Dice và Jaccard giữa hai điểm x, y trong


các trường hợp sau và cho nhận xét:

a. x = (1,0,1,0) và y = (0,0,1,0)
b. x = (1,0,1,0) và y = (0,1,0,1)
c. x = (1,0,1,0) và y = (1,1,1,1)

5. Tại sao chất lượng của dữ liệu lại quyết định đến hiệu năng của các giải thuật
khai thác dữ liệu? Cho ví dụ minh họa.

13
14

You might also like