본문 바로가기
pyhton

Feature Engineering(특성 공학)

by geewon_v 2023. 11. 20.
특성 공학

:
데이터와 머신 러닝 알고리즘(여기에서는 신경망)에 관한 지식을 사용하는 단계

 

 

 

 

(범주형)

feature selection (특징 선택)

feature extraction 차원 축소 

scaling 

 

transforming

 beaning 

 dummy 범주형 -> 수치형

 

 

 

 

 

 

요인분석이란  


요인분석(Factor Analys)은 다수의 변수를 대상으로 변수간의 관계를 분석하여 공통차원으로 축약하는 통계기법이다.  

 

 

  탐색적 요인분석은 요인분석을 할 때 사전에 어떤 변수들끼리 묶어야 한다는 전제를 두지 않고 분석하는 방법이고,확인적 요인분석은 사전에 묶일 것으로 기대 되는 항목끼리 묶여 지는지를 조사하는 방법이다.

여러 개의 서로 관련이 있는 변수들로 측정된 자료에서 그 변수들을 설명할 수 있는 새로운 공통변수를 파악하는 통계적 분석방법이라 할 수 있다. 

예를 들면, 학생들 100명을 대상으로 국어, 영어, 수학, 사회, 생명공학, 역사, 과학, 화학, 음악 등 9개의 시험을 실시하여 성적을 구하였을 때 9개가 아닌 공통적으로 설명할 수 있는 공통인자(변수)를 파악하는 것이다. 즉,  국어-영어를 언어능력, 수학-과학을 수리능력 등으로 분리해 내는 것 따위가 될 것이다.

 

주성분 분석과의 공통점 / 차이점

 주성분 분석(PCA)과 요인분석(FA)은 유사하지만 다른 특성을 갖고 있다.

  ~ 공통점

     - 관측된 여러 개의 변수들로 부터 소수의 새로운 변수들을 생성한다.

     - 차원 축소의 방법으로 활용한다.

  ~ 차이점

     - PCA : 변수간의 중요성이 있다. 주로 제1주성분, 제2주성분 등으로 구분된다.  변수 간의 순서가 주어진다.

               목표 변수를 잘 분류하기 위해 변수들의 선형 결합에 의해 새로운 변수를 만든다.

     - FA   : 변수들은 기본적으로 대등한 관계를 갖는다. 어떤 것이 더 중요하다는 것이 없다. 변수 간의 순서가 없다.

               데이터가 주어지면 이에 대한 가공 인자들을 만들어 인자들 간의 선형 결합으로 표현한다.

 

 

PCA : 주 성분 분석(Principal Component Analysis)

  PCA는 서로 직교하는 새 기저로 데이터를 변환하기 때문에 변수 간 상관관계가 높은 데이터에 효과가 좋다고 알려져 있다. 

결국 두 변수가 서로 직교한다고 하는 것은 이 두 변수는 서로 통계적으로 독립이라는 것이고, 독립의 성질에 의해 두 변수의 상관관계는 0 이 된다. 

데이터 차원축소, 압축에 널리 쓰이고 있다. 정보의 손실을 최소화하면서 서로 상관관계가 있는 변수들 사이의 복잡한 구조를 더 작고 상관이 없는 구조로 축소하여 변수가 많아 변수들 간의 상관관계를 해석하기 어려울 때 적합하다. 

서로 연관되어 있는 변수들의 정보를 최대한 확보하면서 적은 수의 새로운 변수들(주성분)을 생성하는 방법을 의미하는 것이다.

 

 

 

 주성분 분석(Principal Component Analysis, PCA)은 가장 널리 사용되는 차원 축소 기법(특성 공학) 중 하나로,
원 데이터의 분포를 최대한 보존하면서 고차원 공간의 데이터들을 저차원 공간으로 변환한다.
PCA는 기존의 변수를 조합(국어 + 영어 -> 어학) 하여 서로 연관성이 없는 새로운 변수, 즉 주성분들을 만들어 낸다.
 n개의 관측치와 p개의 변수로 구성된 데이터를 상관관계가 없는 k개의 변수로 구성된 데이터로 요약하는 방식
 이 때 요약된 변수는 기존 변수의 선형 조합으로 원래 성질을 최대한 유지해야 한다.
 선형대수 관점으로 볼 때 입력 데이터의 공분산 행렬을 고유값 분해하고 이렇게 구한 고유벡터에 입력데이터를 선형 변환하는 것이다.
이 고유벡터가 PCA의 주성분 벡터로서 입력 데이터의 분산이 큰 방향을 나타낸다.

 

 

사용 이유 :  우리가 어떤 한 대상을 설명하고자 할 때 대상을 설명하는 x변수의 개수가 너무 많을 경우 다음과 같은 문제가 생길 수 있다.

  - 컴퓨터 처리량이 많아지는 문제

  - 너무 복잡한 시각화 문제

  - 분석에 그리 영향이 없는 변수가지 포함할 경우 비효율적인 문제

  - 데이터에 대한 해석 어려워지는 문제

따라서 분석할 때 변수의 개수가 많다고 모두 활용하는 것이 꼭 좋은 것은 아니다. 오히려 변수간 다중공선성이 있을 경우 분석 결과에 영향을 줄 수도 있다. 따라서 많은 변수들을 다 쓰기 보다는 정보의 손실을 최소화 하고 다른 몇 개의 성분(새로운 변수)으로 달리 표현해 분석한다면 위의 문제들을 피할 수 있다.

 

변수를 차원이라고 표현한다면 결국 차원 축소를 한다는 의미이기도 하다. 

 

 

 

 

 

 

 

 

 

[출처]

https://cafe.daum.net/flowlife/RlkF/56

'pyhton' 카테고리의 다른 글

Logistic 회귀 분석  (0) 2023.11.15
비선형회귀분석  (0) 2023.11.14
선형회귀모델 작성 - 평가지표 : MAE, MSE, RMSE, r2_score  (0) 2023.11.14
단순 선형 회귀  (0) 2023.11.13
회귀 분석(Regression Analysis)  (0) 2023.11.10