第7章 PCA与梯度上升法
生活随笔
收集整理的這篇文章主要介紹了
第7章 PCA与梯度上升法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
?主成分分析法:主要作用是降維
?
?
?疑似右側比較好?
第三種降維方式:
?
?
?問題:?????
?
?
?方差:描述樣本整體分布的疏密的指標,方差越大,樣本之間越稀疏;越小,越密集
?
第一步:
?
?
?
?總結:
?
?
?
?問題:????怎樣使其最大
?
?變換后:
?
?
?最后的問題:????
?
?注意區別于線性回歸
?
?使用梯度上升法解決PCA問題:
?
?
?
??
?
?
?
?
?
?
?
?
??
import numpy as np import matplotlib.pyplot as plt from sklearn import datasetsdigits = datasets.load_digits() # 手寫識別數據 X = digits.data y = digits.targetfrom sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=666) # 使用K近鄰 from sklearn.neighbors import KNeighborsClassifier knn_clf=KNeighborsClassifier() knn_clf.fit(X_train,y_train) a1=knn_clf.score(X_test,y_test) # print(a1) # 使用PCA from sklearn.decomposition import PCA pca=PCA(n_components=2) pca.fit(X_train) X_train_reduction=pca.transform(X_train) X_test_reduction=pca.transform(X_test) knn_clf=KNeighborsClassifier() knn_clf.fit(X_train_reduction,y_train) a2=knn_clf.score(X_test_reduction,y_test) # print(a2)# print(pca.explained_variance_ratio_) pca=PCA(n_components=X_train.shape[1]) pca.fit(X_train) # print(pca.explained_variance_ratio_)plt.plot([i for i in range(X_train.shape[1])],[np.sum(pca.explained_variance_ratio_[:i+1]) for i in range(X_train.shape[1])]) # plt.show()pca1=PCA(0.95) # 能解釋95%以上的方差 pca1.fit(X_train) print(pca.n_components_)from sklearn.decomposition import PCA pca=PCA(0.95) pca.fit(X_train) X_train_reduction=pca.transform(X_train) X_test_reduction=pca.transform(X_test) knn_clf=KNeighborsClassifier() knn_clf.fit(X_train_reduction,y_train) a3=knn_clf.score(X_test_reduction,y_test) print(a3)pca=PCA(n_components=2) pca.fit(X) X_reduction=pca.transform(X) for i in range(10):plt.scatter(X_reduction[y==i,0],X_reduction[y==i,1],alpha=0.8) plt.show() scikit-learn中的PCA總結
以上是生活随笔為你收集整理的第7章 PCA与梯度上升法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel相关常识
- 下一篇: 第四章 数据的预处理与特征构建(续)