Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Ôn Tập Python cho ML

1. Tesnor biểu diễn các chiều


- 0 chiều : số
biểu diễn số ( vd tốc độ kl chiều dài dim 0 shape 0)
- 1 chiều : vector
chữ và âm thanh ( vd mã của chữ và tín hiệu âm thanh)
- 2 chiều : ma trận
ảnh không màu ( xám)
- 3 chiều : nhiều ma trận cùng kthuoc
ảnh màu
- 4 chiều : video
Dài, rộng, màu, thời gian
2. Chiến thuật kia dữ liệu:
Cross validation: là một kỹ thuật được sử dụng trong ML và thống kê để đánh giá
hiệu suất của mô hình trên dữ liệu chưa nhìn thấy

- K-Fold Cross Validation: Phần dữ liệu Training thì sẽ được chia ngẫu nhiên thành
K phần (K là một số nguyên, hay chọn là 5 hoặc 10). Sau đó train model K lần, mỗi lần
train sẽ chọn 1 phần làm dữ liệu validation và K-1 phần còn lại làm dữ liệu training. Kết
quả đánh giá model cuối cùng sẽ là trung bình cộng kết quả đánh giá của K lần train.

from sklearn.model_selection import Kfold


kf = KFold(n_splits=3)
from sklearn.model_selection import cross_val_score
scores = cross_val_score(model, X, y, cv=3)

- Leave one out (LOO) :


- GroupKFold : đảm bảo không có cùng một nhóm trong tập test và dev
Holdout – validation: chia dữ liệu dạng %

3. Phương pháp chuẩn hoá dữ liệu

1. Min/Max Scaling:
o Mục đích: Đưa các giá trị dữ liệu về một phạm vi cố định, chẳng hạn như [0, 1].
o Công thức: x_norm = (x - x_min)/(x_max - x_min)
2. Standard Scaling (Z-score Normalization):
o Mục đích: Sử dụng khi dữ liệu có vẻ tuân theo phân phối Gaussian (chuẩn), làm
cho dữ liệu đối xứng quanh giá trị trung bình và biến đổi dữ liệu về một phạm vi
để cân bằng tác động của mỗi biến vào mô hình.
o Công thức x_norm = (x - mean(x) )/std(x)
3. Log Transformation:
o Mục đích: Giảm tác động của các giá trị ngoại lai (outliers) nhờ sử dụng hàm
logarit.
o Công thức: x_norm = log(x) or x_norm = log(1+x)
o Lưu ý: Việc thêm 1 vào x (log(1+x)) giúp tránh logarit của số 0 và xử lý các giá
trị nhỏ hơn 1 tốt hơn.
4. Binning (Discretization):
o Mục đích: Biến đổi dữ liệu liên tục thành dữ liệu rời rạc bằng cách chia phạm vi
của biến thành các khoảng (bins). Phương pháp này giúp xử lý dữ liệu nhiễu và
đơn giản hóa mô hình.
o Ví dụ: Biến tuổi có thể được chia thành các nhóm: trẻ, trung niên, già.
5. Robust Scaling:
o Mục đích: Sử dụng giá trị trung vị (median) và khoảng tứ phân vị (IQR -
Interquartile Range) để chuẩn hóa, giảm nhạy cảm của các giá trị ngoại lai so với
phương pháp min-max và z-score.
o Công thức: x_norm = (x - median(x) )/IQR
o Với IQR = Q3 - Q1 (khoảng giữa phần tư thứ 3 và phần tư thứ 1 của dữ liệu).

4. Chuyển hoá dữ liệu ( xử lý dữ liệu không phải dạng số )

- One-hot encoding : Chuyển đổi các biến phân loại thành các vector nhị
phân, nơi mỗi giá trị riêng biệt của biến phân loại được biểu diễn bằng
một cột riêng biệt với giá trị 0 hoặc 1- > khoảng cách dữ các dữ liệu là
bằng nhau ( /2)

- Ordinal Encoding: gán số nguyên cho biến phân loại -> kiểu dữ liệu có
thứ tự

- Label encoding: sử dụng 1 số nguyên cho 1 danh mục

- Target encoding: mã hoá nhãn theo mục tiêu

- Simple target encoding: mã hoá theo kiểu xác xuất của dữ liệu

5. Lựa chọn đặc trưng


Lọc:
- Pearson ( chọn bằng cách xem độ tương quan – threshold)
- Ngưỡng phương sai
- Thiếu tỷ lệ: tỉ lệ dữ liệu thấp sẽ bị bỏ
Wrapper
Chia tập con dữ liệu -> đưa vào mô hình -> tìm ra tập con tối ưu nhất
6. Các mô hình

 Hồi quy tuyến tính (Linear Regression):

 Mục tiêu: Dự đoán một giá trị liên tục (continuous value).
 Ví dụ: Dự đoán giá nhà, dự đoán điểm số học sinh, dự đoán mức lương dựa trên số năm
kinh nghiệm.
 Hồi quy logic (Logistic Regression):

 Mục tiêu: Dự đoán một xác suất và phân loại giá trị (classification), thường là nhị phân
(binary).
 Ví dụ: Dự đoán khả năng một email là spam hay không, dự đoán khả năng một bệnh
nhân mắc bệnh dựa trên các triệu chứng.

MÔ HÌNH

Hồi quy tuyến tính:

LinearRegression

 Lý do chọn: Đây là mô hình cơ bản và đơn giản nhất cho bài toán hồi quy tuyến tính.
 Đặc điểm:

 Giả định mối quan hệ tuyến tính giữa biến độc lập và biến phụ thuộc.
 Dễ hiểu và dễ triển khai.
 Nhạy cảm với outliers.

Ridge Regression

 Lý do chọn: Ridge Regression giúp giảm thiểu vấn đề đa cộng tuyến (multicollinearity)
bằng cách thêm thuật toán phạt L2.
 Đặc điểm:
o Giảm độ lớn của các hệ số hồi quy.
o Thêm một thuật toán phạt L2 vào hàm mất mát để hạn chế overfitting.

Lasso Regression

 Lý do chọn: Lasso Regression giúp thực hiện lựa chọn đặc trưng và giảm thiểu vấn đề đa
cộng tuyến bằng cách thêm thuật toán phạt L1.
 Đặc điểm:
o Có khả năng loại bỏ các đặc trưng không quan trọng bằng cách đưa hệ số của
chúng về 0.
o Thêm một thuật toán phạt L1 vào hàm mất mát để hạn chế overfitting.

Classification:

K-Nearest Neighbors (KNN) Classifier

 Lý do chọn: KNN là một thuật toán không tham số, hữu ích trong các tình huống dữ liệu
không tuyến tính.
 Đặc điểm:
o Không giả định về dạng của dữ liệu.
o Đơn giản và dễ hiểu.
o Hiệu suất phụ thuộc vào số lượng hàng xóm (k) và thước đo khoảng cách.

Support Vector Machine (SVM) Classifier

 Lý do chọn: SVM có thể xử lý tốt dữ liệu không tuyến tính thông qua các kernel tricks.
 Đặc điểm:
o Tìm siêu phẳng phân chia tốt nhất giữa các lớp.
o Hỗ trợ các kernel khác nhau (linear, polynomial, RBF) để xử lý dữ liệu không
tuyến tính.
o Có thể mở rộng cho bài toán phân loại đa lớp.

Tìm kiếm tham số

GridSearchCV

GridSearchCV là phương pháp tìm kiếm lưới (grid search) để tìm ra các siêu tham số tối
ưu cho một mô hình học máy. Phương pháp này thử tất cả các kết hợp có thể của các
tham số mà người dùng chỉ định, từ đó chọn ra bộ tham số tốt nhất dựa trên đánh giá hiệu
năng (thường sử dụng cross-validation).

Ưu điểm:

 Đảm bảo tìm ra tổ hợp tham số tối ưu trong phạm vi tìm kiếm.

Nhược điểm:

 Tốn kém về mặt tính toán nếu có nhiều tham số hoặc nhiều giá trị cho mỗi tham số
(do số lượng tổ hợp tăng lên rất nhanh).

RandomizedSearchCV

RandomizedSearchCV là phương pháp tìm kiếm ngẫu nhiên (random search) để tối ưu
các siêu tham số. Thay vì thử tất cả các tổ hợp, phương pháp này thử một số lượng ngẫu
nhiên các tổ hợp trong phạm vi tìm kiếm.

Ưu điểm:

 Hiệu quả tính toán hơn GridSearchCV khi có nhiều tham số và mỗi tham số có
nhiều giá trị.
 Có thể đạt kết quả tốt trong thời gian ngắn hơn, đặc biệt khi không có nhiều tài
nguyên tính toán.
Nhược điểm:

 Không đảm bảo tìm ra tổ hợp tham số tối ưu tuyệt đối.

ĐÁNH GIÁ MÔ HÌNH:

 Hồi quy tuyến tính (Linear Regression):

 Mục tiêu: Dự đoán một giá trị liên tục (continuous value).
 Ví dụ: Dự đoán giá nhà, dự đoán điểm số học sinh, dự đoán mức lương dựa trên số năm
kinh nghiệm.

 Hồi quy logic (Logistic Regression):

 Mục tiêu: Dự đoán một xác suất và phân loại giá trị (classification), thường là nhị phân
(binary).
 Ví dụ: Dự đoán khả năng một email là spam hay không, dự đoán khả năng một bệnh
nhân mắc bệnh dựa trên các triệu chứng.

B1: Thu thập và phân tích dữ liệu:

 Lấy dữ liệu từ khách hàng/công ty, tìm kiếm các nguồn dữ liệu tương tự uy tín, crawl dữ
liệu:
A. Mã người dùng (int)
B. Lịch sử mua hàng (list[int])
C. Danh mục sản phẩm duyệt qua trước đó(list[string])
D. Đánh giá của người dùng (float)
E. Tần suất mua hàng (int)
F. tuổi (int)
G. giới tính (string)
Formulation:
 Giả sử, tại thời điểm mua hàng là T1, ta có T2 =T1-7 là thời gian 7 ngày trước đó:
 B & C --> H: mã sãn phẩm tìm kiếm (list[int])
 Lấy top 3 mã sản phẩm gần nhất trong B và H làm đặc trưng đầu vào
 Kết hợp cột D và H --> các đánh giá về mã hàng đã duyệt
 Kết hợp đặc trưng B & H: mã tất cả sản phẩm (I)
 Kết hợp đặc trưng T1 và cột B --> mã hàng đã mua tại T1 (J)
 Dữ liệu đầu vào (input) X: [A, B1, B2, B3, H1, H2, H3, D1, D2, D3, E, F, G]
 Dữ liệu đầu ra (output) y: mã hàng đã mua = J
B2: Tiền xử lý dữ liệu:
 Fit (I) vào label_encoder
 Áp dụng pp điền giá trị thiếu và label encode cho các cột: A, G
 Áp dụng pp điền giá trị thiếu và transform của label_encoder cho các cột: B1, B2, B3,
H1, H2, H3,
 Áp dụng điền pp điền giá trị thiếu và stardscale cho các cột: D1, D2, D3, E, F.
 Áp dụng label_encoder cho cột (J)
B3: Chuẩn bị mô hình: Dùng mô hình KNN_Classifier cho bài toán vì .....
B4: Huấn luyện và kiểm tra mô hình: Chia dữ liệu train/val/test --> 7/1/2 huấn luyện trên train
data và tune hyper-parameter trên trên val data
B5: Đánh giá mô hình: Dùng test data và precision/accurancy để đánh giá mô hình.
EDA

Dự đoán ngoại lệ như thế nào

❏ Phương pháp thống kê:


❏ Phương pháp tính độ lệch chuẩn và trung bình: giới hạn để xác định các giá trị

ngoại lệ (Gaussian hoặc Gaussian-like)


❏ Phương pháp Interquartile Range (IQR): một thống kê tốt để tóm tắt mẫu dữ

liệu phân phối không phải Gaussian

tự động phát hiện

You might also like