1. 程式人生 > >淺談PCA(主成分分析)線性降維演算法用法

淺談PCA(主成分分析)線性降維演算法用法

sklearn.decomposition.PCA(n_components = None, copy = True, whiten = False)

n_components表示需要保留的主成分個數,即需要降低到幾維;若n_components=1,則表示降低為1維,若n_components=‘mle’,則自動選取要保留的維度。 copy表示是否需要將原始資料集複製一份;若copy=True,則複製原始訓練集的副本,並在副本上進行運算,原始訓練不會有任何改變;若copy=False ,則直接在原始訓練集上進行降維運算。 whiten表示使每個特徵擁有相同的方差

例 資料如下 這裡寫圖片描述

程式碼如下

#-*- coding: utf-8 -*-
#主成分分析 降維
import pandas as pd

#引數初始化
inputfile = '../data/principal_component.xls'
outputfile = '../tmp/dimention_reducted.xls' #降維後的資料

data = pd.read_excel(inputfile, header = None) #讀入資料

from sklearn.decomposition import PCA

pca = PCA()
pca.fit(data)    #訓練資料
pca.components_ #返回模型的各個特徵向量
pca.explained_variance_ratio_ #返回各個成分各自的方差百分比 print(pca.components_) print(pca.explained_variance_ratio_)

執行結果

[[ 0.56788461  0.2280431   0.23281436  0.22427336  0.3358618   0.43679539
   0.03861081  0.46466998]
 [ 0.64801531  0.24732373 -0.17085432 -0.2089819  -0.36050922 -0.55908747
   0.00186891  0.05910423]
 [-0.45139763  0.23802089
-0.17685792 -0.11843804 -0.05173347 -0.20091919 -0.00124421 0.80699041] [-0.19404741 0.9021939 -0.00730164 -0.01424541 0.03106289 0.12563004 0.11152105 -0.3448924 ] [-0.06133747 -0.03383817 0.12652433 0.64325682 -0.3896425 -0.10681901 0.63233277 0.04720838] [ 0.02579655 -0.06678747 0.12816343 -0.57023937 -0.52642373 0.52280144 0.31167833 0.0754221 ] [-0.03800378 0.09520111 0.15593386 0.34300352 -0.56640021 0.18985251 -0.69902952 0.04505823] [-0.10147399 0.03937889 0.91023327 -0.18760016 0.06193777 -0.34598258 -0.02090066 0.02137393]] [7.74011263e-01 1.56949443e-01 4.27594216e-02 2.40659228e-02 1.50278048e-03 4.10990447e-04 2.07718405e-04 9.24594471e-05]

本博文主要參考書籍張良均等著《python資料分析與挖掘實戰》