PCA 降維方法的簡單使用

2021-09-02 23:13:03 字數 822 閱讀 5726

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_)

PCA降維演算法

文章由兩部分構成,第一部分主要講解pca演算法的步驟,第二部分講解pca演算法的原理。那麼首先進入第一部分 pca演算法的步驟 樣本矩陣x的構成 假設待觀察變數有m個,其實相當於乙個資料在m維各維度上的座標,我們的目標是在保證比較資料之間相似性不失真的前提下,將描述資料的維度盡量減小至l維 l樣本矩...

PCA降維原理

在之前的介紹中,一幅影象只能表示乙個物件。那麼對於w x h的灰度影象,只能表示為w x h位的向量,那麼乙個有100 100的影象就需要10000維的向量空間。對於一幅人臉而言,是否所有維的資料都是有用的呢?在矩陣論當中我們知道,矩陣可以近似的表示為乙個特徵值與特徵向量的乘積。根據這個原理,如果我...

資料降維 PCA

模型原型 class sklearn.decomposition.pca n components none,copy true,whiten false 引數 copy 如果為false,則直接使用原始資料來訓練,結果會覆蓋原始資料所在的陣列 whiten 如果為true,則會將特徵向量除以n s...