Chuẩn hóa z-score theo cột
Dễnumpytiền xử lý dữ liệuaxis5 test · 12 giây · sai số 1e-5
Chuẩn hóa từng cột (đặc trưng) của ma trận dữ liệu X về trung bình 0, độ lệch chuẩn 1:
X'[:, j] = (X[:, j] − mean_j) / std_j
- Dùng độ lệch chuẩn tổng thể (
ddof=0, mặc định của NumPy). - Cột có std = 0 (mọi giá trị bằng nhau) → kết quả cả cột là 0.
- Chú ý
axis=0là tính theo cột.
Viết hàm
standardize(X)Tham số
X: ma trận (n, d)
Trả về
Ma trận (n, d) đã chuẩn hóa.
Ví dụ
Tham số
X = [[1,10],[3,10],[5,10]]
Kết quả
[[-1.224744871,0.0],[0.0,0.0],[1.224744871,0.0]]
Cột 2 hằng số → 0
Tham số
X = [[2,-1,0],[4,1,6]]
Kết quả
[[-1.0,-1.0,-1.0],[1.0,1.0,1.0]]
Bài tiếp theo: Khoảng cách Euclid giữa hai tập điểm →
Python · NumPy
Bấm “Chạy thử” để gọi standardize() với 2 ví dụ trong đề và so sánh kết quả. Dùng print() thoải mái để gỡ lỗi.