1절. 데이터 변경 및 요약2

데이터 마트

데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것

데이터 마스 내 대부분의 데이터는 데이터 웨어하우스로부터 복제되지만, 자체적으로 수집될 수도 있다.

 

 

 

요약변수와 파생변수

  요약변수 파생변수
정의 수집된 정보를 분석에 맞게 종합한 변수로 데이터 마트에서 가장 기본적인 변수
많은 모델이 공통으로 사용할 수 있어 재활용성이 높음
사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수
매우 주관적일 수 있어서 논리적 타당성을 갖출 필요가 있다.
예시 기간별 구매 금액, 횟수/ 단어 빈도/ 상품별 구매 순서 등 주 구매 매장/ 주 활동지역/ 시즌 선호 고객/ 라이프 스타일/ 선호하는 가격대 등

 

 

 


 

 

 

1절. 데이터 변경 및 요약2

reshape 패키지

melt(data, id= . . .) : id에 정한 변수를 기준으로 데이터 구조를 변경함

cast(data, fomula= . . . , [func= . . . ]) : 데이터를 fomula에 있는 형태로 변환하고 func 적용

             fomula의 형태 : 행변수(고정) ~ 열변수(변경) , 여러개 변수는 +로 묶음

 

 

 


 

 

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

sqldf 패키지

R에서 sql명령어를 사용하게 해주는 패키지

사용법 : sqldf('sqld 문자열')

사용예시 : head([df]) > sqldf("select * from [df] limit 6")

              subset([df], [col] %in% c("BF","HF")) > sqld("select * from [df] where [col] in ('BF','HF')")

              merge([df1],[df2]) > sqld("select * from [df1],[df2]")

 

plyr 패키지

"어쩌구ply"형태의 함수들을 제공하는 패키지

앞의 알파벳이 입력, 뒤의 알파벳이 출력을 의미

  array data frame list nothing
array aaply adply alply a_ply
data frame daply ddply dlply d_ply
list laply ldply llply l_ply
n replicates raply rdply rlply r_ply
function
arguments
maply mdply mlply m_ply

 

 

data.table

기존의 data.frame 보다 월등히 빠른 속도

특정 column을 key 값으로 색인을 지정한 후 데이터를 처리

 

 

 


 

 

2~3절

변수의 구간화

신용평가모형, 고객 세분화 등의 시스템으로 모형을 적용하기 위해서 각 변수를 구간화 하여 점수를 적용하는 방식이 필요

보통 10진수 단위로 구간화하고, 구간을 5개로 나누는 것이 보통이며, 7개 이상의 구간은 잘 만들지 않는다.

 

 

 

변수 구간화의 방법

binning 연속형 변수를 범주형 범수로 변환하기 위해 50개 이하의 구간에 동일한 수의 데이터를 할당하여 의미를 파악하면서 구간을 축소 하는 방법
의사결정나무 모형을 통해 연속형 변수를 범주형 변수로 변환하는 방법

 

 

 

 

결측값 처리

결측값? 데이터가 존재하지 않음!

표현방식 : NA, . , 9999999999, Unknown, Not Answer 등으로 표현

 

 

결측값을 처리하는 방법

1) 단순 대치법

  - completes analysis : 결측값이 있는 레코드 삭제

  - 평균 대치법 : 데이터의 평균으로 대치

       비조건부 평균 대치법 : 관측 데이터의 평균으로 대치

       조건부 평균 대치법 : 회귀분석을 통해 데이터를 대치

  -단순확률 대치법 : 평균대치법에서 추정량 표준 오차의 과소 추정 문제를 보완한 방법으로 Hot-deck방법, nearest             Neighbor 방법 등이 있다

 

2) 다중 대치법 : 단순 대치법을 m번 실시하여, m개의 가상적 자료를 만들어 대치하는 방법

  

 


 

 

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

R의 결측값 처리 관련 함수

complet.cases() 데이터내 레코드에 결측값이 있으면 False, 없으면 True 반환
is.na() 결측값이 NA인지의 여부를 T/F로 반환
DMwR패키지
: centrallmputation()
NA의 값을 가운데 값으로 대치
DMwR패키지
: knnlmputation()
NA의 값을 k최근 이웃 분류 알고리즘을 사용하여 대치
Amelia 패키지
: amelia()
여러 국가에서 매년 측정된자료 활용

 

 

 

이상값 처리

이상값? 의도하지 않은 현상으로 입력된 값 or 의도된 극단값 -> 이용 가능

           잘못입력한 값 or 의도하지 않은 현상으로 입력되었으나 분석목적에 맞지않음 -> 제거

 

어떤게 이상값인가?

ESD : 평균으로부터 3표준편차 떨어진 값

 

이상값을 처리하는 방법

절단(trimming) : 이상값이 포함된 레코드 삭제

조정(winsorizing) : 이상값을 상한 또는 하한 값으로 조정

 

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

+ Recent posts