Vấn đề thực tiễn: chuẩn hóa (scaling)
Bạn đã thấy trong video rằng việc chuẩn hóa dữ liệu trước khi thực hiện PCA sẽ làm thay đổi kết quả mô hình PCA. Ở đây, bạn sẽ chạy PCA có và không chuẩn hóa, rồi trực quan hóa kết quả bằng biplot.
Đôi khi việc chuẩn hóa là phù hợp khi phương sai của các biến khác nhau đáng kể. Điều này thường xảy ra khi các biến có đơn vị đo lường khác nhau, ví dụ độ F (nhiệt độ) và dặm (khoảng cách). Quyết định có nên chuẩn hóa hay không là một bước quan trọng khi thực hiện phân tích thành phần chính.
Bài tập này là một phần của khóa học
Học không giám sát với R
Hướng dẫn bài tập
Cùng bộ dữ liệu Pokemon có sẵn trong không gian làm việc của bạn là pokemon, nhưng đã thêm một biến mới: Total.
- Có sẵn một đoạn mã ở đầu trình soạn thảo để tính trung bình và độ lệch chuẩn của từng biến trong mô hình. Chạy đoạn mã này để xem thang đo của các biến khác nhau như thế nào trong dữ liệu gốc.
- Tạo một mô hình PCA trên
pokemoncó chuẩn hóa, gán kết quả vàopr.with.scaling. - Tạo một mô hình PCA trên
pokemonkhông chuẩn hóa, gán kết quả vàopr.without.scaling. - Dùng
biplot()để vẽ cả hai mô hình (lần lượt từng mô hình) và so sánh đầu ra của chúng.
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.
# Mean of each variable
colMeans(pokemon)
# Standard deviation of each variable
apply(pokemon, 2, sd)
# PCA model with scaling: pr.with.scaling
# PCA model without scaling: pr.without.scaling
# Create biplots of both for comparison