본문 바로가기
Work_Praciatal Competence/05_Certificate

[ADsP 정리] 3과목 3장 데이터 마트

by 스타트업_디벨로퍼 2021. 2. 8.

최소 2문제 이상 출제 됩니다.

목표

  • 데이터 마트를 구성하는 요약변수와 파생변수 구분
  • reshape 패키지를 활용한 데이터마트 생성
  • sqldf 패키지와 plyr 패키지를 활용해 데이터를 핸들링
  • data, table 이해

3-3-1. 데이터 변경 및 요약

데이터마트

  • 데이터 웨어하우스와 사용자 사이의 중간층에 위치 한 것으로, 하나의 주제 또는 부서 중심의 데이터 웨어하우스라고 할 수 있다.

  • CRM관련 업무 중 핵심은 고객 데이터 마트 구축하는 것이다!
  • 데이터 마트의 구축 여부에 따라 분석효과 차이가 크다 (최신 분석기법들을 사용하기에 분석가들 간 편차가 덜하기 때문이다.)

데이터 자료 변수 변환 (요약변수와 파생변수)

  • 요약변수

    • 수집 된 정보를 분석에 맞게 종합한 변수이다. ex) 총 구매 금액, 금액, 횟수, 구매여부 등 분석을 위해 만들어지는 변수
    • 많은 모델들이 공통으로 사용하기에 재활용성이 높다!
    • 합계, 횟수 같은 간단한 구조이므로 자동화프로그램으로 구축 가능하다.
    • 단점: 정해놓은 기준치( 기준값, 기준횟수)를 뛰어 넘을 경우 기준의 의미해석이 애매해진다. 연속형 변수를 그룹핑해 사용하자!

     

  • 파생변수

    사용자(분석자)가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수.

    • 주관적일 수 있으므로 논리적 타당성을 갖추어 개발하자.
    • 세분화, 고객행동 예측, 캠페인 반응 예측에 매우 잘 활용된다.
    • 파생 변수는 상황에 따라 특정 상황에만 유의미하면 안된다. 대표성을 나타나게 하자.

     

R 스튜디오

reshape 활용(melt, cast 위주)

reshape 패키지는 melt(), cast()라는 핵심 함수가 들어있다.

  • melt(): 데이터를 원하는 방식대로 분석하기위해 식별자(ID), 측정변수(value)형태로 자료를 재구성하는 단계. 녹인다고 표현을 많이한다.
  • cast(): melt로 녹인 데이터들을 분석자가 원하는 형태로 계산, 라벨링 하는 함수

  • sqldf 활용 (데이터 전처리에 자주 썼던 기억)

    • R에서 sql 명령어를 사용 할 수 있게 해주는 명령어 ex)select~from
    • SAS에 proc sql 과 같은역할

     

plyr 활용

  • 원본 데이터를 분석하기 쉬운 형태로 나누어서 다시 새로운 형태로 만들어주는 패키지
  • 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지
  • split - apply-combine 함수: 데이터를 분리, 처리, 다시 결합 전처리 필수 였던걸로 기억

  • data.table 패키지

    R에서 가장 많이 사용하는 데이터 핸들링 패키지 중 하나 (위에 예시들 다 많이씀)

    기존 data.frame 방식보다 월등히 빠르다.

    빠른 그루핑과 오더링, 짧은 문장 지원측면에서 데이터 프레임보다 유용.

R 코딩하는건 시험에 자주 나오니 알아놓자!

.

3-3-2. 데이터 가공

Data Exploration(데이터 탐구^^)

데이터 분석을 위한 구성된 데이터의 변수들의 상태를 파악한다.

데이터탐색 함수 종류

  • head(): 시작 레코드 6개 보여준다. 개수 지정할 수 있다.
  • tail(): 마지막 레코드 6개 보여준다. 개수 지정할 수 있다.

  • summary(): 요약값 , 수치형변수: 최대값, 최소값, 평균, 사분위수
    명목형변수: 명목값, 데이터개수

변수 중요도

변수 선택법과 유사한 개념으로 모형을 생성하여 사용된 변수의 중요도를 살피는 과정이다.

  • 종류

    klaR 패키지

    • 특정 변수가 주어졌을 때 클래스가 어떻게 분류되는지 에러율을 계산해주고, 그래픽으로 나타내줌
    • greedy.wilks() : 세분화를 위한 stepwise forward 변수선택을 위한 패키지, 종속변수에 가장 영향력을 미치는 변수를 wilks lambda(집단 내 총분산) 라고 한다

변수의 구간화

연속형 변수를 분석 목적에 맞게 활용하기 위해 구간화하여 모델링에 적용한다.

  • 일반적으로 10진수 단위로 구간화하지만, 구간을 5개로 나누는것이 보통.

  • 구간화 방법

    1. bining : 신용평가모형의 개발에서 연속형 변수를 범주형 변수로 구간화 하는데 자주 활용
    2. 의사결정나무 : 세분화 또는 예측에 활용되는 의사결정 모형을 사용하여 입력변수들을 구간화 할 수 있다. 동일한 변수를 여러번의 분리기준으로 사용 가능하기 때문에 연속변수가 반복적으로 선택될 경우, 각각의 분리 기준값으로 연속형 변수를 구간화 할 수 있다.

     

3-3-3. 기초분석 및 데이터 관리

데이터 EDA(Exploratary Data Analysis: 탐색적 데이터 분석)

  • 데이터 분석에 앞서 전체적으로 데이터의 특징을 파악하고 데이터를 다양한 각도로 접근한다.

  • 결측값

    • 결측값 인식

      결측값은 NA, 999999, '(공백)', Unknown, NotAnswer등으로 표현 결측값 처리를 위해 시간을 많이 사용하는 것은 비효율!

    • 결측값 처리 방법

      1. 단순 대치법 (Single Imputation)

        • complete analysis : 결측값이 존재하는 레코드를 삭제해 버린다 →데이터수가 줄어들어 효율성이 떨어진다.
      2. 평균 대치법 (Mean Imputation)

        • 관측 또는 실험을 통해 얻어진 데이터의 평균으로 대치
        • 비조건부 평균 대치법: 관측데이터의 평균으로 대치
        • 조건부 평균 대치법: 회귀분석을 활용한 대치법

         

      3. 단순확률 대치법(Single Stochastic Imputation)

      • 평균 대치법에서 추정량 표준 오차의 과소문제를 보완하고자 고완된 방법. Hot-deck 방법, nearest neighbor 방법이 있다.
      • Hot-deck 방법: 찾아봤는데 "가장 많은 걸 넣자" 혹은 "이전에 값이 안변했을 꺼야" 라고 생각
      • nearest neighbor 방법: 최근접 이웃법, 가장 가까운 데이터를 중심으로 종류를 정해주는 알고리즘
      1. 다중 대치법(Multiple Imputation)
      • 단순 대치법을 한번 하지 않고 m번의 대치를 통해 m개의 완전자료를 만드는 방법
        1. 대치
        2. 분석
        3. 결합 순

    R에서의 결측값 처리

    • 관련함수

     

  • 이상값

    • 의도하지 않게 잘못 입력 된 경우 (Bad data)
    • 분석 목적에 부합되지 않은 경우
    • 의도하지않았지만 분석에 포함해야하는 경우
    • 의도된 이상값

    이상값 인식 방법

    1. ESD (Extreme Studentized Deviation)

      • 일변량 데이터에서 하나이상의 이상치를 탐지 할때 사용
      • 평균으로부터 3 표준편차 떨어진 값

       

    2. 사분위수 이용하여 제거하기 ! (상자그림의 밖에 있는 값을 제거)

  • 극단값

    • 극단값 절단방법 보다는 극단값 조정을 통해 데이터 손실을 최소화 하자
    • 극단값 절단 방법: 하,상단 % 이용 제거
    • 극단값 조정 (winsorizing) : 상한값과 하한값을 벗어나는 값들을 하한, 상한값으로 바꾸어 활용하는 방법!
반응형