Trực quan hóa phép biến đổi PCA

Unsupervised Learning bằng Python

Benjamin Wilson

Director of Research at lateral.io

Giảm chiều

  • Lưu trữ và tính toán hiệu quả hơn
  • Loại bỏ các đặc trưng "nhiễu" ít thông tin
  • ... vốn gây vấn đề cho dự đoán, như phân loại, hồi quy
Unsupervised Learning bằng Python

Phân tích Thành phần Chính

  • PCA = "Principal Component Analysis"
  • Kỹ thuật giảm chiều cơ bản
  • Bước đầu: "khử tương quan" (xem ở đây)
  • Bước hai: giảm số chiều (xem sau)
Unsupervised Learning bằng Python

PCA căn dữ liệu theo trục

  • Xoay mẫu dữ liệu để thẳng hàng với trục
  • Tịnh tiến dữ liệu để có trung bình 0
  • Không mất thông tin

biểu đồ scatter dữ liệu rượu vang với trục xoay

Unsupervised Learning bằng Python

PCA theo mẫu fit/transform

  • PCA là một thành phần scikit-learn như KMeans hoặc StandardScaler
  • fit() học phép biến đổi từ dữ liệu đưa vào
  • transform() áp dụng phép biến đổi đã học
  • transform() cũng áp dụng cho dữ liệu mới
Unsupervised Learning bằng Python

Dùng PCA của scikit-learn

  • samples = mảng gồm hai đặc trưng (total_phenols & od280)
[[ 2.8   3.92]
 ...
 [ 2.05  1.6 ]]
from sklearn.decomposition import PCA

model = PCA() model.fit(samples)
PCA()
transformed = model.transform(samples)
Unsupervised Learning bằng Python

Đặc trưng PCA

  • Hàng của transformed tương ứng với các mẫu
  • Cột của transformed là các "đặc trưng PCA"
  • Mỗi hàng cho giá trị đặc trưng PCA của mẫu tương ứng
print(transformed)
[[  1.32771994e+00   4.51396070e-01]
 [  8.32496068e-01   2.33099664e-01]
 ...
 [ -9.33526935e-01  -4.60559297e-01]]
Unsupervised Learning bằng Python

Đặc trưng PCA không tương quan

  • Các đặc trưng của tập dữ liệu thường tương quan, ví dụ total_phenolsod280
  • PCA căn chỉnh dữ liệu với các trục
  • Các đặc trưng PCA thu được không tương quan tuyến tính ("khử tương quan")

biểu đồ scatter dữ liệu rượu vang với trục xoay

Unsupervised Learning bằng Python

Tương quan Pearson

  • Đo mức tương quan tuyến tính giữa các đặc trưng
  • Giá trị trong khoảng -1 đến 1
  • Giá trị 0 nghĩa là không có tương quan tuyến tính

3 biểu đồ scatter với tương quan 0.7, 0 và -0.7

Unsupervised Learning bằng Python

Thành phần chính

  • "Thành phần chính" = các hướng có phương sai lớn
  • PCA căn các thành phần chính trùng với trục tọa độ

biểu đồ scatter dữ liệu rượu với 2 mũi tên đỏ chỉ hướng thành phần chính (trục xoay)

Unsupervised Learning bằng Python

Thành phần chính

  • Có sẵn trong thuộc tính components_ của đối tượng PCA
  • Mỗi hàng xác định dịch chuyển từ giá trị trung bình
print(model.components_)
[[ 0.64116665  0.76740167]
 [-0.76740167  0.64116665]]
Unsupervised Learning bằng Python

Ayo berlatih!

Unsupervised Learning bằng Python

Preparing Video For Download...