Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Bài tập thảo luận Machine Learning

Tiền xử lý dữ liệu

Nhóm:

September, 2023
Giới thiệu

Một mô hình chung của bài toán Machine Learning thường trải qua nhiều bước. Tùy từng loại
bài toán và mục đích sử dụng mà có thể có những cách giải quyết khác nhau. Nhưng nhìn
chung, một quá trình huấn luyện thuật toán Machine Learning đều trải qua 4 bước:

• Thu tập dữ liệu

• Tiền xử lý dữ liệu

• Áp dụng và đánh giá mô hình

• Cải thiện mô hình

Trong đó, tiền xử lý dữ liệu được đánh giá là một phần rất quan trọng, ảnh hưởng rất lớn
đến kết quả của mô hình Machine Learning. Bài tập Brainstorming về Tiền xử lý dữ liệu sẽ
cung cấp cho các em cái nhìn đa chiều về các kĩ thuật được sử dụng để biến dữ liệu thô ban
đầu thành bộ dữ liệu mới để đưa vào mô hình học máy.

1
Mục lục

Abstract 1

1 Các loại thuộc tính 3

2 Tiền xử lý dữ liệu 4
2.1 Data Cleaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Missing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Noisy data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Feature engineering: Các kỹ thuật xây dựng đặc trưng . . . . . . . . . . . . . . 9
2.2.1 Feature creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Feature extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.3 Feature Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.4 Future Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Dimensionality reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2
Chương 1

Các loại thuộc tính

Kiểu dữ liệu có thể được chia làm hai loại lớn là dữ liệu định lượng (quantitative) và định tính
(quantitative), trong đó:

• Kiểu dữ liệu Quantitative bao gồm kiểu dữ liệu rời rạc (Discrete) (hữu hạn, vô hạn đếm
được,...), kiểu dữ liệu liên tục (Continuous) (không đếm được).

• Kiểu dữ liệu Qualitative bao gồm Nominal (định danh, không hàm chứa thứ tự), Ordi-
nary (định danh, hàm chứa thứ tự) và kiểu dữ liệu Binary (Có hoặc Không)

Từ các ví dụ sau đây, em hãy phân chia rõ mỗi trường hợp thuộc kiểu dữ liệu nào:

• Đường kính của một quả bóng

• Tên các thành phố của Việt Nam {Đà Nẵng, Hà Nội, Hồ CHí Minh, Hải Phòng...}

• Kết quả phân loại Email có Spam hay không Spam/Non Spam

• Các số vô tỉ từ 10 đến 100

• Số lần nháy mắt của một người trong một ngày

• Size áo quần của một cửa hàng {Small, Medium, Large}

• Tập hợp gồm các output khi xúc một con xúc sắc.

• Thang đo mức độ đồng ý của khách hàng {Disagree, Neutral, Agree, Strongly Agree}

Câu hỏi Giải trí: Em hãy nêu ví dụ về 1 giữ liệu Ordinal mà có thể đúng về mặt thời gian
nhưng không đúng về mặt trạng thái.

3
Chương 2

Tiền xử lý dữ liệu

2.1 Data Cleaning


Data Cleaning (hoặc làm sạch dữ liệu) là quy trình khắc phục các giá trị còn thiếu (Missing
values), xác định hoặc loại bỏ những điểm dữ liệu bị nhiễu (Noisy values).

2.1.1 Missing values


Một số techniques được sử dụng để xử lý Missing values như sau:

• Loại bỏ hoàn toàn hàng có dữ liệu thiếu: Em hãy nêu ưu/ nhược điểm của phương
pháp này.

• Điều tra và điền thủ công

Em hãy nêu những lý do khách quan/ chủ quan về việc tồn tại những điểm giữ liệu còn
thiếu trong một bộ dữ liệu và nêu ưu/ nhược điểm của hai phương pháp kể trên.

4
Trong thống kê toán học, Mean là giá trị trung bình, còn Median là giá trị trung tâm,
Mode là giá trị xuất hiện nhiều nhất trong một dãy số. Cho dãy số x1 , x2 .., xn được sắp xếp
theo thứ tự tăng dần.
x1 + x2 + ... + xn
Mean =
n
Median = x(n+1)/2 nếu n lẻ
xn/2 + x(n+2)/2
Median = nếu n chẵn
2
Cho bảng sau và trong đó có 1 dữ liệu bị thiếu:

Hình 2.1

Sử dụng các Phương pháp sau để điền dữ liệu còn thiếu:

• Sử dụng Mean và Median của Attribute3 để điền vào dữ liệu còn thiếu

• Sử dụng Mean và Median của Attribute3 của các điểm có cùng Class để điền
vào dữ liệu còn thiếu

5
• Sử dụng các mô hình thống kê Học sinh Alice đưa ra đề xuất một mô hình hồi quy
dự đoán Attribute 3 dựa trên Attribute 2 như sau:

Attribute 3 = (84.16 + 70.83 × Attribute 2) × 1000

Với Attribute 1 = 1 nếu No, và 1 nếu Yes. Dựa vào đó, tính giá trị bị thiếu dựa vào công
thức hồi quy.

Biết rằng giá trị bị thiếu thực tế là 70k, hãy so sánh các kết quả thực tế với các kết quả
tìm được.

2.1.2 Noisy data


Cho các điểm Oxy trên tọa độ, trong đó xu hướng của y tăng dần theo x, hãy vẽ 15 điểm đã
cho trên đồ thị Oxy, hãy xác định các điểm dữ liệu nhiễu.

x y
1 5
2 8
3 7
4 14
5 17
6 7
7 23
8 26
9 29
10 15
11 35
12 38
13 41
14 25
15 47

Chúng ta cùng đến với một số techniques xử lý dữ liệu nhiễu:

• Phương pháp Binning: Là phương pháp làm mịn các điểm dữ liệu nhiễu dựa trên các
điểm dữ liệu lân cận, tham khảo Hình 2.2 và áp dụng (Có thể tùy chọn số Bins (3 hoặc
5)). (Lưu ý ở Phương pháp Bin Boudaries, các điểm gần biên giới nào sẽ được thay thế
bằng biên giới đó).

• Hồi quy (Regression) Loại bỏ các điểm em cho là bị nhiễu và giữ những điểm còn lại,
tìm tham số a, b sao cho phương trình đường thẳng y = ax + b mô tả đúng bộ dữ liệu đã
cho nhất. Hãy thay thế các điểm bị nhiễu bằng phương trình đã cho.

6
Hình 2.2: Ví dụ về Phương pháp Binning

7
...

8
2.2 Feature engineering: Các kỹ thuật xây dựng đặc trưng
2.2.1 Feature creation
Là Kỹ thuật thêm một hoặc nhiều Features dựa vào kiến thức hiểu biết về lĩnh vực chuyên
môn.

2.2.2 Feature extraction


Feature extraction là kỹ thuật xây dựng thêm các Features mới từ các Features ban đầu.
Xét một vấn đề sau: Alice tham gia vào một dự án khảo sát giá bất động sản ở thành phố, gọi
là dự án Housing Price. Alice thu thập thông tin của tất cả mảnh đất của thành phố và thu
thập được một bộ dữ liệu gồm 2 feature variables: Chiều dài, Chiều rộng và cột target là
Price. Alice và các cộng sự đặt ra bài toán hồi quy nhằm dự đoán Giá đất dựa trên chiều dài
và chiều rộng của nó.

price = a0 + a1 × chiều rộng + a2 × chiều dài

Dùng các ví dụ minh họa mà em nghiên cứu, hãy phản biện xem cách tiếp cận này liệu có
đúng không? Nếu không, em có đề xuất phương án thêm Feature mới nào từ các Features đã
cho không?

9
2.2.3 Feature Selection
Feature selection là kỹ thuật chọn một hoặc một vài features từ tập các features đã cho để
phục vụ mô hình. Một số kỹ thuật thường dùng

• Filter methods: Information Gain, Gini-index, Chi-square Test, Correlation Co-


efficient, Variance Threshold, Dispersion Ration....

Correlation Coefficient là chỉ số thể hiện mối tương quan giữa hai biến A, B với công
thức được tính như sau:

Pn
i=1 (ai − A)(bi − B)
rA,B =
nσA σB
với A, B là trung bình cộng của A, B, σA , σB là độ lệch chuẩn của A, B.
Alice có một cột dữ liệu gồm 3 cột X, Y, Z: với

X = {x1 , x2 , ..xn }

Y = 3X + 4 = {3x1 + 4, 3x2 + 4, ..3xn + 4}

Z = X 2 = {x21 , x22 , ..x2n }

Alice cân nhắc sử dụng một, một vài, hoặc tất cả các biến để đưa vào mô hình hồi quy, sử dụng
Correlation Coefficient để phản biện xem nên sử dụng feature/features nào.

10
Gini Index là chỉ số tính sự thuần khiết trong một tập hợp, hay còn gọi là Impurity, được
tính bằng công thức:
X
G=1− p2i

với pi là phân phối tần số của các phần tử trong tập hợp. Ví dụ Alice có 1 chiếc rổ chứa 3 quả
cam và 7 quả táo. Thì chỉ số Gini của chiếc rổ là :

1 − (3/10)2 − (7/10)2

. Giả sử Alice có 1 số rổ có chứa 2 loại trái cây cam và táo. Mỗi rổ chứa tổng cộng 20 quả và
các quả trong mỗi rổ lần lượt như sau:

• Rổ 1: 1,19

• Rổ 2: 2,18

• Rổ 3: 5,15

• Rổ 4: 6,14

• Rổ 5: 10,10

• Rổ 6: 12,8

• Rổ 7: 13,7

1. Chứng minh tổng quát rằng chỉ số Gini cho các tập có hai phần tử luôn dương.
2. Tính chỉ số Gini cho 7 rổ đã cho ở trên, tìm rổ có chỉ số Gini nhỏ nhất
3. Từ đó nêu suy nghĩ của em về khái niệm Impurity. Trong trường hợp nào chỉ số Impurity
cao sẽ được lợi?

11
...

12
Best subset selection là phương pháp chọn thủ công tất cả các nhóm Features có thể để
sử dụng trong mô hình rồi từ đó chọn ra phương án ứng với mô hình có độ chính xác cao nhất.
Phương pháp này ít được sử dụng trong thực tế. Giả sử một bộ dữ liệu có n feature variables.
Tính theo n số cách chọn ra toàn bộ các tập hợp để sử dụng cho mô hình.

13
2.2.4 Future Scaling
Là kỹ thuật co giãn các véc-tơ dữ liệu, gồm 3 phương pháp phổ biến

• Min-max normalization

• Z-score normalization

• Scaling to Unit length

Min-max normalization của một feature X = {x1 , x2 ....xn } được tính bởi công thức

′ xi − min(X)
xi =
max(X) − min(X)

Chứng minh mọi phần tử xi đều thuộc đoạn [0, 1] và thứ tự của mỗi phần tử trong véc-tơ ban
đầu vẫn được giữ nguyên sau khi được chuẩn hóa min-max.

14
Scaling to unit length là kỹ thuật chia véc-tơ với chuẩn 2 của nó:

X
X′ =
∥X∥2

với q
∥X∥2 = x21 + x22 + ... + x2n

Chứng minh X ′ có chuẩn 2 bằng 1. (Chuẩn 2 còn được gọi là chuẩn Euclide).

15
2.3 Dimensionality reduction

Hình 2.3: Transformation to vector

Giảm chiều dữ liệu là phương pháp giảm số cột hoặc hàng từ bộ dữ liệu ban đầu thành bộ
dữ liệu mới với số chiều nhỏ hơn. Hình 2.3 mô tả một bức ảnh vuông của một con mèo. Trong
nghành Computer Vision, mỗi bức ảnh màu RGB (Reg-Green-Blue) là ảnh được tạo từ ba ma
trận xếp chồng lên nhau. Mỗi phần tử trong ma trận biểu thị một mức độ màu nhất định. Ma
trận 3 chiều trong Python người ta gọi là 1 tuple.
Từ hình trên và kết hợp bài về nhà số 1, em hãy nêu kích thước (size) của ma trận RGB.
Em hãy nêu một phương pháp để là duỗi thẳng ma trận RGB thành vector như hình.

16

You might also like