Chuẩn hoá z-score cho một cột đặc trưng
Nhiều thuật toán học máy nhạy với thang đo của đặc trưng: một cột tính bằng triệu sẽ
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, numpy-axis-reduction.
Nội dung đề bài
Mô tả bài toán
Nhiều thuật toán học máy nhạy với thang đo của đặc trưng: một cột tính bằng triệu sẽ lấn át một cột chỉ từ 0 đến 1. Chuẩn hoá z-score đưa cột về cùng một thang bằng cách trừ trung bình rồi chia cho độ lệch chuẩn. Bài này luyện đúng một bước đó.
Yêu cầu
Viết hàm standardizecolumn(values) trả về danh sách giá trị đã chuẩn hoá, phần tử thứ i bằng (xi - trungbinh) / dolechchuan, trong đó độ lệch chuẩn là độ lệch chuẩn tổng thể (chia cho n, tức ddof = 0, giống StandardScaler của thư viện học máy).
Quy ước nộp bài
Nộp hàm standardize_column trong solution.py. Hệ thống gọi hàm trực tiếp theo tên đối số, so giá trị với sai số 1e-6, và kiểm tra ngoại lệ ValueError; không đọc stdin và không in ra stdout.
Input
- values: danh sách số thực, từ 1 đến 20 phần tử.
Output
Danh sách số thực cùng độ dài với values. Nếu độ lệch chuẩn bằng 0 (mọi phần tử bằng nhau) thì hàm phải ném ValueError.
Ràng buộc
- Phương sai chia cho n, không chia cho n - 1.
- Giá trị trung bình của kết quả xấp xỉ 0; đây là cách tự kiểm tra nhanh.
- Cột hằng số phải ném ValueError, không được trả về nan hay inf.
Ví dụ 1
Input
standardize_column(values=[1, 2, 3, 4, 5])
Output
[-1.4142135623730951, -0.7071067811865475, 0.0, 0.7071067811865475, 1.4142135623730951]
Ví dụ 2
Input
standardize_column(values=[2, 4, 4, 6])
Output
[-1.4142135623730951, 0.0, 0.0, 1.4142135623730951]
Giải thích
Với values = [1, 2, 3, 4, 5] thì trung bình là 3, phương sai tổng thể là (4 + 1 + 0 + 1 + 4) / 5 = 2 nên độ lệch chuẩn là sqrt(2) = 1.4142135623730951. Kết quả là [-1.4142135623730951, -0.7071067811865475, 0.0, 0.7071067811865475, 1.4142135623730951].
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
