JavaScript is required

Giả sử x là tập dữ liệu hai chiều (samples, features). Cần chuẩn hóa các giá trị của đặc trưng về dạng có giá trị trung bình bằng 0 (a mean of 0) và có độ lệch chuẩn bằng 1 (a standard deviation of 1). Phương án nào dưới đây đáp ứng yêu cầu?

A.

"x = x / x.mean(axis=1) x = x / x.std(axis=1)"

B.

"x = x / x.mean(axis=0) x = x / x.std(axis=0)"

C.

"x = x – x.mean(axis=0) x = x / x.std(axis=0)"

D.

"x = x – x.mean(axis=1) x = x / x.std(axis=0)"

Trả lời:

Đáp án đúng: C


Câu hỏi yêu cầu chuẩn hóa dữ liệu sao cho mỗi đặc trưng (feature) có giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1. Điều này thường được thực hiện bằng cách trừ giá trị trung bình của đặc trưng đó khỏi mỗi giá trị trong đặc trưng, sau đó chia cho độ lệch chuẩn của đặc trưng đó. * `x.mean(axis=0)` tính giá trị trung bình của từng đặc trưng (tức là theo cột). * `x.std(axis=0)` tính độ lệch chuẩn của từng đặc trưng. Vậy, phương án C là phương án đúng vì nó trừ giá trị trung bình của mỗi đặc trưng (tính theo cột) khỏi mỗi giá trị trong đặc trưng đó, sau đó chia cho độ lệch chuẩn của đặc trưng đó. Các phương án khác không đúng vì: * Phương án A và B chia cho giá trị trung bình và độ lệch chuẩn, thay vì trừ giá trị trung bình trước khi chia cho độ lệch chuẩn. * Phương án A và D sử dụng `axis=1`, tức là tính giá trị trung bình theo hàng (theo samples) chứ không phải theo cột (theo features), điều này là không đúng với yêu cầu của bài toán.

Câu hỏi liên quan