Data Analyst/빅데이터 분석기사

[빅데이터 분석 기사 2단원] 1.2 분석 변수 처리 PDF 제공

Data Analyst / PO 2024. 8. 15. 14:05
반응형
  1. 변수 선택
  2. 차원 축소
  3. 파생변수 생성
  4. 변수 변환
  5. 불균형 데이터 처리

[빅분기2단원]1.2분석변수처리.pdf
0.34MB


1. 변수 선택

(1) 변수 Feature 개념

  • 데이터 모델에서 사용하는 예측을 수행하는 데 사용되는 입력변수
  • RDBMS에서 '속성(열)'이라고 부르는 것을 머신러닝에서는 통계학의 영향으로 '변수(Feature)'라고 한다. (키와체중으로 성별을 예측할 때 변수는 3개다.)
  • 키, 체중처럼 값이 알려진 값과 성별처럼 값을 예측해야 되는 값은 다른 유형으로 구분한다.
    • 변수 명칭
      • 알려진 값 : 변수(feature), 속성(attribute), 예측 변수(Predictor), 차원(dimension), 관측치(observation), 독립변수 (independent Variable)
      • 예측 값 : 라벨(label), 클래스(class), 목푯값 (target), 반응(response), 종속변수(dependent variable)

(2) 변수 유형

  • 인과관계
    • 독립 변수 :
    • 종속변수
  • 변수 속성
    • 범주형 : 명목형, 순서형
    • 수치형 : 이산형(변수가 취할 수 있는 값을 하나하나 셀 수 있는 경우), 연속형
  • 독립 변수 : 예측 변수, 회귀자, 통제변수, 조작변수, 노출변수, 리스크팩터, 설명변수, 입력변수
  • 종속 변수 : 독립변수(실험변수)의 영향을 받아 그 값이 변할 것이라고 가정한 변수
  • 변수 간 관계 : 연속형 자료=공변량(Covariate), 범주형 자료=요인(factor)

(3) 변수 선택

  • 변수 선택 Feature Selection 개념
    • 데이터의 독립변수(x) 중 종속변수(y)에 가장 관련성이 높은 변수(feature)만을 선정하는 방법이다.
  • 변수 선택 특징
    • 사용자가 해석하기 쉽게 모델을 단순화해주고 훈련 시간 축소, 차원의 저주 방지, 과적합으 줄여 일반화를 해주는 장점이 있다.
    • 변수 선택을 통하여 모델의 정확도 향상 및 성능 향상을 기대할 수 있다.

*차원의 저주 : 차원이 증가할수록 샘플데이터 증가

*과적합 over-fitting : 제한된 학습 데이터 세트에 너무 과하게 특화되어 새로운 데이터에 대한 오차가 커지는 현상

  • 변수 선택 기법
    • 예측대상이 되는 분류를 참고하지 않고 변수들만으로 수행하는 비지도 방식과 분류를 참고하여 변수를 선택하는 지도 방식으로 분류.
    • 비지도 방식 (unsupervised) : 입력값만 있는 훈련 데이터를 이용해 입력들이 규칙성을 찾는 기계학습 (machine learning)의 한 방법
      • 차원축소
    • 지도 방식 (supervised) : 지도 방식은 훈련 데이터(training data)로부터 하나의 함수를 유추해내기 위한 기계학습의 한 방법
      • 필터 기법 filter method : 특정 모델링 기법에 의존하지 않고 데이터의 통계적 특성으로부터 변수를 택하는 기법
      • 래퍼 기법 wrapper method : 변수의 일부만을 모델링에 사용하고 그 결과를 확인하는 작업을 반복하면서 변수를 택해나가는 기법
      • 임베디드 기법 embedded method : 모델 자체에 변수 선택이 포함된 기법
  • 변수 선택 기법 상세 (그림 참고)
    • 필터 기법 : 계산 속도가 빠르고 변수 간 상관관계를 알아내는 데 적합해 래퍼 기법을 사용하기 전에 전처리하는 데 사용한다.
      • 필터 기법 사례
        • 정보 소득 information gain : 가장 정보 소득이 높은 속성을 선택해 데이터를 더 잘 구분하게 하는 것
        • 카이제곱 검정 chi-square test : 관찰된 빈도가 기대되는 빈도와 의미있게 다른지 여부를 검증하기 위해 사용되는 검증 방법
        • 피셔 스코어 fisher score : 최대 가능성 방정식을 풀기 위해 통계에 사용되는 뉴턴의 방법
        • 상관계수 correlation coefficient : 두 변수 사이의 통계적 관계를 표현하기 위해 특정한 상관관계의 정도를 수치로 나타낸 계수
    • 래퍼 기법 :
      • 예측 정확도 측면에서 가장 좋은 성능을 보이는 하위 집합을 선택하는 기법.
      • 검색 가능한 방법으로 하위 집합을 반복해서 선택하여 테스트하는 것이므로 그리디 알고리즘에 속한다.
      • 그리디 알고리즘 : 문제를 해결하는 과정에서 순간마다 최적의 결정 방식을 통해 최종 해답에 도달하는 문제해결방식
      • 반복하여 선택하는 방법으로 시간이 오래 걸리고 부분집합의 수가 기하급수적으로 늘어 과적합의 위험이 발생함.
      • 필터방법보다 예측 정확도가 높음
      • 변수 선택을 위한 알고리즘과 선택기준을 결정해야 한다.
        • 변수 선택을 위한 알고리즘 유형
          • 전진 선택법 : 모형을 가장 많이 향상시키는 변수를 하나씩 점진적으로 추가하는 방법. 비어 있는 상태에서 시작하며 변수 추가 시 선택 기준이 향상되지 않으므로 변수 추가를 중단
          • 후진 제거법 : 모두 포함된 상태에서 시작하며 가장 적은 영향을 주는 변수부터 하나씩 제거. 더 이상 제거할 변수가 없다고 판단될 때 변수의 제거를 중단
          • 단계적 방법 : 전진 선택과 후진 제거를 함께 사용하는 방법
        • 래퍼 기법 상세
          • RFE recursive feature elimination : SVM(support vector machine)을 사용하여 재귀적으로 제거하는 방법. 전진 선택, 후진 제거, 단계적 방법 이용.
          • SFS sequential feature selection : 그리디 알고리즘으로 빈 부분 집합에서 특성 변수를 하나씩 추가하는 방법
          • 유전 알고리즘 genetic algorithm : 자연 세계의 진화과정에 기초한 계산 모델. 존 홀랜드가 1975년에 개발한 전역 최적화 기법, 최적화 문제를 해결하는 기법
          • 단변량 선택 univariate selection : 하나의 변수선택법으로 각 피처를 개별적으로 검사하여 피처와 반응변수 간 관계의 강도를 결정하는 방법 . 실행 및 이해가 간단
          • mRMR minimum redundancy maximum relevance : 특성 변수의 중복성을 최소화하는 방법. 종속 변수를 잘 예측하면서, 독립변수들과도 중복성이 적은 변수들을 선택하는 방법
      SVM : 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, 주어진 데이터 집합을 바탕으로 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만드는 알고리즘
    • 임베디드 기법 : 모델의 정확도에 기여하는 변수를 학습함. 좀더 적은 계수를 가지는 회귀식을 찾는 방향으로 제약조건을 주어 이를 제어함
      • 임베디드 기법 사례
        • 라쏘 LASSO : 가중치의 절댓값의 합을 최소화하는 것을 추가적인 제약조건으로 하는 방법. L1-norm을 통해 제약을 주는 방법
        • 릿지 Ridge : 가중치들의 제곱 합을 최소화하는 것을 추가적인 제약조건으로 하는 방법. L2-norm을 통해 제약을 주는 방법
        • 엘라스틱 넷 Elastic Net : 가중치 절댓값의 합과 제곱합을 동시에 추가적인 제약조건으로 하는 방법 . 라쏘와 릿지 두개를 선형 결합한 방법
        • SelectFromModel : 의사결정나무 기반 알고리즘에서 변수를 선택하는 방법
    *의사결정나무 : 의사결정 규칙을 나무 구조로 도표화하여 분류와 예측을 수행하는 분석 방법이다.

2. 차원 축소

(1) 차원 축소 dimensionality reduction 개념

  • 분석 대상이 되는 여러 변수의 정보를 최대한 유지하면서 데이터 세트 변수의 개수를 줄이는 탐색적 분석 기법이다.
  • 원래의 데이터를 최대한 효과적으로 축약하기 위해 목표변수는 사용하지 않고 특성변수(설명변수)만 사용하기 때문에 비지도 학습 머신러닝 기법이다.

(2) 차원 축소 특징

  • 축약되는 변수 세트는 원래의 전체 데이터의 변수 정보는 최대한 유지
  • 해당 변수 결합만으로도 전체변수를 적절히 설명할 수 있어야 함
  • 하나의 완결된 분석기법으로 사용되기보다는 다른 분석과정을 위한 전단계, 분석수행 후 개선방법, 효과적인 시각화 목적.
  • 고차원 변수보다 변환된 저차원으로 학습할 경우, 회귀나 분류, 클러스터링 등의 머신러닝 알고리즘이 더 잘 작동된다.
  • 새로운 저차원 변수 공간에서 가시적으로 시각화하기도 함

(3) 차원축소 기법

  • 주성분 분석 PCA (principal component analysis) : 변수들의 공분산 행렬이나 상관행렬을 이용. 원래 데이터 특징을 잘 설명해주는 성분을 추출하기 위해 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간으로 변환하는 기법. 행과 열의 수가 같은 정방형행렬에서만 사용
  • 특이값 분해 SVD (singular value decomposition) : MxN 차원의 행렬 데이터에서 특이값을 추출하고 이를 통해 주어진 데이터 세트를 효과적으로 축약할 수 있는 기법
  • 요인 분석 (Factor Analysis) : 데이터 안에 관찰할 수 없는 잠재적인 변수가 존재한다고 가정. 모형을 세운 뒤 관찰 가능한 데이터를 이용하여 해당 잠재 요인을 도출하고 데이터 안의 구조를 해석하는 기법. 주로 사회과학이나 설문 조사 등에서 많이 활용
  • 독립성분 분석 ICA (independent component analysis) : 주성분 분석과는 달리 다변량의 신호를 통계적으로 독립적인 하부 성분으로 분리해 차원을 축소. 독립 성분의 분포는 비정규 분포를 따르게 되는 차원축소 기법
  • 다차원 척도법 MDS (multi-dimensional scaling) : 개체들 사이의 유사성, 비유사성을 측정해 2차원 또는 3차원 공간상에 점으로 표현해 개체들 사이의 집단화를 시각적으로 표현하는 분석 방법

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

  • 탐색적 데이터 분석부터 정보 결과의 시각화까지 다양하게 활용
  • 분석하려는 데이터가 많은 차원으로 구성되어 있을 때 더 쉽게 데이터를 학습하고 모델을 생성하고자 할 때 주로 활용됨
  • 대상에 대한 패턴인식이나 추천시스템 구현 결과의 성능 등을 개선할 때도 사용함
    • 주요 활용 분야
      • 탐색적 데이터 분석
      • 변수

3. 파생변수 (Derived Variance) 생성 (유도변수)

  • 기존 변수에 특정 조건 혹은 함수를 사용해 새롭게 정의한 변수
  • 데이터에 들어있는 변수만 이용해 분석할수도 있지만, 변수를 조합하거나 함수를 적용해 새 변수를 만들어 분석함
  • 변수를 생성할 때에는 논리적 타당성과 기준을 가지고 생성하도록 함
    • 파생변수 생성 방법
      • 단위 변환 : 24시간 → 하루
      • 표현 형식 변환 : 날짜로 요일 변환, 남여 를 01 이진 변수로 변환
      • 요약 통계량 변환 : 요약 통계량 등을 활용하여 생성. 고객별 누적 방문 횟수 집계
      • 변수 결합 : 다양한 함수 등 수학적 결합을 통해 새로운 변수를 정의. 매출액과 방문 횟수 데이터로 1회 평균 매출액 추출

4. 변수 변환 (Variable Transformation)

  • 분석을 위해 불필요한 변수를 제거하고 변수를 반환하며 새로운 변수를 생성시키는 작업.
  • 변수들이 선형관계가 아닌 로그, 제곱, 지수 등의 모습을 보일 때 변수 변환을 통해 선형관계로 만들변 분석하기 쉬움
    • 변수 변환 방법
      • 단순 기능 변환 : 한 쪽으로 치우친 변수를 변환해 분석 모형을 적합하게 하는 방법. ex) 로그,역수,루트,제곱변환
      • 비닝 : 기존 데이터를 범주화하기 위해 사용. categorizaiton 기술의 결정은 비즈니스 도메인 지식 필요. 두 개 이상 변수의 값에 따라 공변량 비닝 수행 ex) 수입을 상, 중, 하의 범주로 나누기
      • 정규화 : 데이터를 특정 구간으로 바꾸는 척도법. 최소-최대 정규화, Z-스코어 정규화. ex) 공식.
      • 표준화 : 데이터를 0을 중심으로 양쪽으로 데이터를 분포시키는 방법. 표준화와 정규화는 데이터 전처리에서 상호 교환하여 사용. 공식.

(1) 단순 기능 변환 방법 (simple functions transformation) : 단순한 함수로 변환하는 기능

  • 로그 : 변수의 분포를 변경하기 위함. 분포가 오른쪽으로 기울어진 것을 감소. 로그 특성상 0 과 음수는 적용 불가
  • 제곱/세제곱 루트 변환 : 로그에 비해 많이 사용 안함. 세제곱 루트 변환은 음수값과 0에 적용 가능. 제곱 루트 변환은 0을 포함한 양수 값이 가능

(2) 비닝 binning

  • 비닝은 데이터값을 몇 개의 bin(bucket)으로 분할하여 계산하는 방법이다.
  • 데이터 평활화(벗어나는 값 변환)에서도 사용되는 기술이며, 기존 데이터를 범주화하기 위해서도 사용한다.
    • 동일 빈도 빈으로 분할 후 빈 평균으로 평활화

(3) 변수 변환 사례 : 분석 모델 만들기 전 최적화 모델을 만들기 위해 적용됨.

  • 매출, 판매수량, 가격, 가구소득 : log(x)
  • 지리적 거리 : 1/x, 1/x2, log(x)
  • 효용에 근거한 시장 점유율, 선호점유율 : e2/1+e2
  • 우측으로 꼬리가 긴 분포 : 루트x, log(x)
  • 좌측으로 꼬리가 긴 분포 : x2

5. 불균형 데이터 처리

  • 탐색하는 타깃 데이터의 수가 매우 극소수인 경우에 불균형 데이터 처리를 함
  • 화재발생 확률이 1%이하인 불균형 데이터에서 정확도가 높아도 재현율(Recall)이 급격이 작아진다. 100개 데이터 중 1개가 화재면, 모두 정상으로 예측해도 정확도가 99%다.
    • 언더 샘플링
    • 오버 샘플링
    • 임곗값 이동 Threshold Moving
    • 앙상블 Ensemble
  • 언더 샘플링 (다운 샘플링)
    • 다수 클래스의 데이터를 일부만 선택해 데이터의 비율을 맞추는 방법
    • 언더 샘플링의 겨우 데이터의 소실이 매우 크고 때로는 중요한 정상 데이터를 잃을 수 있다.
    • 언더 샘플링 기법
      • 랜덤 언더 샘플링 : 무작위로 다수 클래스 데이터의 일부만 선택하는 방법
      • ENN (Edited Nearest Neighbours) : 소수 클래스 주위에 인접한 다수 클래스 데이터를 제거해 데이터의 비율을 맞추는 방법
      • 토멕 링크 방법 (Tomek Link Methon) : 토멕 링크는 클래스를 구분하는 경계션 가까이에 존재하는 데이터. 다수 클래스에 속한 토멕 링크를 제거하는 방법.
      • CNN (Condensed Nearest Neighbor) : 다수 클래스에 밀집된 데이터가 없을때까지 데이터를 제거해 데이터 분포에서 대표적인 데이터만 남도록 하는 방법
      • OSS (One Sided Selectoin) : 토멕 링크 방법과 CNN 기법의 장점을 섞은 방법. 다수 클래스의 데이터를 토멕링크 방법으로 제거한 후 CNN을 이용해 밀집된 데이터 제거
  • 오버 샘플링 (업 샘플링)
    • 소수 클래스의 데이터를 복제 또는 생성하여 데이터의 비율을 맞추는 방법. 과대 샘플링이라고도 한다.
    • 정보 손실은 안되지만 과적합을 초래함. over-fitting
    • 알고리즘의 성능은 높으나 검증의 성능은 나빠질 수 있다.
    • 오버 샘플링 기법
      • 램덤 오버 샘플링 : 무작위로 소수 클래스 데이터를 복제해 데이터의 비율을 맞추는 방법
      • SMOTE (Synthetic Minority Over-sampling Technique) : 소수 클래스에서 중심이 되는 데이터와 주변 데이터 사이에 가상의 직선을 만든 후, 그 위에 데이터를 추가
      • Borderline-SMOTE : 다수 클래스와 소수 클래스의 경계선에서 SMOTE를 적용하는 방법
      • ADASYN (ADAptive SYNthetic) : 모든 소수 클래스에서 다수 클래스의 관측 비율을 계산해 SMOTE를 적용하는 방법
  • 임곗값 이동
    • 임곗값 : threshold
    • 임곗값을 데이터가 많은 쪽으로 이동시키는 방법
    • 학습 단계에서는 변화 없이 학습하고 테스트 단계에서 임곗값을 이동한다.
      • 양성 90개, 음성 10개의 데이터 샘플이 있다.
        • 언더 샘플링 : 양성 클래스의 샘플을 10개로 만들기
        • 오버 샘플링 : 음성 클래스의 샘플을 90개로 만들기
        • 임곗값 이동 : 분류 시행할 때 사용되는 임곗값을 양성과 음성의 비율로 조정
  • 앙상블 기법
    • 같거나 서로 다른 여러가지 모형들의 예측/분류 결과를 종합해 최종적인 의사결정에 활용하는 기법
    • 오버,언더,임곗값 이동을 조합한 앙상블을 만들 수 있음
    • 앙상블의 예측 중에서 가장 많은 표를 받은 클래스를 최종적으로 선택함

 

혼자 공부하며 시험에 나올 법한 내용들 위주로 정리한 개인 파일입니다.
반응형