Professional Documents
Culture Documents
KHDL
KHDL
Tổng quan
TS. Thái Kim Phụng
Khoa CNTT kinh doanh – ĐH Kinh tế TPHCM
phungthk@ueh.edu.vn
2023
Mục tiêu
Hiểu thời đại thông tin, chuyển đổi số
Biết một số ngành, lãnh vực liên quan đến khoa học dữ liệu
2
Chương 1. Tổng quan
Nội dung
1. Thời đại thông tin
3
Chương 1. Tổng quan
1. Thời đại thông tin
Thời đại thông tin (Information Age), thời đại số (Digital Age)
[https://medium.com/]
4
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Thế giới số (Digital World), xã hội số (Digital Society)
5
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Thế giới số (Digital World), xã hội số (Digital Society)
6
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Số hóa các đối tượng (digitization): công nghệ
7
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Số hóa tổ chức (digitalization): quy trình hoạt động
8
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Chuyển đổi số (digital transformation)
9
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Bùng nổ thông tin, quá tải thông tin (information overload)
[Vercellis]
10
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Bùng nổ thông tin, quá tải thông tin (information overload)
11
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Bùng nổ thông tin, quá tải thông tin
“Data Flood”
12
Chương 1. Tổng quan
1. Thời đại thông tin (tt.)
Các khái niệm
● dữ liệu (data)
13
Chương 1. Tổng quan
Nội dung
1. Thời đại thông tin
14
Chương 1. Tổng quan
2. Khoa học dữ liệu
15
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khoa học dữ liệu (Data Science)
● thu thập
kiểu dữ liệu và cấu trúc dữ liệu
● tổ chức
quy trình xử lý (process)
● lưu trữ
chọn lựa mô hình (model selection)
● xử lý
phương pháp (method)
● khai thác
16
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khoa học dữ liệu (Data Science): analytics
[Gartner]
17
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khoa học dữ liệu (Data Science): analytics
18
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khoa học dữ liệu (Data Science): bối cảnh KH, công nghệ
19
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khoa học dữ liệu (Data Science): bối cảnh KH, công nghệ
20
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Dữ liệu lớn (Big Data)
[https://blogs.oracle.com/
03/2016]
21
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Dữ liệu lớn (Big Data)
● variety: sự đa dạng
[https://www.researchgate.net/]
22
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Điện toán đám mây (Cloud Computing)
23
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Điện toán đám mây (Cloud Computing)
● Software as a Service
● Platform as a Service
● Infrastructure as a Service
https://oracle-help.com/oracle-cloud/
24
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Kết nối vạn vật (Internet of Things – IoT)
25
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Công nghệ Blockchain
● sổ cái (ledger) phi tập trung, ghi nhận các giao dịch trên mạng
ngang hàng (peer-2-peer – P2P)
26
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Công nghệ Blockchain
[https://www.treasurers.org]
27
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Thông minh nhân tạo, trí tuệ nhân tạo (Artificial Intelligence - AI)
● chế tạo máy tính, các chương trình máy tính thông minh
[McCarthy, 1956]
● chế tạo máy tính có trí tuệ, có khả năng suy nghĩ giống như
con người [Haugeland, 1985]
● nghiên cứu các mô hình máy tính có thể nhận thức, suy luận
và hành động [Winston, 1992]
● nghiên cứu các hành vi thông minh mô phỏng vật thể nhân tạo
[Nilsson, 1998]
● ...
28
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): lịch sử phát triển
[https://digitalwellbeing.org]
29
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): khoa học liên ngành
30
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): khả năng máy tính
thông minh như con người
31
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Sự thông minh: phân loại [Gardner]
32
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Sự thông minh: yếu tố
● learning
● reasoning
● perception
● problem solving
● linguistic intelligence
33
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): learning
34
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): reasoning
● inductive: từ những quan sát cụ thể suy ra phát biểu tổng quát
● deductive: áp dụng phát biểu tổng quát cho quan sát cụ thể
35
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): perception
36
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): problem solving
37
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Trí tuệ nhân tạo (Artificial Intelligence – AI): linguistic intelligence
38
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Ứng dụng AI
● giáo dục
● tiện nghi
● ...
39
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Học máy (Machine Learning)
● máy tính có khả năng “học tập” giống như con người
40
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Học máy (Machine Learning) Chương 4 và 5
41
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Học máy (Machine Learning) Chương 4 và 5
42
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khai phá dữ liệu (Data Mining, Knowledge Discovery in
Databases – KDD)
● khám phá những quy luật, những tri thức từ kho dữ liệu
43
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khai phá dữ liệu (Data Mining, KDD)
44
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khai phá dữ liệu (Data Mining, KDD): quy trình khai thác
[Imberman+]
45
Chương 1. Tổng quan
2. Khoa học dữ liệu (tt.)
Khai phá dữ liệu (Data Mining, KDD): quy trình (tiền) xử lý
[Alonso-Betanzos+]
46
Chương 1. Tổng quan
Nội dung
1. Thời đại thông tin
47
Chương 1. Tổng quan
3. Ứng dụng KHDL trong kinh doanh
Bài toán kinh doanh
48
Chương 1. Tổng quan
3. Ứng dụng KHDL trong kinh doanh (tt.)
Ứng dụng khoa học dữ liệu
● những vấn đề
49
Chương 1. Tổng quan
Tài liệu tham khảo
García Márquez F.-P. & Lev B., Data Science and Digital Business, 2019.
Ho T.-B., Trao đổi về Khoa học dữ liệu và Khoa học dữ liệu trong kinh doanh,
2019.
Provost F. & Fawcett T., Data Science for Business: What You Need to Know
about Data Mining and Data-Analytic Thinking, O'Reilly Media, 2013.
50
Chương 1. Tổng quan
Thảo luận
51
Chương 1. Tổng quan
Chương 2
PHƯƠNG PHÁP THỐNG KÊ
NỘI DUNG
Phân tích mô tả
• Hàm, công cụ thống kê
• Báo cáo tổng hợp nhóm với Subtotal
• Hợp nhất dữ liệu với Consolidate
• Tổng hợp dữ liệu đa chiều với PivotTable
Phân tích dự báo
• Trung bình trượt (Moving Average)
• San bằng mũ (Exponential Smoothing)
• Hồi quy (Regression)
Phân tích tối ưu
• Lập mô hình tối ưu
• Sử dụng công cụ SOLVER để giải mô hình tối ưu
Hàm thống kê thông dụng
Tên hàm Cú pháp và công dụng
MIN MIN(danh-sách) : trả về giá trị nhỏ nhất của các số trong danh-sách
Ví dụ: = MIN(6,4,2,8) Kết quả: 2
MAX MAX(danh-sách) : trả về giá trị lớn nhất của các số trong danh-sách
Ví dụ: = MAX(6,4,2,8) Kết quả: 8
SUM SUM(x1 , x2 , … , xn): trả về tổng các số x1 , x2 , … , xn
SUMIF SUMIF(vùng-chứa-điều-kiện, điều-kiện, [vùng-tính-tổng]): trả về tổng các
ô trong vùng-tính-tổng tương ứng theo thứ tự với các ô trong vùng-
chứa-điều-kiện thỏa điều-kiện. Nếu bỏ qua tham số vùng-tính-tổng
nghĩa là vùng-tính-tổng = vùng-chứa-điều-kiện.
SUMIFS SUMIFS(vùng-tính-tổng, vùng-chứa-điều-kiện-1,điều-kiện-1, [vùng-chứa-
điều-kiện-2,điều-kiện-2],…) : trả về tổng các ô trong vùng-tính-tổng ứng
với thứ tự các ô trong vùng-chứa-điều-kiện-1 thỏa điều-kiện-1 và các ô
trong vùng-chứa-điều-kiện-2 thỏa điều-kiện-2,…
Hàm thống kê thông dụng
Tên hàm Cú pháp và công dụng
AVERAGE AVERAGE(danh-sách): trả về giá trị trung bình của các số trong
danh-sách. Ví dụ: = AVERAGE (6,4,2,8) Kết quả: 5.75
Số trung vị Số trung vị của một dãy số là giá trị ở vị trí chính giữa khi dãy số đó được
sắp xếp theo thứ tự tăng dần (hoặc ngược lại).
𝑛+1
Nếu số phần tử N của dãy số là lẻ thì số trung vị là số ở vị trí thứ 2
Nếu số phần tử N của dãy số là chẳn thì số trung vị là giá trị trung
𝑛 𝑛
bình của 2 số ở vị trí thứ 2 và +1
2
Cú pháp: MEDIAN(Số-thứ-1, Số-thứ-2,…)
Trong đó:
Số-thứ-1: bắt buộc.
Số-thứ-2,…: tùy chọn.
Ví dụ: = MEDIAN(1,3,4,8,2) Kết quả là 3
= MEDIAN(1,3,4,8,2,5) Kết quả là 3.5
Hàm thống kê chuyên dụng
Tên hàm Cú pháp và công dụng
Số yếu vị Số yếu vị là số có tần số xuất hiện nhiều nhất trong một dãy số.
Cú pháp: Có 3 cách dùng
MODE(Số-thứ-1, Số-thứ-2,…)
MODE.MULT(Số-thứ-1, Số-thứ-2,…)
MODE.SNGL(Số-thứ-1, Số-thứ-2,…)
Trong đó:
Số-thứ-1: bắt buộc.
Số-thứ-2,…: tùy chọn.
Nếu dãy số không có giá trị lặp lại thì hàm thông báo lỗi #N/A
Hàm MODE.SNGL tương tự hàm MODE.
Hàm MODE.MULT được dùng khi dãy số có nhiều số yếu vị. Kết thúc
hàm bằng tổ hợp phím Ctrl + Shift + Enter
Ví dụ:
= MODE(1,3,2,5,2,3) Kết quả là 3 (dãy số có số 2 và số 3 xuất hiện 2 lần
nhưng 3 là số xuất hiện trước)
= MODE.MULT(1,3,2,5,2,3) Kết quả là 3,2
Hàm thống kê chuyên dụng
Tên hàm Cú pháp và công dụng
Phương sai Tính phương sai của mẫu (sample)
Cú pháp: VAR(Số-thứ-1, Số-thứ-2,…)
VAR.S(Số-thứ-1, Số-thứ-2,…)
Trong đó:
Số-thứ-1: bắt buộc.
Số-thứ-2,…: tùy chọn.
Nếu các đối số có chứa giá trị logic (True/False) hoặc chuỗi thì dùng
hàm VARA. Khi đó True = 1, False =0 và giá trị chuỗi =0.
Tính phương sai của tổng thể (population)
Cú pháp: VARP(Số-thứ-1, Số-thứ-2,…)
VAR.P(Số-thứ-1, Số-thứ-2,…)
Trong đó:
Số-thứ-1: bắt buộc.
Số-thứ-2,…: tùy chọn.
Nếu các đối số có chứa giá trị logic (True/False) hoặc chuỗi thì dùng
hàm VARPA. Khi đó True = 1, False = 0 và giá trị chuỗi = 0.
Hàm thống kê chuyên dụng
Tên hàm Cú pháp và công dụng
Độ lệch Độ lệch chuẩn là căn bậc 2 của phương sai.
chuẩn Tính độ lệch chuẩn của mẫu (sample)
Cú pháp: STDEV(Số-thứ-1, Số-thứ-2,…)
STDEV.S(Số-thứ-1, Số-thứ-2,…)
Trong đó:
Số-thứ-1: bắt buộc.
Số-thứ-2,…: tùy chọn.
Nếu các đối số có chứa giá trị logic (True/False) hoặc chuỗi thì dùng hàm
STDEVA. Khi đó True = 1, False =0 và giá trị chuỗi =0.
Tính độ lệch chuẩn của tổng thể (population)
Cú pháp: STDEVP(Số-thứ-1, Số-thứ-2,…)
STDEV.P(Số-thứ-1, Số-thứ-2,…)
Trong đó:
Số-thứ-1: bắt buộc.
Số-thứ-2,…: tùy chọn.
Nếu các đối số có chứa giá trị logic (True/False) hoặc chuỗi thì dùng hàm
STDEVPA. Khi đó True = 1, False = 0 và giá trị chuỗi = 0.
Thống kê bằng công cụ Descriptive statistics
Cách thực hiện:
Bước 1: Chuẩn bị bảng số liệu cần thống kê.
Bước 2: Chọn lệnh Data Data Analysis
Descriptive Statistics, xuất hiện hộp thoại
Descriptive Statistics.
Bước 3: Khai báo các thông số Input và lựa chọn
các thông số Output Options.
Thống kê bằng công cụ Descriptive statistics
Cần thống kê
tổng số tiền
mà mỗi nhân
viên đã thực
hiện
Báo cáo tổng hợp nhóm với Subtotal
Cách thực hiện:
Bước 1: Sắp xếp dữ liệu theo cột muốn gom
nhóm (Trong trường hợp này là Salesperson)
Bước 2: Chọn toàn bộ cơ sở dữ liệu hay click
chuột vào một ô bất kỳ trên dữ liệu.
Bước 3: Chọn Data Outline Subtotal, xuất
hiện hộp thoại Subtotal.
Báo cáo tổng hợp nhóm với Subtotal
• At each change in: chọn cột gom nhóm
Hộp thoại Subtotal (Salesperson)
• Use function: chọn hàm thống kê dùng để
tổng hợp dữ liệu (Sum)
• Add subtotal to: chọn cột thống kê giá trị
(Order Amount)
• Replace current subtotals: chọn để thay
thế kết quả thống kê trước đó
• Page break between group: chọn để ngắt
trang giữa các nhóm, khi in ra giấy thì mỗi
nhóm một trang giấy
• Summary below data: chọn để kết quả
tổng hợp ở dưới mỗi nhóm
• Remove All: để xóa bỏ các kết quả tổng
hợp
Báo cáo tổng hợp nhóm với Subtotal
Hợp nhất dữ liệu với Consolidate
Chức năng của Consolidate:
Cho phép hợp nhất dữ liệu từ những bảng dữ liệu
khác nhau.
Consolidate có thể hợp nhất dữ liệu theo 2 hình
thức:
Tổng hợp theo vị trí: các bảng dữ liệu giống
nhau về cấu trúc.
Tổng hợp theo hạng mục (theo hàng và cột):
các bảng dữ liệu khác nhau về cấu trúc.
Hợp nhất dữ liệu với Consolidate
Hợp nhất dữ liệu với Consolidate
Cách thực hiện:
Bước 1: Chọn vùng sẽ chứa dữ liệu được hợp
nhất.
Bước 2: Chọn Data Data Tools Consolidate,
xuất hiện hộp thoại Consolidate
Hợp nhất dữ liệu với Consolidate
• Function: chọn hàm tổng hợp.
Hộp thoại Consolidate
• Reference: để tham chiếu lần lượt các
bảng dữ liệu nguồn.
• All references: chứa tất cả các vùng dữ
liệu nguồn cần thiết cho việc hợp nhất.
• Top row: chọn nếu muốn dùng tên cột
của vùng nguồn.
• Left column: chọn nếu muốn dùng các
giá trị của cột đầu tiên của vùng nguồn.
• Create links to source data: chọn nếu
muốn dữ liệu hợp nhất được cập nhật
mỗi khi có thay đổi ở vùng dữ liệu
nguồn.
Hợp nhất dữ liệu với Consolidate
Kết quả
Tổng hợp dữ liệu đa chiều với PivotTable
Trong quá trình phân tích và tổng hợp dữ liệu, người
ta thường có nhu cầu gom nhóm dữ liệu theo theo
một số tiêu chí nào đó để dễ dàng quản lý.
Excel cung cấp công cụ PivotTable để tổng hợp và
phân tích dữ liệu với nhiều góc độ và nhiều cấp khác
nhau.
Nguồn dữ liệu để tạo PivotTable có thể là một cơ sở
dữ liệu của Excel hay từ nguồn dữ liệu bên ngoài
(như MS Access, MS SQL Server,…)
Tổng hợp dữ liệu đa chiều với PivotTable
Tổng hợp dữ liệu đa chiều với PivotTable
Cách thực hiện trên Excel:
Bước 1: Click vào ô bất kỳ
trên cơ sở dữ liệu.
Bước 2: Chọn lệnh Insert
PivotTable.
Bước 3: Xuất hiện hộp
thoại Create PivotTable,
chọn dữ liệu nguồn và nơi
chứa PivotTable, click nút
OK.
Tổng hợp dữ liệu đa chiều với PivotTable
Cách thực hiện trên Excel:
Bước 4: Drag các tên field từ PivotTable Fields vào 4 khu
vực: FILTERS, ROWS, COLUMNS và VALUES.
Tổng hợp dữ liệu đa chiều với PivotTable
Hiệu chỉnh PivotTable:
Thay đổi tên Field
PivotTable tự tạo ra các ô
có nền đậm khi thả các
field vào vùng layout.
Nội dung trong các ô này
được tạo tự động dựa theo
tên field và nơi bố trí.
Có thể gõ lại nội dung để
báo cáo rõ ràng hơn.
Tổng hợp dữ liệu đa chiều với PivotTable
Hiệu chỉnh PivotTable:
Sắp xếp
Bấm vào mũi tên bên phải
của nhãn dòng hoặc cột
muốn sắp xếp.
Bấm vào tuỳ chọn sắp xếp.
Tổng hợp dữ liệu đa chiều với PivotTable
Hiệu chỉnh PivotTable:
Thay đổi phép tổng hợp
dữ liệu
Nhấn mũi tên tên xổ xuống
cạnh field cần định dạng
trong khu vực Values
Chọn Value Field Settings
trong danh sách mở ra
Chọn phương thức xử lý
trong mục Summarize
value field by
Phương pháp: trung bình trượt (Moving Average)
Công thức tính:
1 w N Dt 1 Dt 2 Dt w
Ft Dt w
w n 1 w
Trong đó:
Ft: là giá trị dự báo kỳ t
N: tổng số kỳ thực tế
Input X Range: Vùng địa chỉ chứa các biến độc lập X (Có
thể chọn nhiều biến X trong trường hợp hồi quy đa biến)
Labels: Tích vào mục này để khẳng định ô (các ô) đầu tiên
không chứa dữ liệu hồi quy
Constant is Zero: Tích vào mục này để khẳng định hệ số
tự do của hàm hồi quy tuyến tính a = 0
Phương pháp: Hồi quy (Regression)
Cách thực hiện bằng công cụ Regression:
Confidentce Level: Độ tin cậy của hồi quy (mặc định là 95%)
bằng 1-α, với α là mức ý nghĩa hay xác suất mắc sai lầm loại
một, bác bỏ H0 trong khi H0 đúng.
Output Range: Vùng hoặc ô phía trên bên trái của vùng chứa
kết quả
New Worksheet Ply: In kết quả ra một sheet khác
New Workbook: In kết quả ra một file Excel mới
Residuals: Sai số do ngẫu nhiên
Standardardlized Residuals: Chuẩn hóa sai số
Residuals Plots: Đồ thị sai số
Line Fit Plots: Đồ thị hàm hồi quy tuyến tính
Normal Probability Plots: Đồ thị xác suất phân phối chuẩn
Phương pháp: Hồi quy (Regression)
Bài tập 1
Công ty TNHH Quang Thông buôn bán máy vi tính có số
máy PC trong năm qua như sau:
Tháng 1 2 3 4 5 6 7 8 9 10 11 12
Số lượng 54 55 52 56 47 43 50 45 37 41 40 37
Nhu cầu tối thiểu về thành phần dinh dưỡng để cung cấp cho
gia súc của nông trại này một ngày lần lượt là 1,3 kg can xi, 30
kg đạm và 10 kg chất sợi. Nông trại cần xác định phương án
pha trộn các loại thức ăn để giảm chi phí thức ăn trong khi vẫn
đảm bảo nhu cầu dinh dưỡng cho gia súc.
Bài tập 2
Một công ty xây dựng lập kế hoạch sản xuất các cấu kiện bê
tông đúc sẵn. Công ty dự kiến sản xuất 3 loại cấu kiện A, B, và
C. Lượng xi măng, thép và đá cần dùng cho mỗi loại cấu kiện
cho ở bảng sau:
Vật liệu Cấu kiện A Cấu kiện B Cấu kiện C
Xi măng (kg) 300 100 200
Thép (kg) 100 100 200
Đá (kg) 100 300 200
Số lượng xi măng, thép, đá có sẵn trong kho của Công ty là
3.400kg, 1.800 kg, và 2.200 kg. Công ty cần xác định phương
án sản xuất sao cho có thể sản xuất nhiều loại cấu kiện nhất?
Bài tập 3
Một công ty may mặc sản xuất 3 loại áo A, B, và C. Mỗi loại áo
đều phải qua 3 công đoạn sản xuất là cắt, may và đóng gói với
mức thời gian cho mỗi loại áo được cho ở bảng sau:
Áo loại A Áo loại B Áo loại C
Bộ phận cắt (giờ) 0,2 0,4 0,3
Bộ phận may (giờ) 0,3 0,5 0,4
Bộ phận đóng gói (giờ) 0,1 0,2 0,1
Tổng giờ công trong mỗi tuần 3 bộ phận cắt, may, và đóng gói
có thể huy động lần lượt là 1.160 giờ, 1.560 giờ, và 480 giờ.
Công ty cần xác định sản lượng áo mỗi loại cần sản xuất trong
1 tuần để sử dụng tối đa năng lực của nhà máy?
Chương 3
Tiền xử lý dữ liệu
TS. Thái Kim Phụng
Khoa CNTT kinh doanh – ĐH Kinh tế TPHCM
phungthk@ueh.edu.vn
2023
Mục tiêu
Hiểu quy trình khai thác dữ liệu
2
Chương 3: Tiền xử lý dữ liệu
Nội dung
1. Quy trình khai thác dữ liệu
2. Tiền xử lý dữ liệu
3
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu
Data mining
● khám phá những quy luật, những tri thức từ kho dữ liệu
[Imberman+]
4
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
Data mining
● ...
5
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
CRoss Industry Standard Process for Data Mining (CRISP-DM)
Đề án
6
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
Công đoạn Business Understanding: tìm hiểu các khía cạnh của
vấn đề cần được giải quyết
● xác định mục đích kinh doanh: nội dung, tác động
● lập kế hoạch
7
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
Công đoạn Data Understanding: tìm hiểu dữ liệu (nguồn)
● mô tả dữ liệu
8
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
Công đoạn Data Preparation: tiền xử lý dữ liệu
9
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
Công đoạn Modeling: mô hình hóa dữ liệu
● xây dựng các phương pháp, tiêu chí đánh giá mô hình
10
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
Công đoạn Evaluation: đánh giá kết quả
● đánh giá mức độ tin cậy, lợi ích (tiềm tàng) của những quy luật
● xác định những yếu tố cần hiệu chỉnh hay cải tiến, nếu cần
11
Chương 3: Tiền xử lý dữ liệu
1. Quy trình khai thác dữ liệu (tt.)
Công đoạn Deployment: đưa quy trình khai thác vào trong
hoạt động kinh doanh
● lập kế hoạch khai thác (dài hạn) trong hoạt động kinh doanh
● lập kế hoạch kiểm soát, đánh giá ( cải tiến) quy trình
12
Chương 3: Tiền xử lý dữ liệu
Nội dung
1. Quy trình khai thác dữ liệu
2. Tiền xử lý dữ liệu
13
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu
Phân loại dữ liệu: tùy mục tiêu, quan điểm, mức trừu tượng
● …
14
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Phân loại dữ liệu: tùy mục tiêu, quan điểm, mức trừu tượng
15
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Phân loại dữ liệu: tùy mục tiêu, quan điểm, mức trừu tượng
● items
● attributes
● nodes
thể hiện (biểu đồ)
● links
● positions
● grids
16
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Phân loại dữ liệu: tùy mục tiêu, quan điểm, mức trừu tượng
17
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Chất lượng của dữ liệu
18
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Chất lượng truy cập dữ liệu
● đúng đắn
● toàn vẹn
● an toàn
● trực quan
19
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Tiền xử lý dữ liệu (Data Preprocessing)
[Baskar+]
20
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning: làm sạch dữ liệu
21
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning – Dữ liệu bị thiếu (missing values)
nguyên nhân ?
22
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning – Xử lý dữ liệu bị thiếu
● thay thế bằng các giá trị được tính toán (quy tắc, thuật toán)
các hằng số ngầm định
các loại giá trị trung bình
các giá trị phổ biến, có xác suất xảy ra cao nhất
…
phòng ngừa ?
23
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning – Dữ liệu nhiễu (noisy data)
nguyên nhân ?
24
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning – Phát hiện, khử nhiễu
● filter: chọn lựa các thuộc tính (feature selection), phân tích
tương quan
25
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning – Dữ liệu không nhất quán
(inconsistent data)
● dữ liệu được ghi nhận khác nhau đối với cùng một đối tượng
nguyên nhân ?
26
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning – Dữ liệu không nhất quán
(inconsistent data)
● định dạng
kiểu dữ liệu: giá trị số, dạng ngày Dương lịch
giá trị: { M, F } >< { Nam, Nữ }
● bảng mã (encoding)
Data
Integration
27
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Cleaning – Xử lý dữ liệu không nhất quán
28
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Integration: tích hợp dữ liệu từ nhiều nguồn
● ...
29
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Integration: tích hợp dữ liệu từ nhiều nguồn
● data consolidation: sao chép nhiều dữ liệu nguồn vào một nơi
lưu trữ chung
● data propagation: sao chép 1 dữ liệu nguồn đến các nơi khác
(duplicate, replication)
30
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Integration: nhận diện đối tượng trùng lắp
31
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Integration: nhận diện thông tin dư thừa
● phân tích các thuộc tính dẫn xuất (soluong, dongia, sotien, …)
32
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Transformation: chỉnh dạng dữ liệu
33
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Transformation: làm trơn (smoothing)
● binning
● regression
● clustering
34
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Transformation: bổ sung thuộc tính mới
(attribute construction)
35
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Transformation: tổng hợp (aggregation)
● tổng hợp dữ liệu ở nhiều mức trừu tượng khác nhau: cubes,
SUM, AVERAGE, MAX, MIN, COUNT
additive data
semi-additive data
● roll-up
● drill-down
36
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Transformation: chuẩn hóa (normalization)
miền giá trị chung ([Lnew, Unew]) cho các thuộc tính ([L, U])
37
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Transformation: rời rạc hóa (discretization)
biến đổi dữ liệu liên tục
● khoảng (interval)
● cây phân cấp khái niệm (concept hierarchy): mỗi nút có thể là
khoảng hay label
38
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Reduction: thu gọn dữ liệu
● tổng hợp
● tóm tắt
39
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Reduction: tóm tắt đặc trưng
40
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Reduction: giảm chiều dữ liệu
41
Chương 3: Tiền xử lý dữ liệu
2. Tiền xử lý dữ liệu (tt.)
Công đoạn Data Reduction: thu giảm lượng
42
Chương 3: Tiền xử lý dữ liệu
Nội dung
1. Quy trình khai thác dữ liệu
2. Tiền xử lý dữ liệu
43
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange
Nội dung minh họa
● nạp dữ liệu
● tiền xử lý dữ liệu
44
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Ví dụ minh họa: Horse Colic dataset
45
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Một số khái niệm cơ bản
● chanel hay link: input, output (bên trái, bên phải của widget)
46
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
File widget : nạp tập tin DL nguồn (xls, xlsx, csv, txt, …)
categorical, numeric,
text, datetime
47
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Data Table widget : liệt kê DL dưới dạng bảng 2 chiều
48
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Preprocess widget : tiền xử lý DL với 1 hay nhiều
phương pháp (preprocessors)
49
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Preprocess widget: Impute Missing Values
● giá trị trung bình (liên tục), giá trị phổ biến nhất (rời rạc)
● giá trị ngẫu nhiên (trong phạm vi hay miền giá trị)
50
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Preprocess widget: Discretize Continuous Variables
51
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Preprocess widget: Normalize Features
● kỳ vọng: = 1
● độ lệch chuẩn: = 1
52
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Impute widget : chuyên xử lý dữ liệu bị thiếu
53
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Ví dụ minh họa
● xử lý dữ liệu bị thiếu
54
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Distribution widget : biểu đồ phân phối DL
55
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Scatter Plot widget : biểu đồ phân bố DL
56
Chương 3: Tiền xử lý dữ liệu
3. Minh họa với phần mềm Orange (tt.)
Save Data widget : lưu tập tin dữ liệu
57
Chương 3: Tiền xử lý dữ liệu
Tài liệu tham khảo
Brown M.-S., Data Mining for Dummies, For Dummies, 2014.
Provost F. and Fawcett T., Data Science for Business: What You Need to
Know about Data Mining and Data-Analytic Thinking, O'Reilly Media,
2013.
58
Chương 3: Tiền xử lý dữ liệu
Thảo luận
59
Chương 3: Tiền xử lý dữ liệu
Chương 4
Phân lớp dữ liệu
TS. Thái Kim Phụng
Khoa CNTT kinh doanh – ĐH Kinh tế TPHCM
phungthk@ueh.edu.vn
2023
Mục tiêu
Hiểu ý nghĩa của bài toán phân lớp dữ liệu
2
Chương 4: Phân lớp dữ liệu
Nội dung
1. Phân lớp dữ liệu
3
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu
Phân lớp (Classification, Supervised Learning): sắp xếp items
vào N lớp (đã biết trước) gán nhãn dữ liệu (dự đoán)
● xây dựng mô hình phân lớp dựa trên các quan sát đã biết
(learning by examples)
new data
It’s a CAT
training
data
model classification
training model
4
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu (tt.)
Phân lớp nhị phân (binary classification): tổng số lớp N = 2
● ứng dụng: chẩn đoán y khoa, tín dụng, phát hiện gian lận,
spam, …
5
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu (tt.)
Phân lớp đa lớp (multi-class classification): tổng số lớp N > 2
● ứng dụng: nhận dạng khuôn mặt, nhận dạng chữ viết (Optical
Character Recognition), nhận dạng giống loài sinh vật, …
6
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu (tt.)
Phân lớp đa nhãn (multi-label classification): 1 item có thể thuộc
nhiều hơn 1 lớp
● ứng dụng: phân loại ảnh, phân loại văn bản (chủ đề), …
7
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu (tt.)
Thuật toán phân lớp
(classification algorithm)
DL huấn luyện
(training set)
DL mới cần phân lớp
DL thử
(test set)
Mô hình phân lớp
(classification model, classifier) KẾT QUẢ phân lớp
9
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu (tt.)
Bước S1: Xây dựng mô hình phân lớp
f ( x1 , x2 ,..., xn ) y
classifier
10
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu (tt.)
Bước S2.1: Đánh giá mô hình phân lớp
precision = 75%
11
Chương 4: Phân lớp dữ liệu
1. Phân lớp dữ liệu (tt.)
Bước S2.2: Phân lớp dữ liệu mới
classifier
12
Chương 4: Phân lớp dữ liệu
Nội dung
1. Phân lớp dữ liệu
13
Chương 4: Phân lớp dữ liệu
2. Một số phương pháp phân lớp
classification
algorithms
14
Chương 4: Phân lớp dữ liệu
2.1 Cây quyết định
Các khái niệm
● nút gốc (root), nút trong (internal node): thuộc tính (kiểm tra)
Yes No
NO Marital
Status
Single
Married
Income NO
NO YES
15
Chương 4: Phân lớp dữ liệu
2.1 Cây quyết định (tt.)
Xây dựng cây quyết định
Refund
Yes No
NO Marital
Status
Single,
Divorced Married
Income NO
NO YES
16
Chương 4: Phân lớp dữ liệu
2.1 Cây quyết định (tt.)
Xây dựng cây quyết định
17
Chương 4: Phân lớp dữ liệu
2.1 Cây quyết định (tt.)
Xây dựng cây quyết định
● có thể tạo nhiều cây quyết định khác nhau từ 1 training set
Marital
Status
Married Single,
Divorced
NO Refund
No Yes
Income NO
Tiêu chí chất lượng?
80K > 80K
Nguyên tắc Ockham’s Razor: tinh gọn?
NO YES
18
Chương 4: Phân lớp dữ liệu
2.1 Cây quyết định (tt.)
Phân lớp dựa trên cây quyết định
Yes No
NO Marital
Status
Single,
Divorced Married
Income NO
NO YES
19
Chương 4: Phân lớp dữ liệu
2.1 Cây quyết định (tt.)
Ưu điểm
20
Chương 4: Phân lớp dữ liệu
2.1 Cây quyết định (tt.)
Khuyết điểm
● kém ổn định: sự thay đổi nhỏ trên training set cũng có thể dẫn
đến thay đổi lớn trên cấu trúc cây quyết định
21
Chương 4: Phân lớp dữ liệu
2.2 Hồi quy logistic
Hồi quy logistic (logistic regression): phân lớp dựa trên xác suất
x ( x0 , x1 ,..., xm )
Error
22
Chương 4: Phân lớp dữ liệu
2.2 Hồi quy logistic (tt.)
Hàm logistic (logistic function, sigmoid function)
● hàm chuẩn: L = k = 1, xo = 0
1 ex
f ( x) 1 f ( x)
1 ex e x 1
23
Chương 4: Phân lớp dữ liệu
2.2 Hồi quy logistic (tt.)
Hồi quy logistic (logistic regression)
● input: x ( x0 , x1 ,..., xn )
● trọng số: w ( w0 , w1 ,..., wn ) giá trị xác định dựa trên training set
n
1
z wi xi f ( x)
i 0 1 ez
1
P( y 1 | x)
1 e z
24
Chương 4: Phân lớp dữ liệu
2.2 Hồi quy logistic (tt.)
Ưu điểm
● đơn giản: dễ cài đặt, dễ diễn giải kết quả, huấn luyện đơn giản
● không cần thông tin về phân phối của các lớp trong không gian
đặc trưng
25
Chương 4: Phân lớp dữ liệu
2.2 Hồi quy logistic (tt.)
Khuyết điểm
● giả thuyết tuyến tính giữa biến phụ thuộc và các biến độc lập
26
Chương 4: Phân lớp dữ liệu
2.3 Support Vector Machine (SVM)
Phương pháp
vectơ hỗ trợ
27
Chương 4: Phân lớp dữ liệu
2.3 SVM (tt.)
Phương pháp
● các khoảng cách gần nhất (margin) từ siêu phẳng đến 1 điểm
dữ liệu của mỗi lớp xấp xỉ bằng nhau và cực đại
28
Chương 4: Phân lớp dữ liệu
2.3 SVM (tt.)
Phương pháp
y i ( wT xi b)
1
( w, b) arg max min arg max min ( y ( wT
x b ))
i i
w ,b
i w w ,b
w i
29
Chương 4: Phân lớp dữ liệu
2.3 SVM (tt.)
Phương pháp
● thay thế w bằng k.w và b = k.b, với k > 0, thì margin không đổi
có thể giả sử khoảng cách từ H đến những điểm gần nhất:
y i ( wT xi b) 1 2
y i ( w xi b) 1 d i
T
max_margin
w w w
( w, b) arg min w 1 y i ( wT xi b) 0
2
w ,b
30
Chương 4: Phân lớp dữ liệu
2.3 SVM (tt.)
Phương pháp
( w, b) arg min w 1 y i ( wT xi b) 0
2
w ,b
class( x) sign( wT x b)
31
Chương 4: Phân lớp dữ liệu
2.3 SVM (tt.)
Một số phương SVM cải biên
● Soft Margin SVM: xử lý dữ liệu phân tách hầu như tuyến tính
(almost linear separability)
● ...
32
Chương 4: Phân lớp dữ liệu
2.3 SVM (tt.)
Ưu điểm
33
Chương 4: Phân lớp dữ liệu
2.3 SVM (tt.)
Khuyết điểm
● kém hiệu quả nếu số chiều lớn hơn số mẫu dữ liệu huấn luyện
34
Chương 4: Phân lớp dữ liệu
Nội dung
1. Phân lớp dữ liệu
35
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp
Chất lượng của mô hình đưa mô hình vào khai thác ?
● sự chính xác
● sự hiệu quả
● ...
36
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Các chỉ số định lượng (quantitative quality indicators)
● Confusion matrix
● ROC curve
● LIFT curve
37
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Phân loại sai lầm (error types)
Thực tế
Dự đoán Positive Negative
loại I ?
Kết luận đúng Sai lầm loại II
Positive True Positive False Negative
(TP) (FN)
loại II ?
38
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Độ chính xác (precision)
TP TP TN
precision (error rate )
TP FP n
precision = 6 / (6 + 1) = 6 / 7
predicted
positives
predicted
negatives
39
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Độ truy hồi (recall)
TP
recall
TP FN
recall = 6 / (6 + 2) = 6 / 8
predicted
positives
predicted
negatives
40
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Đồ thị tương quan giữa precision và recall
Precision
1
Recall
0 1
41
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Độ đo F (F-measure): điều hòa giữa precision và recall
(weighted harmonic mean)
precision.recall
F
(1 ). precision .recall
0 : F recall
1 : F precision
1 precision.recall
: F 2.
2 precision recall
42
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Ma trận nhầm lẫn (confusion matrix)
● các giá trị mij có thể được chuẩn hóa ([0, 1])
Dự đoán
# dự đoán
đúng
Thực tế
# items
43
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Đường cong ROC (Receiver Operating Characteristic Curve)
44
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Miền AUC (Area Under the [ROC] Curve)
AUC
45
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Hiện tượng underfitting
46
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Hiện tượng overfitting
● khó phù hợp với tính tổng quát của dữ liệu mới
47
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Trường hợp good fitting
● sự hiệu quả
● sự đơn giản
48
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Phương pháp Hold-out Cross Validation
● phân chia ngẫu nhiên dataset thành training set và test set
(hold-out set) theo một tỷ lệ xác định
Training Test
49
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Phương pháp Hold-out Cross Validation
● sai số phát sinh từ test set phụ thuộc nhiều vào tỷ lệ “phân bố”
các phần tử của các lớp trong training set và test set
(VD: training set, hay test set, chứa quá ít phần tử hay )
● không hiệu quả khi mô hình có nhiều tham số cần tinh chỉnh
tính sai số trung bình trên k lần thực hiện Hold-out Cross
Validation: tỷ lệ trùng lắp dữ liệu giữa những lần thực hiện ?
50
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Phương pháp Hold-out Cross Validation
● validation set: tinh chỉnh các tham số, chọn mô hình tối ưu
51
Chương 4: Phân lớp dữ liệu
3. Đánh giá mô hình phân lớp (tt.)
Phương pháp k-Fold Cross Validation
k th iteration error Ek
52
Chương 4: Phân lớp dữ liệu
Nội dung
1. Phân lớp dữ liệu
53
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange
Tập dữ liệu nguồn: Sales_Data.xlsx
54
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Tập dữ liệu nguồn: Sales_Data.xlsx
55
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Tập dữ liệu cần phân lớp: Sales_NewData.xlsx
56
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Thuật toán phân lớp: Cây quyết định
double-click
kết quả
57
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Thuật toán phân lớp: Cây quyết định
58
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Thuật toán phân lớp: Hồi quy logistic
double-click
kết quả
59
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Thuật toán phân lớp: Hồi quy logistic
60
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Thuật toán phân lớp: SVM
double-click
kết quả
61
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Thuật toán phân lớp: SVM
62
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Đánh giá các thuật toán phân lớp chọn thuật toán tốt nhất
63
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Kết quả huấn luyện của các thuật toán
64
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange
Kết quả ma trận nhầm lẫn
65
Chương 4: Phân lớp dữ liệu
4. Minh họa với phần mềm Orange
Kết quả dự báo bằng phương pháp SVM
66
Chương 4: Phân lớp dữ liệu
Tài liệu tham khảo
Brown M.-S., Data Mining for Dummies, For Dummies, 2014.
Han J., Kamber M. and Pei J., Data Mining: Concepts and Techniques,
Morgan Kaufmann, 2011.
(http://hanj.cs.illinois.edu/bk3/bk3_slidesindex.htm, 01/2021)
67
Chương 4: Phân lớp dữ liệu
Thảo luận
68
Chương 4: Phân lớp dữ liệu
Chương 5
Gom cụm dữ liệu
TS. Thái Kim Phụng
Khoa CNTT kinh doanh – ĐH Kinh tế TPHCM
phungthk@ueh.edu.vn
2023
Mục tiêu
Hiểu ý nghĩa của bài toán gom cụm dữ liệu
2
Chương 5: Gom cụm dữ liệu
Nội dung
1. Gom cụm dữ liệu
3
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu
Cụm (cluster): tập hợp những phần tử (dữ liệu)
4
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Cụm (cluster) – Các đại lượng đối với dữ liệu định lượng
1 n
C xi
n i 1
1
D
n(n 1) i j
( xi x j ) 2
5
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Gom cụm (Clustering, Data Segmentation)
● tìm sự tương đồng (khác biệt) giữa các phần tử trong dataset
6
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Gom cụm (Clustering, Data Segmentation) – Ứng dụng thực tế
● xã hội
● sinh học
● địa chất
● khí tượng
● ...
7
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Gom cụm (Clustering, Data Segmentation) – G.đoạn tiền xử lý
cho các thuật toán khác
● compression: xử lý ảnh
● ...
8
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Gom cụm (Clustering, Data Segmentation) – Một số vấn đề
● ...
9
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Quy trình gom cụm
10
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Chất lượng của clustering
11
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 items
n 1/ p
d ( x, y ) xi yi
p
i 1
12
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 items
● cosin:
n
x .y i i
d ( x, y ) i 1
n n
x
i 1
2
i i
y 2
i 1
n
d ( x, y ) xi . yi
i 1
13
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 clusters
D(Ci , C j ) min d ( xi , x j )
xi Ci , x j C j
D(Ci , C j ) max d ( xi , x j )
xi Ci , x j C j
x j C j
14
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 clusters
D(Ci , C j ) d ( M i , M j )
● Ward’s method: gộp 2 clusters xét trọng tâm của (Ci Cj)
D(Ci , C j ) d ( x,
xCi C j
Ci C j )
15
Chương 5: Gom cụm dữ liệu
1. Gom cụm dữ liệu (tt.)
Chất lượng của clustering
16
Chương 5: Gom cụm dữ liệu
Nội dung
1. Gom cụm dữ liệu
17
Chương 5: Gom cụm dữ liệu
2. Một số phương pháp gom cụm
Phân loại các phương pháp
18
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch
Tập dữ liệu D được phân hoạch thành k clusters (rời nhau)
● chọn phân hoạch tốt nhất: tổng bình phương khoảng cách
(Sum of Squared Error) từ ci đến mọi xCi của tất cả k clusters
là nhỏ nhất:
k
SSE d ( x, ci ) 2
i 1 xCi
19
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán k-Means (MacQueen, 67; Lloyd, 57): ci là trọng tâm
của cluster Ci
Bước 2. xD, đưa x vào cluster có trọng tâm gần với x nhất:
C ( x) arg min d ( x, ci )
i
Nếu phân hoạch mới không đổi so với lần trước: DỪNG.
Bước 3. Xác định lại k trọng tâm {c1, c2, …, ck}, quay lại Bước 2.
20
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán k-Means: ci là trọng tâm của cluster Ci
trọng tâm
NGẪU NHIÊN
trọng tâm
MỚI
21
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán k-Means
22
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán k-Means
Vòng lặp t = 1:
23
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán k-Means
Vòng lặp t = 2:
24
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán k-Means
Vòng lặp t = 3:
25
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Ưu điểm của k-Means
● cực trị địa phương (phụ thuộc những điểm bắt đầu)
26
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means (Dunn, 73; Bezdek, 81)
VD: Flip-Flop thuộc 2 nhóm sản phẩm { phần mềm, giải trí }
27
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means
ROWi wij 1
w ... wnk
j 1
dn n1 wn 2
n
tổng giá trị cột j: 0 COL j wij n (không có cluster rỗng)
i 1
k
● tối ưu hóa: SSE (C ) ij i j , với tham số p > 1
p 2
w .d ( d , c )
j 1 xi C j
28
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means: cải biên từ k-Means
Bước 1. Khởi tạo (ngẫu nhiên) W(0) với ROWi = 1, i=1..n
Bước 2. Xác định k trọng tâm ở vòng lặp thứ t:
n
w p
ij .xi
cj i 1
n
ij
w p
i 1
Bước 3. Cập nhật ma trận phân hoạch W(t) ở vòng lặp thứ t:
1
wij 2
k
d ( xi , c j ) p 1
s 1 d ( xi , cs )
Bước 4. Nếu W ( t ) W ( t 1) thì DỪNG; Ngược lại, quay lại Bước 2.
29
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means
30
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means
Vòng lặp t = 1:
Tiếp tục vòng lặp t … cho đến khi phân hoạch “ổn định”.
31
Chương 5: Gom cụm dữ liệu
2.1 Cách tiếp cận phân hoạch (tt.)
Ưu điểm của FCM
● hiệu quả với tập dữ liệu lớn, các cụm chồng lắp lên nhau
● phụ thuộc vào bước khởi tạo cực trị địa phương
32
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp
Xây dựng cây phân cấp cho các phần tử trong tập dữ liệu
● clusters sau khi hình thành vẫn có thể phân tách, gộp chung
(khác với cách tiếp cận phân hoạch)
33
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
Hai phương pháp điển hình
34
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp AGNES (Kaufmann & Rousseeuw, 1990)
Bước 2. Dựa trên single-link, gộp chung 2 clusters gần nhau nhất
thành 1 cluster.
Bước 3. Lặp lại Bước 2 cho đến khi gộp n phần tử vào 1 cluster
35
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
Biểu đồ Dendrogram: cây phân cấp các clusters
● những nút được liên kết với nhau sẽ tạo thành 1 cluster
khoảng
cách
# clusters
36
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp AGNES (Kaufmann & Rousseeuw, 1990)
37
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp AGNES (Kaufmann & Rousseeuw, 1990)
38
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
So sánh các hàm khoảng cách
39
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp DIANA (Kaufmann & Rousseeuw, 1990)
40
Chương 5: Gom cụm dữ liệu
2.2 Cách tiếp cận phân cấp (tt.)
Ưu điểm của cách tiếp cận phân cấp
● độ phức tạp O(n2), không thích hợp với tập dữ liệu lớn
41
Chương 5: Gom cụm dữ liệu
Nội dung
1. Gom cụm dữ liệu
42
Chương 5: Gom cụm dữ liệu
3. Đánh giá mô hình gom cụm
Bài toán phân cụm rất khó đánh giá chất lượng
● độ phân tách (separation): các cụm phải cách nhau (rõ ràng)
43
Chương 5: Gom cụm dữ liệu
3. Đánh giá mô hình gom cụm (tt.)
Phương pháp đánh giá ngoài (external validation)
● dựa vào cấu trúc/xu hướng gom cụm được xác định trước
Một số độ đo
● Rand statistic
● Jaccard coefficient
● Folkes
● Mallows index
44
Chương 5: Gom cụm dữ liệu
3. Đánh giá mô hình gom cụm (tt.)
Phương pháp đánh giá trong (internal validation)
Một số độ đo
● Hubert’s statistic
● F-ratio
45
Chương 5: Gom cụm dữ liệu
3. Đánh giá mô hình gom cụm (tt.)
Phương pháp đánh giá tương đối (relative validation)
● so sánh kết quả của những bộ giá trị tham số khác nhau
● so sánh kết quả gom cụm giữa các phương pháp khác nhau
46
Chương 5: Gom cụm dữ liệu
Nội dung
1. Gom cụm dữ liệu
47
Chương 5: Gom cụm dữ liệu
4. Minh họa với phần mềm Orange
Tập dữ liệu nguồn: Sales_Data.xlsx
48
Chương 5: Gom cụm dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Thuật toán gom cụm k-Means và Hierarchical Clustering
49
Chương 5: Gom cụm dữ liệu
4. Minh họa với phần mềm Orange (tt.)
Kết quả
50
Chương 5: Gom cụm dữ liệu
Tài liệu tham khảo
Brown M.-S., Data Mining for Dummies, For Dummies, 2014.
Provost F. and Fawcett T., Data Science for Business: What You Need to
Know about Data Mining and Data-Analytic Thinking, O'Reilly Media,
2013.
51
Chương 5: Gom cụm dữ liệu
Thảo luận
52
Chương 5: Gom cụm dữ liệu