데이터 강 차원 - 주성 분 분석, 인자 분석, 선형 판별 분석
1. 하 나 는 특징 선택 이다. 기 존의 차원 의 일부분 을 직접 선택 하여 후속 적 인 계산 과 모델 링 과정 에 참여 하고 선택 한 차원 으로 모든 차원 을 대체 하 며 전체 과정 에 새로운 차원 이 생기 지 않 는 다.
방법:
(1) 경험 법: 업무 경험 에 따라 선택
(2) 추산 법: 다양한 차원 에서 계산 에 참여 하 는 것 을 계속 테스트 하고 결 과 를 통 해 반복 적 으로 검증 하고 조정 하 며 최종 적 으로 가장 좋 은 특징 방안 을 찾 습 니 다.
(3) 통계 분석 방법: 상관 성 분석 을 통 해 서로 다른 차원 간 의 선형 상관 성 을 분석 하고 상관 성 이 높 은 차원 에서 인공 적 으로 제거 하거나 선별 한다.서로 다른 차원 간 의 상호 정 보 를 계산 하여 비교적 높 은 상호 정 보 를 가 진 특징 집 을 찾 은 다음 에 그 중의 한 특징 을 제거 하거나 남긴다.
(4) 기계 학습: 기계 학습 알고리즘 을 통 해 서로 다른 특징의 특징 값 이나 가중치 를 얻 은 다음 에 권 재 에 따라 비교적 큰 특징 을 선택 하고 예 를 들 어 결정 트 리 로 서로 다른 변수의 중요 도 를 얻 을 수 있다.
2. 다른 하 나 는 특징 추출 이다. 일정한 수학 변환 방법 에 따라 고 차원 공간의 데이터 점 을 저 차원 공간 에 투사 한 다음 에 매 핑 된 변수 특징 을 이용 하여 원래 의 전체적인 특징 을 나타 낸다.
방법: 상용 알고리즘 은 독립 성분 분석 (ICA), 주성 분분 석 (PCA), 인자 분석 (FA), 선형 판별 분석 (LDA), 국부 선형 삽입 (LLE), 핵 주성 분분 석 (Kernel PCA) 등 이 있다
주성 분 분석 (PCA):
주어진 관련 변수 (차원) 를 선형 변환 을 통 해 다른 그룹 과 관련 이 없 는 변수 로 변환 합 니 다. 이 새로운 변 수 는 분산 순서에 따라 정렬 합 니 다.첫 번 째 변 수 는 가장 큰 방 차 를 가지 고 첫 번 째 주성 분 이 라 고 부 르 고 두 번 째 변수의 방 차 가 크 며 두 번 째 주성 분 이 라 고 부른다.
주성 분 분석 기본 절차:
(1) 원시 d 차원 데이터 에 대해 표준화 처리
(2) 구조 견본 의 협 방 차 행렬
(3) 협 방 차 행렬 의 특징 값 과 해당 하 는 특징 벡터 를 계산한다.
(4) 앞의 k 개 최대 특징 값 과 대응 하 는 특징 벡터 를 선택 하 십시오. 그 중에서 k 는 새로운 특징 공간의 차원 (k < = d) 입 니 다.
(5) 앞의 k 개 특징 벡터 를 통 해 매 핑 매트릭스 W 구축
(6) 매 핑 매트릭스 W 를 통 해 d 차원 의 입력 데이터 세트 X 를 새로운 k 차원 특징 서브 공간 으로 변환
#
import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
from sklearn import datasets
#
iris=datasets.load_iris() #
x=iris.data
print(x[:10])
[[ 5.1 3.5 1.4 0.2]
[ 4.9 3. 1.4 0.2]
[ 4.7 3.2 1.3 0.2]
[ 4.6 3.1 1.5 0.2]
[ 5. 3.6 1.4 0.2]
[ 5.4 3.9 1.7 0.4]
[ 4.6 3.4 1.4 0.3]
[ 5. 3.4 1.5 0.2]
[ 4.4 2.9 1.4 0.2]
[ 4.9 3.1 1.5 0.1]]
#
pca=PCA(n_components=2) # PCA ,n_components
pca.fit(x) #
x_r=pca.transform(x) #
print(x_r[:10])
[[-2.68420713 0.32660731]
[-2.71539062 -0.16955685]
[-2.88981954 -0.13734561]
[-2.7464372 -0.31112432]
[-2.72859298 0.33392456]
[-2.27989736 0.74778271]
[-2.82089068 -0.08210451]
[-2.62648199 0.17040535]
[-2.88795857 -0.57079803]
[-2.67384469 -0.1066917 ]]
#
components=pca.components_ #
var=pca.explained_variance_ #
var_ratio=pca.explained_variance_ratio_ #
print('components',components)
print('variance',var)
print('variance ratio',var_ratio)
components [[ 0.36158968 -0.08226889 0.85657211 0.35884393]
[ 0.65653988 0.72971237 -0.1757674 -0.07470647]]
variance [ 4.22484077 0.24224357]
variance ratio [ 0.92461621 0.05301557]
상기 수출 결과 에서 주성 분 의 분산 비례 는 주성 분 수량 을 선택 하 는 관건 이 고 주성 분 의 분산 비례 가 70% 이상 이면 이 주성 분 을 선택 하여 후속 모델 계산 에 참여 할 수 있다.
인자 분석 (FA):
변수 에서 공통성 인 자 를 추출 하 다.
인자 분석 은 기 존의 변수 간 에 비교적 강 한 상관 성 을 가 져 야 한다. 그렇지 않 으 면 인자 분석 은 변수 간 의 공통성 특징 을 추출 할 수 없다. 만약 에 관련 계수 가 0.3 보다 적 으 면 변수 간 의 공선 성 이 비교적 작고 인자 분석 에 적합 하지 않다.인자 분석 은 인자 와 원 변수의 관 계 를 얻 기 때문에 인 자 를 해석 할 수 있다.
import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.decomposition import FactorAnalysis
iris=datasets.load_iris()
x=iris.data
fa=FactorAnalysis(n_components=3) # 3
fa.fit(x)
tran_x=fa.transform(x)
print(tran_x[:10]) #
[[ -1.31686745e+00 5.97520018e-01 1.11217811e-03]
[ -1.32710651e+00 -3.28650685e-01 -3.88642995e-01]
[ -1.39619171e+00 -2.84417674e-01 1.31593688e-01]
[ -1.33067991e+00 -5.98068260e-01 1.15421214e-03]
[ -1.33261365e+00 6.06424839e-01 2.31749197e-01]
[ -1.11358590e+00 1.37362223e+00 5.32582144e-01]
[ -1.34512235e+00 -1.98028671e-01 6.99463537e-01]
[ -1.28894846e+00 3.10292800e-01 -7.03646521e-02]
[ -1.38762034e+00 -1.09325259e+00 3.50884895e-02]
[ -1.32480883e+00 -1.89272934e-01 -6.00649914e-01]]
선형 판별 분석 (LDA):
선형 판별 은 고 차원 의 모델 샘플 을 가장 좋 은 감별 벡터 공간 에 투영 시 켜 분류 정보 추출 과 특징 공간 차원 의 효 과 를 얻 도록 한다. 투영 후 모델 샘플 은 새로운 서브 공간 에서 가장 큰 유형 간 거리 와 가장 작은 유형 내 거 리 를 가진다. 즉, 모델 은 이 공간 에서 가장 좋 은 분리 성 을 가진다.선형 판별 은 이미 알 고 있 는 유형의 '훈련 샘플' 을 통 해 판별 준칙 을 구축 하고 예측 변 수 를 통 해 알 수 없 는 유형의 데 이 터 를 분류 한다.
import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.lda import LDA
iris=datasets.load_iris()
x=iris.data
y=iris.target
print(x[:5],y[:5])
lda=LDA()
lda.fit(x,y)
x_r=lda.transform(x)
print(x_r[:5])
참고:
http://www.dataivy.cn/blog/%E5%9B%A0%E5%AD%90%E5%88%86%E6%9E%90factor-analysis/
다음으로 전송:https://www.cnblogs.com/niniya/p/8799397.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.