두 작업 : 주성분 분석 : 단계, 응용 프로그램 코드입니다. 당신은 어떤 프로그래밍 언어를 사용할 수있는 코드를 잘 알고 있습니다.
주성분 분석은 주 성분의 이러한 치수의 감소 기술을 생성하는 약간의 지표의 포괄적 인 분석은, 그것이 가장 많은 정보를 원래의 변수를 반영 보통 선형 원래의 변수로 표현 수 통계적 다중 지표 인 조합. 사상 PCA는 언급은 m 차원 직교 새로운 기능이다 m 차원 (M <N)에서 N 차원 기능을 매핑하는 것을 특징으로 주성분으로서 그 m 차원 재 구축하지 단순히 N 행 상기 나노 치수 피쳐 치수를 뺀다. PCA의 핵심 아이디어는 데이터를 구별하기 쉽게, 프로젝션 데이터의 방향을 따라 가장 크다.
PCM의 차원 감소의 단계 :
센터링 후 새로운 데이터의 평균값을 뺀 원래 데이터] 1. 우리는 일반적으로 행 선택이 각 기능에 대한 평균 특성이다;
2. 시크 기능 공분산 행렬;
공분산 행렬의 고유치 및 고유 벡터
배열은 또한 대응하는 특징 벡터를 제공 따른 내림차순 4. 고유치는 몇몇 주요 컴포넌트를 선택 투영 매트릭스를 찾을.
데이터가 우리 투영 매트릭스 차원 축소에 의해 구.
PCM 응용 프로그램 :
-
主成分分类
다른 지표를 수집한다 대한 주성분 분석, 산점도가 알 수있는, 그것이 분류 될 수있다
-
主成分回归
다수의 독립 변수가 공통으로 나타나는 경우, 주성분 분석은 고전 회귀 극복 불충분
MATLAB 코드 구현
단계 :
데이터 1 중앙
2. 추구하는 기능 공분산 행렬
공분산 행렬의 고유 값 및 고유 벡터를 찾을합니다
, 승순 (K)의 최대 값을 취득하고, 대응하는 고유 벡터의 제 특성 값은 K 행렬로 구성된 열 벡터로서 특징
5. 선택된 샘플 포인트는 선택된 특징 벡터 K 투영
모두;
모든을 닫습니다;
X = [2.5 2.4;
0.5 0.7;
2.2 290;
1.9 2.2;
3.1 3.0;
2.3 2.7;
2 160;
11.1;
1.5 1.6;
1.1 0.9];
X = X '
% X = [74 87
84 88 74 86 69 73 64;
%
69 84 74 85 84 85 83 83 (77);
%
87 86 83 86 85 83 91 89 85;
%
69 100 82 96 84 82 97 98 76;
%
46 53 88 89 97 97 48 89 (36);
%
59 98 93 94 98 100 79 83 61];
% X = X ';
% X = 2 0
-1.4;
%
2.2 0.2 -1.5;
%
2.4 0.1 -1;
%
1.9 0 -1.2];
% X = X ';
[A, B] = 크기 (X);
M = SUM (X) / A]
난 = 1의 경우 : B
B(:,i)=X(:,i)-M(i);
%B=zscore(X);
종료
S = 1 / (A-1) B B ';
[벡터 값 = EIG (S);
벡터
DIAG 값 = (값)
varine = SUM (값);
[value_sort는 첨자] 정렬 (값 '이 하강을') =;
value_sort;
첨자;
value_sort = value_sort / SUM (value_sort);
비교 = 0;
서명 = 0;
난 = 1의 경우 : B
if compare<0.9
sign=sign+1;
compare=compare+value_sort(i);
end
종료
내가 1 = 대한 : 기호
P(:,i)=vector(:,subscript(i));
종료
피
D는 제로 (기호, 기호) =;
내가 1 = 대한 : 기호
D(i,i)=value(subscript(i));
종료
디