ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [빅분기] CH1. 데이터 전처리_분석 변수 처리
    빅데이터분석기사 2024. 3. 19. 22:09
    24.03.19
     
     
    01. 변수 선택

    1) 회귀분석의 사례

    2) 변수별 모형의 분류

    ① 전체 모형: 모든 독립변수를 사용한 모형으로 정의

    ② 축소 모형: 전체 모형에서 사용된 변수의 개수를 줄여서 얻은 모형

    ③ 영 모형: 독립변수가 하나도 없는 모형 의미

     

    3) 변수의 선택 방법

    전진 선택법

    - 영 모형에서 시작, 모든 독립변수 중 종속변수와 단순상관계ㅜ의 절댓값이 가장 큰 변수를 분석모형에 포함시킴

    - 부분 F 검정을 통해 유의성 검증을 시행해, 유의한 경우 가장 큰 F 통계량을 가지는 모형을 선택하고 유의하지 않은 경우는 변수선택 없이 과정을 중단

    - 한번 추가된 변수는 제거하지 않는 것이 원칙

    ② 후진 선택법, 후진 소거법

    - 전체모델에서 시작, 모든 독립변수 중 종속변수와 단순상관계수의 절댓값이 가장 작은 변수를 분석모형에서 제외시킴

    - 부분 F 검정을 통해 유의성 검증을 시행해, 유의하지 않은 경우는 변수 제거, 유의한 경우는 변수제거 없이 과정 중단

    - 한번 제거된 변수는 추가하지 않음

    ③ 단계적 선택법

    - 전진 선택법과 후진 선택법의 보완

    - 전진 선택법으로 가장 유의한 변수를 모형에 포함 후 나머지 변수들에 대해 후진 선택법을 적용, 새롭게 유의하지 않은 변수들을 제거

    - 제거된 변수 다시 모형에 포함 X, 유의한 설명변수가 존재하지 않을 때까지 과정 반복

     

    02. 차원 축소

    1) 자료의 차원: 분석하는 데이터 종류 수

    2) 차원의 축소: 변수(데이터의 종류)의 양을 줄이는 것

    3) 차원 축소의 필요성

    ① 복잡도의 축소

    - 분석시간의 증가와 저장변수 양의 증가를 고려 시 동일한 품질을 나타낼 수 있다면 효율정 측면에서 데이터 종류의 수를 줄여야 함

    ② 과적합의 방지

    - 차원의 증가 = 과적합 발생의 가능성 커짐, 분석모형의 정확도(신뢰도) 저하 발생시킬 수 있음

    해석력의 확보

    - 차원이 작은 간단한 분석모델일수록 내부구조 이해 용이, 해석이 쉬워짐 → 명확한 결과 도출에 도움

    차원의 저주

    - 차원이 증가하면서 학습데이터의 수가 차원의 수보다 적어져 성능 저하되는 현상

    - 해결을 위해서 차원을 줄이거나 데이터의 수를 늘리는 방법을 이용

     

    4) 차원 축소의 방법

    ① 요인 분석

    - 요인 분석의 개념: 상관관계 분석

    - 요인 분석의 목적: 변수 축소 / 변수 제거 / 변수특성 파악 / 타당성 평가 / 파생변수

    - 요인 분석의 특징: 독립변수, 종속변수 개념 X, 주로 기술 통계에 의한 방법을 이용

    - 요인 분석의 종류: 주성분 분석, 공통요인 분석, 특이값 분해 행렬, 음수미포함 행렬분해 등

    - 공통요인 분석:  공통분산만을 이용해 공통요인만 추출하는 방법

    ② 주성분 분석(PCA)

    - 개념: 분포된 이터들의 특성을 설명할 수 있는 하나 또는 복수 개의 특징(주성분)을 찾는 것을 의미

    - 서로 연관성이 있는 고차원공간의 데이터 → 선형연관성이 없는 저차원으로 변환하는 과정 거침(직교변환 사용)

     

    - 2차원 좌표평면에 n개의 점 데이터 들이 타원형으로 분포, 이 데이터들의 분포 특성을 2개의 벡터로 설명 (v1,v2)

    - PCA는 데이터 하나하나에 대한 성분을 분석하는 것 X, 여러 데이터들이 모여 하나의 분포를 이룰 때, 이 분포의 주성분을 분석해주는 방법

    - PCA의 특징

    : 차원 축소에 폭넓게 사용됨, 사전적 분포 가정의 요구 없음, 가장 큰 분산의 방향들의 주요 중심 관심으로 가정

    : 본래의 변수들은 선형결합으로만 고려, 차원의 축소는 본래의 변수들이 서로 상관 있을 때만 가능, 스케일에 대한 영향이 큼, 변수들 간의 스케일링 필수

      특이값 분해(SVD)

    - 특이값 분해 소개(선형대수): 데이터 공간을 나타내는 m X n 크기의 행렬 M에 대해 분해 가능함

    이미지출처: 위키백과

    - U: m X m 크기의 직교행렬, 시그마: m X n 크기의 대각행렬, Vt: n X n 크기의 직교행렬

    - 직교행렬: 행렬의 열벡터가 독립이라는 의미로 다음과 같은 관계 성립

    - 대각행렬: 행렬의 대각선을 제외한 나머지행렬의 원소값이 모두 0인 행렬

    - 특이값 분해의 차원 축소 원리

    : 수학적 원리: SVD 방법은 주어진 행렬 M을 여러 개의 행렬 M과 동일한 크기를 갖는 행렬로 분해할 수 있으며 각 행렬의 원소값의 크기는 대각행렬에서 대각성분의 크기에 의해 결정됨

    : 데이터의 응용: 3개의 행렬로 분해해 적당한 k(특이값)만을 이용해 원래 행렬 A와 비슷한 정보력을 가지는 차원 만들어낼 수 있음

    ④ 음수 미포함 행렬분해(NMF)
    - 음수를 포함하지 않은 행렬 V를 음수를 포함하지 않은 두 행렬의 곱으로 분해하는 알고리즘

     

     

    03. 파생변수의 생성

    1) 파생변수

    - 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여하는 변수, 논리적 타당성 갖출 필요 있음

    - 세분화 고객행동예측, 캠페인반응예측 등에 활용할 수 있음, 대표성 나타나게 할 필요가 있음

    2) 요약변수

    - 수집된 정보를 분석에 맞게 종합한 변수, 데이터 마트에서 가장 기본적인 변수

    - 많은 분석 모델에서 공통으로 사용될 수 있어 재활용성 높음

    요약변수(단순 종합 개념) 파생변수(주관적 변수 개념)
    매장이용 횟수 주 구매매장 변수
    구매상품품목 개수 구매상품 다양성 변수
    기간별 구매금액, 횟수 주 활동지역 변수
    상품별 구매금액, 횟수 주 구매상품 변수

     

    ① 요약변수 처리시의 유의점

    - 결측치의 처리 및 이상값 처리에 유의, 연속형 변수의 구간화 적용과 고정된 구간화를 통한 의미 파악 시 정구간이 아닌 의미 있는 구간을 찾도록 해야 함

    ② 파생변수 생성 및 처리의 유의점

    - 특정 상황에만 의미성 부여 X, 보편적이고 전 데이터구간에 대표성 가지는 파생변수 생성

    - 파생변수 생성 방법
    한 값으로부터 특징 추출 → 한 레코드내의 값들을 결합 → 다른 테이블의 부가적 정보 결합

    → 다수의 필드내에 시간 종속적인 데이터를 선택 → 레코드 또는 중요 필드를 요약 

     

    04. 변수 변환

    1) 변수 변환의 개념: 데이터를 분석하기 좋은 형태로 바꾸는 작업

    - 데이터 전처리 과정 중 하나

     

    2) 변수 변환의 방법

    ① 범주형 변환

    정규화

    - 상대적 특성이 반영된 데이터로 변환하는 것이 필요

    - 일반 정규화: 수치로 된 값을 여러 개 사용할 떄 각 수치의 범위가 다르면 같은 범위로 변환!

    - 최소-최대 정규화: 모든 feature에 대해 최소값 0, 최대값 1로

    Min-Max Normalization = (X-Min) / (Max - Min)

    - Z-점수(Z-score) 정규화: 이상치 문제를 피하는 데이터 정규화 전략, 평균과 일치하면 0으로 정규화, 아니면 음수 또는 양수

    Z = X - μ /  σ

    ③ 로그변환

    - 어떤 수치 값 그대로가 아닌 로그를 취한 값을 사용한 것 → 로그정규분포(정규분포에 가깝게 분포하는 경우가 있음)

    ④ 역수변환

    - 어떤 변수를 데이터 분석에 그대로 사용하지 않고 역수를 사용하면 오히려 선형적인 특징 가짐

    ⑤ 지수변환

    - 지수를 사용해 의미해석을 더 쉽게 만드는, 데이터의 분포형태가 우측으로 치우친 경우!

    ⑥ 제곱근변환

    - 제곱근을 사용하면 선형적인 특성 가지게 됨, 데이터의 분포형태가 좌측으로 치우친 경우

    분포형태별 정규분포로의 변환

    ⑧ Box-Cox

    - 데이터의 변환을 통해 정규분포에 가깝게 만들어 통계 분석 및 모델링을 용이하게 하는 통계적 방법

     

     

    05. 불균형 데이터 처리

    - 어떤 데이터에서 각 클래스가 갖고 있는 데이터의 양에 차이가 큰 경우, 클래스 불균형이 있다고 말함

     

    1) 불균형 데이터의 문제점

    - 데이터 클래스 비율이 너무 차이가 나면 단순히 우세한 클래스 택하는 모형의 정확도가 높아짐, 모형의 성능판별이 어려워짐, 정확도가 높아도 데이터의 개수가 적은 클래스의 재현율이 급격히 작아지는 현상 발생

     

    2) 불균형 데이터의 처리 방법

    ① 가중치 균형방법

    - 고정 비율 이용: 클래스의 비율에 따라 가중치를 두는 방법

    - 최적 비율 이용: 가중치 비율의 최적 세팅을 찾으며 가중치 찾아감!

    ② 언더샘플링과 오버샘플링

    - 데이터 비율을 맞추면 정밀도가 향상

    - 언더샘플링: 대표클래스의 일부만 선택, 소수클래스는 최대한 많은 데이터 사용하는 방법, 언더샘플링된 대표 클래스 데이터가 대표성이 있어야 함

    - 오버샘플링: 소수클래스의 복사본을 만들어 대표클래스의 수만큼 데이터를 만들어 주는 것

     

     

    06. 인코딩

    1) 레이블 인코딩: 주로 순서나 크기에 의미가 없는 범주형 데이터 변환할 때 사용 ex) 옷 사이즈 SML 과 같은 데이터 

    - 주의할 점: 숫자 값에 의도적으로 순서나 크기를 부여하게 될 수 있다는 점, 명목형 데이터에서는 문제 X, 순서형 데이터에서는 잘못된 겨로가 초래할 수 있음.

     

    2) 원-핫 인코딩(One-Hot): 각 범주에 대해 해당하는 인덱스만 1이고 나머지는 0인 이진 벡터로 변환

    ex) 사과, 바나나, 딸기를 변환한다고 가정, 과일 종류에 대해 아래와 같이 변환

    사과: [1, 0, 0]

    바나나: [0, 1, 0]

    딸기: [0, 0, 1]

     

    3) 타깃 인코딩: 주로 분류 문제에서 사용, 각 범주에서 대한 종속 변수(타깃)의 평균 값을 인코딩으로 사용하는 방식

    - 주의할 점: 과적합할 가능성 있음, 훈련 데이터에만 적용되어야 한다는 것

     

     

     

     


    예상문제 오답노트

     

    06) 파생변수에 대한 설명으로  틀린 것은? 

     

    ① 기존의 변수를 조합하여 새로운 변수를 만들어내는 것을 의미한다.

    ② 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여하는 변수로 매우 주관적일 수 있으므로 논리적 타당성을 갖출 필요가 있다.

     데이터의 특성을 파악하는 데 중점을 두어 특정 상황에 유의미하도록 대표성을 나타나게 한다.

    ④ 고객관리 등에 유용하게 사용된다.

     

    - 특정 상황에만 유의미하지 않게 대표성을 나타나게 할 필요가 있다.

     

    08) 다음 변수변환 중 로그변환에 대한 설명이다. 틀린 것은?


    ① 로그를 취하면 그 분포가 정규 분포에 가깝게 분포하는 경우가 있다. 이런 분포를 로그정규분포를 가진다고 한다.

    ② 로그변환을 사용하는 데이터 중 대표적인 것은 주식가격의 변동성 분석이다.

     로그변환에서 취하는 로그는 밑수가 10인 상용로그이다.

    ④ 데이터분포의 형태가 좌측으로 치우친 경우 정규분호화를 위해 로그변환을 사용한다.

     

    - 로그변환이란 어떤 수치 값을 그대로 사용하지 않고 여기에 로그를 취한 값을 사용한 것을 말한다.

     

Designed by Tistory.