Principal component analysis là gì

1. Giới thiệu

Với thời đại tài liệu bùng phát nhỏng thời buổi này, dữ liệu ta thu thập được không hề nhỏ. Trong thực tiễn, cácvector quánh trưng(feature vectors) có thể có số chiều rất lớn, tới vài nghìn. Đồng thời, lượng điểm dữ liệu cũng khá lớn. Điều kia sẽ gây trở ngại mang lại bài toán lưu trữ và tính tân oán. Vì vậy, một Một trong những bước đặc biệt quan trọng trong không ít bài toán học tập máy là ta phảigiảm chiều dữ liệu(dimentionality reduction).

You watching: Principal component analysis là gì

Giảm chiều dữ liệucòn là một phương pháp được áp dụng nhằm sút vấn đềthừa khớp(overfitting),nó có nhị hướng là hướngchọn lựa sệt trưng(feature selection) với hướngtrích xuất đặc trưng(feature extraction). Hôm nay ta sẽ tìm hiểu về một thuật toán theo hướngtrích xuất sệt trưnglà Principal Component Analysis (PCA).

See more: File Midi Là Gì Tính Năng Của Midi Trong Phòng Thu, File Midi Là Gì

1.1 Giới thiệu về PCA


*

1.2 Cở ssống tân oán học

Kỳ vọng (mean)

Là quý giá mong muốn, nó đơn giản dễ dàng là trung bình cùng của toàn bộ những giá trị

ChoNgiá bán trị

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

3. Demo đối kháng giản

*
*
*
*
*
*
*
*

Dữ liệu được trải rộng rộng sinh sống trục PC 1 – yếu tắc chủ yếu trước tiên (the first principal component)Dữ liệu được trải rộng it rộng nghỉ ngơi trục PC 2 – thành phần thiết yếu lắp thêm nhị (the second principal component)Phần này ta vận dụng thư viện sklearn để sút chiều tài liệu cùng training

from matplotlib.colors import ListedColormapdef plot_decision_regions(X, y, classifier, resolution=0.02): # setup marker generator và color map markers = ("s", "x", "o", "^", "v") colors = ("red", "blue", "lightgreen", "gray", "cyan") cmap = ListedColormap(colors<:len(np.unique(y))>) # plot the decision surface x1_min, x1_max = X<:, 0>.min() - 1, X<:, 0>.max() + 1 x2_min, x2_max = X<:, 1>.min() - 1, X<:, 1>.max() + 1 xx1, xx2 = np.meshgrid(np.arange(x1_min, x1_max, resolution), np.arange(x2_min, x2_max, resolution)) Z = classifier.predict(np.array().T) Z = Z.reshape(xx1.shape) plt.contourf(xx1, xx2, Z, alpha=0.4, cmap=cmap) plt.xlim(xx1.min(), xx1.max()) plt.ylim(xx2.min(), xx2.max()) # plot examples by class for idx, cl in enumerate(np.unique(y)): plt.scatter(x=X, y=X, alpha=0.6, color=cmap(idx), edgecolor="black", marker=markers, label=cl)from sklearn.linear_model import LogisticRegressionfrom sklearn.decomposition import PCA# initializing the PCA transformer and# logistic regression estimator:pca = PCA(n_components=2)lr = LogisticRegression(multi_class="ovr", random_state=1, solver="lbfgs")# dimensionality reduction:X_train_pca = pca.fit_transform(X_train_std)X_test_pca = pca.transform(X_test_std)# fitting the logistic regression model on the reduced dataset:lr.fit(X_train_pca, y_train)#OutputLogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, max_iter=100, multi_class="ovr", n_jobs=None, penalty="l2", random_state=1, solver="lbfgs", tol=0.0001, verbose=0, warm_start=False)Phân các loại tài liệu bên trên tập train chỉ cách dữ liệu 2 chiều

plot_decision_regions(X_train_pca, y_train, classifier=lr)plt.xlabel("PC 1")plt.ylabel("PC 2")plt.legend(loc="lower left")plt.tight_layout()plt.show()
Phân nhiều loại tài liệu bên trên tập kiểm tra chưa đến dữ liệu 2 chiều

plot_decision_regions(X_test_pca, y_test, classifier=lr)plt.xlabel("PC1")plt.ylabel("PC2")plt.legend(loc="lower left")plt.tight_layout()plt.show()
Ta có thể thấy chỉ gồm một vài ba điểm bị phân loại không đúng, logistic regression hoạt động hơi tốt bên trên không khí hai chiều này.

See more: Giới Hạn Bình Thường Creatinin Máu Là Gì ? Chỉ Số Creatinin Bất Thường Khi Nào?

4. Kết luận

4.1 Ưu điểm của PCA

Loại vứt các đặc trưng đối sánh tương quan (bớt những quánh trưng)Cải thiện nay hiệu suất thuật toánGiảm vượt khớp (overfitting)Cải thiện trực quan lại hóa dữ liệu (dễ dàng trực quan lại hóa lúc có không nhiều chiều)

4.2 Nhược điểm của PCA

Các đổi thay tự do trlàm việc đề nghị nặng nề đọc hơn (những đặc thù new không dễ phát âm với dễ dàng nắm bắt nhỏng những đặc thù ban đầu).Chuẩn hóa dữ liệu trước khi thực hiện PCA.Mất thông báo.

5. Tài liệu tham mê khảo

<1>Pyhẹp machine learning book


Chuyên mục: Giải Đáp