Kiểm thử QuantileTransformer
Chuẩn hóa (standardization) dễ gặp cùng vấn đề như z-score. Cả hai đều dùng trung bình và độ lệch chuẩn trong tính toán, nên rất nhạy với giá trị ngoại lai mạnh.
Để khắc phục, bạn nên dùng QuantileTransformer dựa trên các phân vị (quantile). Phân vị của một phân phối không đổi ngay cả khi có ngoại lai lớn.
Bạn nên dùng StandardScaler khi dữ liệu phân phối gần chuẩn (có thể kiểm tra bằng biểu đồ histogram). Với các phân phối khác, QuantileTransformer thường là lựa chọn tốt hơn.
Bạn sẽ thực hành trên bộ dữ liệu females đã được nạp. matplotlib.pyplot đã được nạp với bí danh chuẩn plt.
Bài tập này là một phần của khóa học
Phát hiện bất thường với Python
Hướng dẫn bài tập
- Khởi tạo một
QuantileTransformer()để biến đổi các đặc trưng về phân phối chuẩn và gán vàoqt. - Fit và transform mảng đặc trưng
Xvà giữ nguyên tên cột. - Vẽ biểu đồ histogram cho cột
palmlength.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
from sklearn.preprocessing import QuantileTransformer
# Instantiate an instance that casts to normal
qt = ____
# Fit and transform the feature array
X.____ = ____
# Plot a histogram of palm length
plt.____(____, color='red')
plt.xlabel("Palm length")
plt.show()