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=0 là 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.