1. 변수의 종류
1) 범주형
a. 명목형: 각 범주 간의 순위가 없는 변수 (남/녀, 양성/음성)
b. 순서형: 각 범주 간의 순위가 있는 변수 (1등급/2등급, 상/중/하)
2) 수치형
a. 연속형: 측정값들이 서로 연속된 값을 갖는 변수 (키, 몸무게)
b. 이산형: 변수가 취할 수 있는 값들을 셀 수 있는 변수 (아파트의 층 수, 회사의 직원 수)
2. 변수 선택
- 분석 모형에 가장 적절한 변수를 선택하는 과정
- 일반적으로 원시(raw) 데이터는 여러 가지 변수들로 측정된 데이터들이 섞여있기 때문에 모델에서 얻고자 하는 결과값에 크게 영향을 미치지 않는 변수들도 포함되어 있음
1) 필터 방법
- 모델링 기법에 의존하지 않고 데이터에 대한 통계적 특징을 이용해 변수를 선택하는 방법
- ex) 상관계수로부터 변수를 선택
- 0에 가까운 분산: 0에 가까운 분산을 갖는 변수 제거
- 큰 상관 계수: 상관 계수가 큰 변수들을 제거하거나 서로 독립된 차원으로 변환
2) 래퍼 방법
- 변수의 일부만을 사용해 모델링을 수행하고 그 결과를 확인하는 작업
- 최고 피처 집합을 찾아가기 위해선 모델링이 여러번 수반되기에 시간이 오래 걸리며 과적합 위험이 있음
a. 회귀모델에서의 변수 선택 알고리즘
| Forward Selection (전진 선택) | 변수가 없는 상태로 시작해, 성능 향상이 없을 때까지 중요한 변수를 추가함 |
| Backward Elimination (후진 제거) | 모든 변수를 포함한 상태에서 가장 덜 중요한 변수를 반복하며 제거 |
| Stepwise Selection (단계별 선택) | 전직 선택 + 후진 제거의 결합, 모든 변수/아무것도 없는 모델에서 삭제 및 추가를 반복 |
| Best Subset (최적조합 선택) | 모든 경우의 모델을 비교해 최선의 모형을 찾는 방법 (부분집합 회귀분석) |
3) 임베디드 방법
- 모델링 기법 자체에 변수 선택이 포함되어 있는 방법
| 라쏘 회귀 | - 가중치 절대값의 합을 최소화하는 것을 제약조건으로 추가하는 회귀분석 기법 - 중요하지 않다면 가중치를 0으로도 둘 수 있음 - 변수 간 상관관계가 높다면 릿지에 비해 예측 성능이 떨어짐 |
| 릿지 회귀 | - 가중치들의 제곱합을 최소화하는 것을 제약조건으로 추가하는 회귀분석 기법 |
| 엘라스틱넷 | - 라쏘, 릿지를 결합한 방식 - 상관 관계가 큰 변수를 동시에 선택하거나 배제하는 특징 |
3. 차원 축소
1) 차원 축소 개념
- 수많은 변수들로 구성된 다차원 데이터 셋에서 변수의 개수를 줄임으로서 차우너을 축소하여 새로운 차원의 데이터를 만드는 것
- 변수가 너무 많을 때는 상대적으로 작은 차원에서 생성된 모형에 비해 예측력이 떨어질 수 있으며, 각각의 피처들끼리 상관성을 갖고 있을 가능성이 높아짐 (다중 공선성)
2) 차원 축소 유형
| 피처 선택 | - 여러 변수들 가운데서 데이터의 특징을 가장 잘 나타내는 주요 피처만 선택하는 것 |
| 피처 추출 | - 기존 변수들 간의 관계를 파악하여 선형/비선형 결합을 활용해 새로운 피처를 추출하는 것 - 기존의 변수들을 함축하는 피처로 변수들을 요약하여 줄이는 방법 (파생 변수) |
3) 차원 축소 방법
| 다차원 척도법 (MDS) |
- 데이터 속에 잠재해 있는 패턴, 구조를 찾아내어 소수 차원의 공간에 객체간 근접성을 시각화하는 통계 기법 - 개체들 사이의 유사성/비유사성을 측정한 후 개체들을 2차원 또는 3차원 공간 상에 점으로 표현하여 개체들 사이의 집단화를 시각적으로 표현하는 분석 방법 |
| 주성분 분석 (PCA) |
- 분석 변수들을 선형적으로 결합하여 데이터를 가장 잘 표현할 수 있는 축을 찾아내고, 그 축을 중심으로 데이터의 차원을 축소해서 표현해주는 기법 - 주성분이라는 새로운 변수를 만들고, 제1주성분이 데이터의 가장 많은 부분을 설명함 - 변수 사이에 강력한 선형 관계가 존재하는 경우 유용함 - 다중회귀분석 및 군집분석에서 자주 이용됨 - 데이터의 분산을 가장 잘 설명하는 축을 찾음 |
| 선형 판별분석 (LDA) |
- PCA와 유사하게 데이터를 저차원 공간에 투영해 차원을 축소 - 데이터가 서로 다른 군집으로 구성되어 있을 때 군집을 최대한 잘 구분할 수 있는 축을 찾고, 그 축을 중심으로 데이터를 2차원이나 3차원으로 축소해서 서로 다른 군집을 얼마나 분류할 수 있는지 알아볼 수 있게 표현 - 지도 학습의 분류 문제에서 사용할 수 있도록 각 클래스를 구분하는 기준을 최대한 유지하며 차원 축소 - 예측 변수 클래스를 가장 잘 구분할 수 있는 축을 찾음 |
| 요인분석 | - 변수들 간의 상관관계를 고려하여 서로 유사한 변수들을 묶어 새로운 잠재 요인을 추출해내는 분석 - 도출된 요인들은 중요성을 가릴 수 없는 대등한 관계 |
| 특이값 분해 (SVD) |
- 실수 또는 복합 행렬의 인수분해 - 실수 공간에서 정의된 m x n 차원의 행렬에서 특이값을 추출해 차원을 축소 - m x n 행렬은 m 차원의 벡터를 n 차원으로 변환시키는 것으로, m > n이면 차원을 축소한다는 것 |
| t-SNE | - 데이터에서 지역 인접성을 보존하려고 시도하는 차원 축소 알고리즘 - 비선형적이며 비결정적 - 2D, 3D 투영을 계산할 때 이용 가능 - 다른 방법이 놓칠 수 있는 구조를 찾을 수 있지만 데이터셋이 매우 큰 경우 어려울 수 있음 |
| 서포트 벡터 머신 (SVM) |
- 가로축의 분석 차원이 많더라도 차원 축소 기법을 활용해 2차원이나 3차원으로 축소시킨 후 분석 결과를 그래프로 제공하므로, 분류가 잘 되었는지 직관적으로 파악 가능 - 비선형 관계가 있는 변수 간에도 사용 가능 |
4) 차원 축소 장점
- 차원 축소를 수행하면 데이터의 양이 줄어 시간 복잡도와 공간 복잡도가 줄어듦
- 변수들 간의 상관성을 고려하여 데이터의 차우너을 줄이면 학습 모델이 간단해지고 안정적인 결과가 나옴
- 노이즈를 제거하고 메모리를 절약할 수 있음
4. 파생변수 생성
1) 파생변수
- 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수
2) 요약변수
- 수집된 정보를 분석에 맞게 종합한 변수
- 쇼핑몰에서 기간별 구매 금액이 특정 금액 이상이면 구매한다고 분류할 수 있지만, 이 때 그 기준값인 금액에 대한 의미 해석은 애매할 수 있음
5. 변수 변환
1) 변수의 구간화
- 데이터에 개입된 노이즈를 제거하기 위해서는 연속형 변수를 다수의 구간으로 나누고, 동일한 구간에 속하는 변수 값들을 하나의 변수값으로 변환하는 구간화 기법이 사용될 수 있음
- 5개 구간으로 나누는 게 일반적
a. 의사결정나무
- 의사결정나무의 분리 기준값을 구간화 기준으로 삼을 수 있음
2) 정규분포화
- 데이터가 정규 분포를 따르지 않을 경우 변수 변환을 고려할 수 있음
- 로그 변환, 제곱근 변환, 역변환 등의 방법을 사용하여 데이터를 변환
- 제곱근 변환은 오른쪽으로 긴 꼬리를 갖는 분포에서 유용
- 박스-콕스 변환도 정규성을 요구하는 분석 방법 시에 변수 변환 용으로 사용 (람다 값에 따라 형태가 다름)
6. 불균형 데이터 처리
1) 데이터 불균형
- 분류 집단끼리의 데이터 수가 동일하지 않은 경우를 의미
2) 오버 샘플링
- 더 작은 수의 데이터를 가지고 있는 집단을 큰 수의 데이터를 가지고 있는 집단의 수와 맞추는 것
- 시간이 더 걸리거나 과적합 단점이 있음
a. Resampling
- 더 작은 수의 관측치를 가지고 있는 집단의 데이터를 복사하여 수를 늘리는 방법
- 똑같은 데이터를 그대로 복사하기 때문에 과적합 발생 가능성이 높음
b. SMOTE
- 더 작은 수의 관측치를 가지고 있는 집단의 데이터들과 일정한 거리를 가진 가상의 데이터를 생성하여 오버샘플링
- KNN 알고리즘을 사용
c. Boderline SMOTE
- 서로 다른 클래스 간의 경계선에서 SMOTE를 적용
- 특정 분포에만 중복적으로 데이터를 생성하는 SMOTE를 개선 (다른 클래스의 데이터 영역까지 데이터 생성)
d. ADASYN
- Boderline SMOTE와 유사하지만, 데이터의 위치에 따라 샘플링 개수를 다르게 설정
3) 언더 샘플링
- 더 많은 수의 데이터를 가지고 있는 집단을 작은 수의 데이터를 가지고 있는 집단의 수와 맞추는 것
- 데이터를 잃거나 정보가 손실된다는 단점 (but, 계산 시간이 줄어드는 장점)
a. 랜덤 언더 샘플링
b. Tomek Links
- 클래스를 구분하는 경계선 가까이에 존재하는 데이터 즉, 서로 다르게 분류되지만 가까이에 붙어있어 유사한 한 쌍의 데이터를 제거하는 기법
c. CNN
- 더 많은 수의 데이터를 가지고 있는 관측치들 중 밀집된 데이터를 제거
d. OSS
- 토멕링크와 CNN의 장점을 섞은 방법, 토멕링크를 통해 분류 경계 근처에 있는 다수 집단의 데이터를 제거하고, CNN을 통해 다수 집단 내에서 근접한 데이터를 제거함
'빅데이터분석기사' 카테고리의 다른 글
| [빅분기] 5.2. 고급 데이터 탐색 (1) | 2025.08.21 |
|---|---|
| [빅분기] 5.1. 데이터 탐색 (0) | 2025.08.21 |
| [빅분기] 4.1. 데이터 전처리 (3) | 2025.08.17 |
| [빅분기] 3.2. 데이터 적재 및 저장 (5) | 2025.08.17 |