pca主要是用來對特徵進行降維的
參考**並茂的pca教程
設一矩陣xm行n列
將x的每一行(代表乙個屬性字段)進行零均值化
求出協方差矩陣c=1
mxxt
c=\fracxx^
c=m1x
xt求出協方差矩陣的特徵值及對應的特徵向量
將特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前k行組成矩陣p
y=px即為降維到k維後的資料 例項
原始資料集矩陣x:
( 11
2421
3344
)\begin 1& 1& 2& 4& 2&\\ 1& 3& 3& 4& 4& \end
(1113
23
442
4)
求均值後:
( −1
−102
0−20
011)
\begin -1 & -1& 0& 2& 0\\ -2 & 0 &0 & 1& 1 \end
(−1−2
−10
002
101
)求協方差矩陣:
c =1
5(−1
−102
0−20
011)
(−1−
2−10
0021
11)=
(654
5456
5)
c=\frac\begin -1 & -1& 0& 2& 0\\ -2 & 0 &0 & 1& 1 \end\begin -1 &-2 \\ -1& 0\\ 0&0 \\ 2&1 \\ 1 & 1 \end=\begin \frac &\frac \\ \frac & \frac \end
c=51(
−1−2
−10
00
210
1)⎝
⎜⎜⎜⎜
⎛−1
−102
1−2
0011
⎠⎟⎟
⎟⎟⎞
=(56
54
54
56
)特徵值:
λ 1=
2,λ2
=2
5_=2,_=\frac
λ1=2,
λ2=
52對應的特徵向量:
c 1(
1212
),c1
(−12
12
)c1\begin \frac}\\ \frac} \end,c1\begin -\frac}\\ \frac} \end
c1(21
21
),
c1(−
21
21
)標準化(其實不標準化也一樣,只是稍顯不專業):
p =(
1212
−121
2)
p=\begin \frac} & \frac} \\ -\frac} & \frac} \end
p=(21
−2
12
12
1
)選擇較大特徵值對應的特徵向量:
( 12
12
)\begin \frac} & \frac} \end
(21
21
)執行pca變換:y=px,得到的y就是pca降維後的值資料集矩陣:
y =(
1212
)(−1
−102
0−20
011)
=(−3
2−12
0321
2)
y=\begin \frac} & \frac} \end\begin -1 & -1& 0& 2& 0\\ -2 & 0 &0 & 1& 1 \end=\begin -\frac} & -\frac}&0 &\frac} & \frac} \end
y=(21
2
1)
(−1−
2−1
000
21
01)
=(−2
3
−21
0
23
21
)sklearn.decomposition.pca(n_components=none)
將資料分解為較低維數空間
n_components: 小數:表示保留百分之多少的資訊 整數:減少到多少特徵
pca.fit_transform(x) x:numpy array格式的資料[n_samples,n_features]
返回值:轉換後指定維度的array
data[[
2,8,
4,5]
,[6,
3,0,
8],[
5,4,
9,1]
]from sklearn.decomposition import pca
def pca_demo()
:"""
對資料進行pca降維
:return
: none
"""data =[[
2,8,
4,5]
,[6,
3,0,
8],[
5,4,
9,1]
] # 1、例項化pca, 小數——保留多少資訊
transfer =
pca(n_components=
0.9)
# 2、呼叫fit_transform
data1 = transfer.
fit_transform
(data)
("保留90%的資訊,降維結果為:\n"
, data1)
# 1、例項化pca, 整數——指定降維到的維數
transfer2 =
pca(n_components=3)
# 2、呼叫fit_transform
data2 = transfer2.
fit_transform
(data)
###下面這一行的意思是將4列變為3列
("降維到3維的結果:\n"
, data2)
return none
機器學習 PCA
介紹 pca是一種無監督學習的降維技術 思想1.投影後樣本越分散,保留的資訊越多 2.pca的主要思想是將n維特徵對映到k維上,這k維是全新的正交特徵也被稱為主成分,是在原有n維特徵的基礎上重新構造出來的k維特徵 做法1.將所有的樣本點向直線w投影 2.目標函式 讓投影後樣本的方差極大 第一步 x減...
sklearn機器學習 PCA
pca使用的資訊量衡量指標,就是樣本方差,又稱可解釋性方差,方差越大,特徵所帶的資訊量越多 原理推導 class sklearn decomposition.pca n components none,copy true whiten false svd solver auto tol 0.0,it...
機器學習之PCA演算法學習
pca全稱principal component analysis,即主成分分析,是一種常用的資料降維方法。它可以通過線性變換將原始資料變換為一組各維度線性無關的表示,以此來提取資料的主要線性分量。其中,z為低維矩陣,x為高維矩陣,w為兩者之間的對映關係。假如我們有二維資料 原始資料有兩個特徵軸 特...