본문 바로가기
Post 빅데이터분석

[빅데이터] 9. 분석 변수 처리

by IT포스트잇 2025. 4. 30.

 

 

빅데이터 분석에서 분석 변수 처리는 데이터의 정확성과 신뢰성을 높이는 데 중요합니다.
적절한 변수 선택과 변환은 모델의 예측력을 향상시킵니다.
노이즈나 불필요한 변수를 제거하면 분석 속도와 효율성이 개선됩니다.
변수 간 상관관계를 고려하면 과적합을 방지할 수 있습니다.
정제된 변수는 의미 있는 인사이트 도출에 핵심적인 역할을 합니다.

 

 

 

<변수 선택>

 

변수 개념

= 데이터의 특징.

RDBMS에서 속성()을 머싱러닝에서는 통계학의 영향으로 변수라고 부른다.

(: 데이터세트 변수 3개 -> (/체중/성별))

 

변수 유형

-      독립변수

    n   종속변수(결과변수)의 값에 영향을 미치는 원인이 되는 (가상의) 변수

    n   연구자가 의도적으로 변화시키는 변수

    n   예측변수, 통제변수, 조작변수, 입력변수, 실험변수 등으로 불린다.

-      종속변수

    n   독립변수의 영향을 받아 변화하는 종속적인 변수

    n   반응변수, 결과변수, 표적변수

 

변수 선택

= 데이터의 독립변수(x) 중 종속변수(y)에 가장 관련성이 높은 변수를 선정하는 방법

 

-      변수선택의 특징

    n   변수선택은 모델을 단순하게 만들어준다. 훈련시간 축소. 차원의 저주와 과적합을 줄여준다.

    n   모델의 정확도 및 성능 향상 기대

-      변수선택의 기법

    n   비지도방식 : 예측대상이 되는 분류를 참고하지 않고 변수들만으로 수행 / 입력값만 있는 훈련 데이터를 이용하여 입력들의 규칙성을 찾는 기계학습의 한 방법

    n   지도방식 : ‘분류들을 참고하여 변수를 선택 / 훈련데이터로부터 하나의 함수를 유추하기 위한 기계학습의 한 방법

n   필터기법

    u   다른 모델링 의존 없이 데이터의 통계적 특성으로부터 변수를 선택하는 기법

    u   특징 변수의 전체집합 -> 가장 적합한 하위 집합 선택 -> 알고리즘 학습 -> 성능평가

    u   통계적 측정 방법으로 변수들의 상관관계를 알아낸 뒤, 높은 상관관계를 가지는 변수를 사용하는 방법

    u   계산 속도가 빠르고 변수간 상관관계를 알아내는데 적합

n   래퍼 기법

    u   변수의 일부만을 모델링에 사용하고 그 결과를 확인하는 작업을 반복해서 변수를 선택헤나감

    u   예측정확도 측면에서 가장 좋은 성능을 보이는 하위 집합을 선택하는 기법

    u   그리디 알고리즘 (순간순간마다 최적이라고 생각되는 결정을 하는 방식으로 해답에 도달하는 방식)

u   예측 정확도가 높다.

    l   전진 선택법 : 빈 상태에서 모형을 가장 많이 향상시키는 변수를 하나씩 점진적으로 추가

    l   후진 소거법 : 모두 포함된 상태에서 시작해서 가장 적은 영향을 주는 변수부터 제거

    l   단계적 방법 : 전진 선택법과 후진 소거법 함께 사용

n   임베디드 기법

    u   모델 자체에 변수 선택이 포함된 기법

    u   모델의 정확도에 기여하는 변수를 학습

    u   좀 더 적은 계수를 가지는 회귀식을 찾는 방향으로 제약조건을 주어 제어함.

 

변수 선택 접근방식

-      분산에 따른 변수선택 : 분산이 기준치보다 낮은 변수를 제거하는 방법

       (: 남학교에서 성별 변수는 모두 남자이므로 분산이 0이 되어 변수를 제거)

-      단일 변수선택 : 각각의 변수 하나만 사용했을 때의 예측 모델의 성능을 평가하여, 정확도, 상관관계 등이 좋은 변수를 선택하는 방법

       (: 몸무게(y)를 예측하기 위한 특성(x)에 키, 나이, 성별이 있다면 각 특성과 몸무게를 특정지표로 평가해서 가장 좋은 특성을 선별)

-      모델기반 변수선택 : 변수들을 모델에 학습시킨 뒤 특정 중요도가 기준치보다 높은 변수를 선택하는 방법

-      반복적 특성선택 : 변수들의 모든 조합을 시도해보고 가장 좋은 변수를 찾는 방법 (like 래퍼기법)

 

 

 

<차원 축소>

 

차원축소 개념

= 분석 대상이 되는 여러 변수의 정보를 최대한 유지하면서 데이터 세트 변수의 개수를 줄이는 탐색적 분석기법. 독립변수만 사용하는 비지도 학습 머신러닝 기법.

 

차원축소 특징

-      정보유지 : 차원축소를 수행할 때, 축약되는 변수 세트는 원래의 전체 데이터의 변수들의 정보를 최대한 유지.
변수들 사이의 관계를 분석하여 이들을 잘 표현할 수 있는 새로운 선형 혹은 비선형 결합을 만들어내서 해당 결합변수만으로도 전체변수를 적절히 설명할 수 있어야 함.

-      학습의 모델링 용이 : 차원 축소된 데이터로 학습할 경우, 과적합 발생 확률이 낮아지고, 머신러닝 알고리즘이 더 잘 작동.

-      결과해석의 용이 : 차원이 적어디면 모델의 이해도가 높아지고 시각화 하기 쉬워짐

 

차원축소 방법

-      변수 선택 : 상관계수나 VF가 높은 중요한 변수만 몇 개 고르고 나머지는 버리는 방법.

-      변수 추출 : 기존 변수를 조합해서 데이터를 잘 표현하는 중요 성분을 가진 새로운 변수 추출.

 

차원축소 기법

-      주성분 분석 : 데이터 특징을 잘 설명하는 성분 추출을 위해 고차원 공간의 표본들을 저차원 공간으로 변환하는 기법. 행의 수와 열의 수가 같은 정방행렬에서만 사용

-      특이값 분해 : M x N 차원의 행렬데이터에서 특이값을 추출하고 이를 통해 데이터 세트를 효과적으로 축약할 수 있는 기법. [UEV]

-      요인 분석 : 관찰할 수 없는 잠재적 변수가 존재한다고 가정하고, 모형을 세운 뒤 관찰 가능 데이터를 이용해 잠재 변수를 도출하고, 데이터의 구조를 해석하는 기법

-      독립 성분 분석 : 다변량의 신호를 통계적으로 독립적인 하부 성분으로 분리하여 차원을 축소하는 기법.

-      다차원 척도법 : 개체들 사이의 유사성, 비유사성을 측정하여, 2차원 또는 3차원 공간상에 점으로 표현하여 개체들 사이의 집단화를 시각화 하는 분석 방법.

 

차원축소 기법 주요 활용 분야

-      데이터분석, 정보 결과의 시각화 등

-      분석해야하는 데이터가 많은 차원으로 구성되어 있을 때, 좀 더 쉽게 데이터를 학습하고 모델을 생성할 때

-      대상에 대한 패턴인식이나 추천시스템 구현 결과의 성능 등을 개선할 때

-      텍스트 데이터에서 주제나 개념 추출

-      기업 판매데이터에서 상품 추천시스템 알고리즘 구현 등

 

 

 

<파생변수 생성>

 

파생변수 개념

= 기존 변수에 특정 조건 또는 함수 등을 사용해 새롭게 재정의한 변수

= 유도변수

 

파생변수 생성 방법

-      단위변환 : 주어진 변수의 단위 또는 척도를 변환하여 새로운 단위로 표현
(24
시간 
à 12시간)

-      표현형식 변환 : 단순한 표현 방법으로 변환
(
날짜 -> 요일 / 남녀 -> 0/1 )

-      요약 통계량 변환 : (고객별 누적 방문 횟수 집계)

-      정보 추출 : 하나의 변수에서 새로운 변수를 도출 생성
(
주민등록번호 -> 나이와 성별)

-      변수 결합 : 다양한 수학적 결합을 통해 새로운 변수를 정의
(
매출액과 방문 횟수 데이터로 1회 평균 매출액 추출)

-      조건문 이용 : 조건문을 이용해 파생변수를 생성하는 방법
(
평균에 따라 True, False를 구분한 파생변수 생성)

 

인코딩의 개념

= 문자열 값들을 숫자형으로 변경하는 방식

 

인코딩의 종류

-      -핫 인코딩 (One-Hot Encoding)
: 
표현하고 싶은 단어의 인덱스에 1의 값을 부여하고 다른 인덱스에는 0
(A
변수의 값이 abc이면, abc변수에 1, 나머지는 0)

-      레이블 인코딩 (Labeled Encoding)
: 
범주형 변수의 문자열을 수치형으로 변환하는 방식
(A
변수의 값이 abc 1, def 2, ghr이면 3을 부여)

-      카운트 인코딩 (Count Encoding)
: 
각 범주의 개수를 집계한 뒤 그 값을 인코딩하는 방식
(A
변수에 abc 1개이므로 count 1, cde 4개므로 count 4…)

-      대상 인코딩 (Target Encoding)
: 
범주형 자료의 값들을 훈련 데이터에서 목표에 해당하는 값으로 바꿔주는 방식
-핫 인코딩의 변수의 값이 많아지는 문제를 해소해준다.

 

 

 

<변수 변환>

 

변수 변환 개념

= 분석을 위해 변수에 대해 변형 작업을 수행하는 과정

= 선형관계가 아닌 로그, 제곱, 지수 등의 모습을 보일 때 변수 변환을 통해 선형관계로 만들면 분석하기 쉬워진다.

 

변수 변환 종류

-      박스-콕스 변환 (Box-Cox Transformation)
: 
데이터를 정규분포에 가깝게 만들기 위한 목적

 

-      비닝 (Binning)
: 
데이터값을 몇 개의 Bin (또는 Bucket)으로 분할하여 계산하는 방법
데이터 평활화에서도 사용됨 (데이터 잡음을 제거하기 위해 데이터 추세에 벗어나는 값들을 변환하는 기법)
(
데이터값을 정렬 -> 빈의 수만큼 분할 -> 각 빈마다 평균으로 평활화)

 

-      정규화 (Normalization)
= 
데이터를 특정 구간으로 바꾸는 척도법.

 

 n   최소-최대 정규화 (Min-Max Normalization)
: 
모든 변수에 대해 최솟값은 0, 최대값은 1, 나머지 값들은 0~1 사이 값으로 변환
이상값에 영향을 많이 받는 단점이 있다.
(x = x - 
최소값 / 최대값 - 최소값)

   

n   Z-점수 정규화 (Z-Score Normalization)
: 
변수의 값이 평균과 일치하면 0으로, 평균보다 작으면 -음수, 평균보다 크면 +양수로.
이상값은 잘 처리하지만 정확히 같은 척도로 정규화된 데이터 생성은 못하는 단점.

(Z = x – 평균 / 표준편차)

 

 n   분위수 정규화 (Quantile Normalization)
: 
여러 집단의 분포를 완전히 동일하게 만드는 방법.
(1) 
데이터를 나열해서 낮은 값부터 높은 값 순으로 정렬한다.
(2) 
나열된 Row 끼리 평균을 구한다.
(3) 
원본 데이터의 숫자는 그 숫자가 해당되어있던 Row의 평균값으로 대체된다.

 

 

 

<불균형 데이터 처리>

 

불균형 데이터 처리 기법 개념

= 데이터 집합에서 한 클래스의 샘플 수가 다른 클래스에 비해 적을 때’, 분류 모델의 성능과 정확성을 유지하기 위한 기법
= 
불균형 문제를 해결하지 않으면 모델은 다수의 클래스를 활용하여 예측 정확도는 높아지지만, 소수 클래스(상황)에 대한 정밀도와 재현율이 낮아지는 문제가 발생한다.

> 정밀도: 스팸 메일 필터에서, 스팸으로 분류된 메일 중 실제 스팸인 비율

> 재현율: 모든 실제 스팸 메일 중 필터가 정확히 잡아낸 비율

 

불균형 데이터 처리 기법 종류

-      과소 표집 (Under-Sampling)
: 
다수 클래스의 데이터를 일부만 선택하여 데이터의 비율을 맞추는 방법
(
단점) 데이터 소실이 크고, 중요한 정상 데이터를 잃을 가능성이 크다.
대표적인 기법 = 랜덤 과소 표집, ENN, 토멕링크, CNN, OSS 

 

-      과대 표집 (Over-Sampling)
: 
소수 클래스의 데이터를 복제하여 데이터의 비율을 맞추는 방법
(
단점) 과적합을 초래할 수 있음
대표적인 기법 = 랜덤 과대 표집, SMOTE, ADASYN 

 

-      임곗값 이동 (Cut-Off Value Moving)
: 
임곗값을 데이터가 많은 쪽으로 이동시키는 방법

 

-      비용 민감 학습 (Cost Sensitive Learning)
: 
소수 클래스에 높은 가중치를 부여하는 방법

 

-      앙상블 기법 (Ensemble Technique)
: 
모형들의 예측/분류 결과를 종합하여 최종적인 의사 결정에 활용하는 기법
여러 학습 모델을 훈련하고 투표 및 평균을 통해 최적화된 예측을 수행 및 결정.
(
과소표집 + 과대표집 + 임계값 이동을 조합)