PCA 降維方法的簡單使用
阿新 • • 發佈:2018-12-11
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_)