1. 程式人生 > >PCA 降維方法的簡單使用

PCA 降維方法的簡單使用

from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
import pandas as pd
import numpy as np
#pca.txt是一個沒有表頭的多維資料,一共有7列,利用pandas讀取
df = pd.read_table('d:/PCA.txt')
#將df轉換成矩陣
dataMat = np.array(df)
#呼叫sklearn中的PCA,其中主成分有5列
pca_sk = PCA(n_components=5)
#利用PCA進行降維,資料存在newMat中
newMat = pca_sk.fit_transform(dataMat)
#利用KMeans進行聚類,分為3類
kmeans = KMeans(n_clusters=3,random_state=0).fit(newMat)
#labels為分類的標籤
labels = kmeans.labels_
#把標籤加入到矩陣中用DataFrame生成新的df,index為類別的編號,這裡是0,1,2
dataDf = pd.DataFrame(newMat,index=labels,columns=['x1','x2','x3','x4','x5'])
#資料儲存在excel檔案中
dataDf.to_excel('d:/pca_cluster.xls')
print(pca_sk.explained_variance_ratio_)

來源:https://blog.csdn.net/playgoon2/article/details/77326045