Principal component analysis là gì

      309

Msống đầu.

Bạn đang xem: Principal component analysis là gì

Đây là thuật toán ra đời để giải quyết vụ việc dữ liệu có vô số chiều dữ liệu, bắt buộc giảm bớt chiều dữ liệu nhằm mục đích tăng tốc độ up load, mà lại vẫn lưu giữ đọc tin các độc nhất vô nhị hoàn toàn có thể (high variance).

Chúng ta buộc phải đưa ra chiều tài liệu tất cả độ quan trọng đặc biệt cao, nhằm mục tiêu giảm bớt Việc tính toán thù, cũng như tăng tốc độ cập nhật.
*
PCA đưa tài liệu từ linear thành những trực thuộc tính new không liên quan cho nhau.

Xem thêm: Hệ Đào Tạo Và Loại Hình Đào Tạo Là Gì ? Các Loại Hình Đào Tạo

Dữ liệu.

Chúng ta nên phân biệt 2 các loại dữ liệu:

Dữ liệu tương quan (correlated):

*

Dữ liệu không liên quan (uncorrelated):

*

PCA tìm ra mean với principal components.

*
*

Làm cụ làm sao nhằm implement PCA:

Biến thay đổi X về dạng đồng hóa.Tính tân oán covariance matrix ΣTìm eigenvectors của ΣLấy K dimensions có giá trị variance cao nhất

eigenvectors (vector màu đỏ)

là vector ko biến hóa hướng Khi apply linear transformation.

*

eigenvalue cho PC1

*

eigenvalue cho PC2

*

eigenvector

*

Sự phân chia độ đặc trưng của chiều dữ liệu

*
*

Algorithm

from numpy import arrayfrom numpy import meanfrom numpy import covfrom numpy.linalg import eig# define a matrixA = array(<<1, 2>, <3, 4>, <5, 6>>)print(A)# calculate the mean of each columnM = mean(A.T, axis=1)print(M)# center columns by subtracting column meansC = A - Mprint(C)# calculate covariance matrix of centered matrixV = cov(C.T)print(V)# eigendecomposition of covariance matrixvalues, vectors = eig(V)print(vectors)print(values)# project dataP = vectors.T.dot(C.T)print(P.T)Output:

*
*
Reference: