본문 바로가기

Cerificate/빅데이터분석기사

[빅데이터 분석기사 필기] 2과목 - 빅데이터 탐색 (1/3)

728x90
반응형

이전 글 : 2022.08.04 - [데이터/빅데이터분석기사] - [빅데이터 분석기사 필기] 1과목 - 빅데이터 분석 기획 (3/3)


  이번에는 새로운 과목으로 넘어가 구체적인 빅데이터 분석 방법에 대해 공부하겠다. 이 글은 데이터에듀에서 발행한 '빅데이터 분석기사 필기' 교재의 201~229페이지을 참고한다. 

※ 출처가 있는 이미지를 클릭하면 원 사이트로 접속된다.


Index

    1) 데이터 전처리

    (1) 데이터 전처리의 필요성

    • 데이터의 질 : 다양성 + 형태
    • 알고리즘이 우수해도 데이터가 쓰레기라면? GIGO

    (2) 데이터 전처리 유형

    • 데이터 정제, 데이터 통합, 데이터 축소, 데이터 변환 (정규화, 표준화)

    (3) 데이터 정제

    • 데이터 오류 : 노이즈, 결측치 등
    • 결측치 처리 
      • 결측치 : 값이 누락되어 존재하지 않는 값. NA, 99999, NULL 등으로 표시됨.
      • 유형
        1. 완전 무작위 결측 (MCAR) : 다른 변수들과 관련없이 랜덤하게 발생한 결측치
        2. 무작위 결측 (MAR) : 가장 흔함. 결측치가 다른 변수의 영향을 받으나 해당 변수의 비관측값과는 무관한 것
        3. 비무작위 결측 (NMAR) : 상기의 두 경우가 아닌 것. 결측 자체에 어떤 의미가 있음을 암시.
      • 처리 : 대체로 완전 무작위 결측 혹은 무작위 결측으로 간주
        1. 단순 대치법 : 단순 삭제, 평균 대치, 단순확률 대치 (Hot-deck, Nearest Neighbor - 최빈값, 중앙값)
        2. 다중 대치법 : 대치 - 분석 -결합. 단순 대치법을 n번 시행.
        3. 그 외 : 전역상수, 수작업, 무시 등
      • R에서는?
        1. complete.cases() : 결측치 있으면 FALSE
        2. is.na() : 있으면 TRUE
        3. amelia() : randomforest를 활용해 결측치 대치 후 알고리즘에 적용.
        4. DMwR 패키지 - centralImputation : 중앙값 (연속형), 최빈값 (범주형)
        5. DMwR 패키지 - knnImputation : 가중 평균한 값으로 대체
    • 이상치 처리 
      • 이상치 : 의도치 않게 잘못 입력, + 의도된 이상값 (fraud)
      • 분석의 목적이나 종류에 따라 적절한 판단 필요.
      • 이상치 판별 
        1. 사분위수 : 정렬된 데이터 표본을 4등분했을 때 각 등위에 해당하는 값. 
          • 사분위 범위 (IQR) : Q3-Q1, 데이터 중앙의 50% 구간에 해당.
          • 수염 (whisker) : 상자그림에서 상자 밖으로 이어진 선.
        2. 정규분포 : 데이터의 평균, 중앙값, 최빈값이 모두 동일하면 데이터는 평균을 기준으로, 좌우가 대칭인 정규분포가 된다. 이 정규 분포에서±3∂ 떨어진 값을 이상치로 함.
        3. 군집화 : 작은 크기의 클러스터 or 사이의 거리가 지나치게 먼 클러스터가 이상치.
      • 이상치 처리
        1. 결측 처리 : 논리적으로 존재할 수 없는 경우.
        2. 극단치 기준 이용 : 상자 그림의 극단치 기준에 해당하면 데이터 제거
        3. 극단값 절단 Trimming : 상하위 n% 제거
        4. 극단값 조정 
      • 데이터 불일치 Discrepancy 원인 : 입력설계 오류, 입력자 및 장치 오류, 고의, 데이터의 노후화
      • 필터링

    (4) 데이터 통합

    • 서로 다른 데이터를 호환 가능하게끔 통합하는 것. (ex. 데이터 웨어하우스)
    • 고려사항 
      1. 스키마 통합과 개체의 매칭 : 개체 식별 관련
      2. 데이터 중복 Redundancy
      3. 하나의 속성에 대한 상충 : 여러 소스의 데이터를 하나로 합치는 과정에서 일어나는 불일치 문제

    (5) 데이터 축소

    • 중복 or 불필요 데이터를 축소하는 작업. 원 데이터의 고유 특성은 최대한 유지.

    (6) 데이터 변환

    • 분석 목적에 맞게 데이터의 형식을 바꾸는 것.
    • 데이터 스케일링 : 데이터의 범위가 같아지도록 변수별로 값을 비례적으로 조정하는 과정.
    • 표준화 Standardization
      • 각 개체들이 평균을 기준으로 얼마나 떨어졌는지 나타내는 값으로 변환하는 과정. 특정범위를 벗어난 값을 이상치로 판단할 수 있음.
      • Z-Score 표준화 : (각 요소의 값 - 평균) / 표준편차. 변환 후, 데이터의 평균은 0, 표준편차는 1이 됨.
    • 정규화 Normalization 
      • 데이터의 범위를 0~1 사이로 변환해 분포를 조정하는 방법. 
      • Min-Max 정규화 : (x-min)/(max-min)
    • 평활화 Smoothing : 노이즈로 거칠게 분포된 데이터를 매끄럽게 하는 것. 구간화와 군집화 활용

    2) 분석 변수 처리

    (1) 변수의 개념

    • 변수 : 데이터를 담는 저장소. DBMS에서는 속성이라고도 함
    • 인과관계 : 독립변수 (설명변수, 예측변수) ↔ 종속변수 (반응변수, 결과변수)
    • 범주형 - 명목, 순서형 / 수치형 - 연속, 이산형

    (2) 변수 선택

    • 분석 모형에 가장 적합한 변수를 선택하는 과정.
    • 필터 방법
      • 데이터에 대한 통계적 특성 (상호 정보량, 상관계수 등)으로 변수를 선택하는 것
      • 0에 가까운 분산 (제거)
      • 큰 상관계수 : 주성분 분석 (PCA) 등을 이용해 서로 독립된 차원으로 변환하거나 상관계수가 큰 변수 제거.
    • 래퍼 방법 Wrapper Method
      • 변수의 일부만 사용해 모델링하고, 그 결과를 체크하는 작업을 반복해 변수 선택. 가장 좋은 성능을 보이는 부분집합 Subset을 뽑아내는 방법.
      • 대개 래퍼가 필터보다 정확도가 높음.
      • 오버피팅과 시간 소요가 단점.
      • 예측용 회귀모델에서는 회귀계수 추정, 설명변수의 유의성 검정을 거쳐 선택.
        1. 전진 선택 : 변수가 없는 상태로 시작. 반복 시, 중요한 변수를 추가해가며 개선되지 않을 때까지 지속.
        2. 후진 제거 : 모든 변수를 포함한 모델에서 시작. 덜 중요한 변수들을 제거해가며 성능 향상.
        3. 단계별 선택 : 전진 + 후진
        4. Best Subset : 모든 케이스의 모델을 비교해 최선의 모형을 찾는 방법. 부분집합 회귀분석.
    • 임베디드 방법
      • 모델링 기법 자체에 변수 선택이 포함된 것.
      • 라쏘 회귀 Lasso : 가중치 절대값의 합을 최소화는 것이 제약조건. 이 규제방식을 L1 규제라고 함.
      • 릿지 회귀 Ridge : 가중치들의 제곱합을 최소화하는 것이 제약 조건. 모든 원소가 0에 근접하는 것이 목표. 규제방식은 L2 Penalty.
      • 엘라스틱 넷 : 위 두개 방식의 결합. 상관관계가 큰 변수를 동시 선택 or 배제하는 경향.

    (3) 차원 축소

    • 차원 축소 : 변수의 개수를 줄이고 새로운 차원의 데이터를 생성하는 것
    • 지나치게 많은 피처를 가진 데이터셋으로 학습된 모델은 오히려 적은 차원으로 생성된 모델에 비해 예측력이 떨어질 수 있고, 피처들끼리의 상관관계가 높을 가능성이 있음. (선형 모델에서의 다중 공선성 문제)
    • 유형 : 두 유형 모두 효율적인 최적화 알고리즘이 요구됨
      • 피처 선택 : 주요 피처만 선택하는 것
      • 피처 추출 : 선형 or 비선형 결합을 활용해 새로운 피처를 추출하는 것
    • 방법 : 아래의 알고리즘 사용 전, 독립성 확인 필요.  
      • 다차원 척도 : 패턴, 구조를 찾아 소수 차원의 공간에 객체간 근접성을 시각화하는 통계 기법. (like 군집분석)
      • 주성분 분석 PCA : 분석변수를 선형적으로 결합해 가장 잘 나타내는 축을 찾고, 이를 중심으로 차원 축소. 제1주성분이 가장 많은 부분 설명. (다중회귀분석, 군집분석에서 활용)
      • 선형 판별분석 LDA
      • 요인 분석 : 변수간의 상관관계를 고려해 유사한 변수를 묶어 새로운 잠재요인을 추출하는 방법.
      • 특이값 분해 SVD : 실수 or 복합행렬의 인수분해. m x n 행렬에서 특이값을 추출하고, 데이터 차원을 줄이는 방법.
      • t-SNE : 지역 인접성을 보존하고자 하는 차원축소 알고리즘. 비선형적, 비결정적.
      • 서포트 벡터 머신 SVM : 차원축소 기법을 활용해 차원을 줄이고, 분석결과를 그래프로 제공. 비선형 관계도 가능.
    • 장점 : 메모리 절약, 시간 및 공간 절약, 안정적 결과 도출
    • 활용 : EDA, 주요변수 추출, 저차원 변환

    (4) 파생변수

    • 파생변수 : 사용자가 새롭게 만들어 의미를 부여한 변수. (대표성 필요)
    • 요약변수 : 데이터마트에서 가장 기본적인 변수. 자동화 프로그램으로 구축 가능. 분석에 맞게 종합한 변수.

    (5) 변수 변환

    • 연속형 변수를 활용하고자 구간화해 모델링. (주로 5개 구간) (신용 평가, 고객 분석 등에 활용)
    • 방법
      • 변수 구간화 Binning : 이산형 변수의 범주형 변수화. 이산값을 평활화하는 경우도 있음.
      • 의사결정나무 : 연속 변수가 반복적으로 선택되는 경우.
    • 더미 변수
      • 범주형 변수가 있는 데이터를 회귀분석처럼 연속형 변수용 통계 기법에 활용하려면 범주형 변수를 연속형으로 만들어줘야 함. 이 때, 일반적으로 더미변수로 만듦.
      • 0과 1로 나타냄.
      • R의 lm함수는 자동으로 더미변수로 만들어 회귀모형 생성.
    • 정규분포화 : 로그 변환, 제곱근 변환 (오른쪽 긴 꼬리일 때 유용)을 사용해 정규분포를 따르는 형태로 만듦.

    (6) 불균형 데이터 처리

    • 데이터 불균형 : 분류할 각 그룹의 데이터수가 동일하지 않은 경우. 비율이 높은 쪽으로 분류해버리는 모형이 만들어 질 가능성 있음.
    • 예시 : 사진 100개 중 95개를 개, 5개를 고양이라고 하면 무조건 A집단이라고 분류했을 때 정확도 Accuracy가 95%. 그러나 재현율 Recall은 낮아질 수 있음. - 결정트리, 다중 퍼셉트론에서 흔함.
    • 이러한 부작용을 막고자  오버 샘플링, 언더 샘플링을 취함.
    • 오버 샘플링 : 더 적은 데이터를 갖고 있는 그룹을 표본으로 많이 추출하는 방법. 계신 시간 증가, 과적응이 단점 
      • Resampling : 데이터를 복사해 늘림.
      • SMOTE : 일정 거리 이상의 가상 데이터를 새로 생성 (K-NN)
      • Borederline SMOTE : 서로 다른 클래스의 경계선에서 SMOTE 시행.
      • ADASYN
    • 언더 샘플링 : 많은 수의 데이터가 있는 그룹에서 일부만 추출. 계산시간 감소가 장점이나 데이터 손실의 우려가 있음.
      • 랜덤 언더 샘플링
      • 토멕 링크 Tomek Links : 경계선에 있는 한 쌍의 데이터
      • CNN Condened Nearest Neighbor : 밀집된 것을 대표 데이터만 남기고 제거.
      • OSS : 토멕 링크 + CNN

    출처 : Kaggle

     

    ♧ 예상문제 오답 정리

    • 결측치
      • 결측치가 20% 이상이라면, 해당 변수를 제거하는 것이 바람직.
      • 관측치가 default값인 경우, 결측치로 취급할 이유는 없다.
      • R에서는 NA로 표기.
      • 우연히 문항을 뛰어넘은 경우 ☞ 완전 무작위 결측 MCAR
      • 평균대치법 중 무조건 평균값으로 바꾸는 것이 비조건부 평균 대치법
    • 데이터 통합
      • 개체 식별 : 서로 다른 소스에서 발견되나 실상은 동일한 항목을 뜻한다면 어떻게 처리할까?
    • 차원축소
      • 주성분 분석 : 제1 주성분이 가장 중요.
    • 오버 샘플링
      • SMOTE : 기존 데이터를 복사하지 않고, 더 작은 수의 관측치를 가진 그룹의 데이터와 일정 거리 떨어진 가상의 데이터를 새로 생성해 오버 샘플링.
    728x90
    반응형