Bắt đầu ngayBắt đầu miễn phí

Lọc bỏ các đặc trưng tương quan cao

Bạn sẽ tự động loại bỏ các đặc trưng có mức tương quan cao trong bộ dữ liệu ANSUR dạng số. Bạn sẽ tính ma trận tương quan và lọc các cột có hệ số tương quan lớn hơn 0.95 hoặc nhỏ hơn -0.95.

Vì mỗi hệ số tương quan xuất hiện hai lần trong ma trận (tương quan của A với B bằng tương quan của B với A), bạn sẽ muốn bỏ qua một nửa ma trận tương quan để chỉ loại một trong hai đặc trưng có tương quan. Hãy dùng một mẹo tạo mask cho mục đích này.

Bài tập này là một phần của khóa học

Giảm Chiều Dữ Liệu với Python

Xem khóa học

Hướng dẫn bài tập

  • Tính ma trận tương quan của ansur_df và lấy giá trị tuyệt đối của ma trận này.
  • Tạo một mask boolean với các giá trị True ở tam giác trên bên phải và áp dụng nó lên ma trận tương quan.
  • Đặt ngưỡng hệ số tương quan là 0.95.
  • Loại (drop) tất cả các cột liệt kê trong to_drop khỏi DataFrame.

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.

# Calculate the correlation matrix and take the absolute value
corr_df = ansur_df.____().____()

# Create a True/False mask and apply it
mask = np.____(np.____(corr_df, dtype=____))
tri_df = corr_df.____(mask)

# List column names of highly correlated features (r > 0.95)
to_drop = [c for c in tri_df.columns if any(tri_df[c] >  ____)]

# Drop the features in the to_drop list
reduced_df = ansur_df.____(____, axis=1)

print(f"The reduced_df DataFrame has {reduced_df.shape[1]} columns.")
Chỉnh sửa và Chạy Mã