建模算法系列二十:PCA降維推導附MATLAB原始碼
作者:由 和wt一起快樂學習 發表于 體育時間:2022-01-10
1。演算法簡介
2。原理解析
MATLAB原始碼
%2021/12/11
%公眾號:好玩的MATLAB
clc
;
clear
;
close
all
;
t
=
-
4
:
0。05
:
4
*
pi
;
x
=
cos
(
t
);
y
=
sin
(
t
);
z
=
t
;
scatter3
(
x
,
y
,
z
,
‘g’
);
hold
on
data
=[
x
;
y
;
z
]
‘
;
data
=
zscore
(
data
);
R
=
corr
(
data
);
%計算特徵向量和特徵值
[
V
,
D
]
=
eig
(
R
);
%V特徵向量,D特徵值對角線矩陣
lam
=
diag
(
D
);
%取出對角線元素
%對特徵值從大到小排列
[
lam_sort
,
index
]=
sort
(
lam
,
’descend‘
);
V_sort
=
V
(:,
index
);
gong
=
lam_sort
。/
sum
(
lam_sort
);
%貢獻率
cgong
=
cumsum
(
gong
);
%累計貢獻率
index1
=
2
;
%設定降維資料為2
M
=
data
*
V_sort
;
M
=
M
(:,
1
:
index1
);
plot
(
M
(:,
1
),
M
(:,
2
),
’b‘
)
hold
on
title
(
’三維資料降為兩維資料‘
)
legend
(
’降維前的三維資料‘
,
’降維後的二維資料‘
)
xlabel
(
’x‘
)
ylabel
(
’y‘
)
zlabel
(
’z‘
)
下一篇:司美格魯肽減肥記錄