본문 바로가기

□ ADsP

[ADsP - 4과목] 제1장 R 기초와 데이터마트

과목 Ⅳ. 데이터 분석

 


1R 기초와 데이터마트

 

1 R기초

 

1. 분석 환경의 이해

 

1)데이터 분석 도구의 현황

◆분석도구 비교

 

SAS

SPSS

R

프로그램 비용

고가

고가

오픈소스

설치 용량

대용량

대용량

모듈화로 간단

모듈지원 및 비용

별도 구매

별도 구매

오픈 소스

최근 알고리즘 및 기술 반영

노르미

다소 느림

매우 빠름

학습자료 입수 편의성

유료 도서 위주

유료 도서 위주

논문 및 자료 많음

질의를 위한 공개 커뮤니티

없음

없음

매우 활발

 

R의 특징

- 오픈소스, 무료: 사용자 커뮤니티 활발, 5,000여개 패키지 수시 업데이트

- 그래픽 및 성능이 좋음

- 시스템 데이터 저장방식: 각 세션 사이마다 시스템에 데이터 셋 저장, 명령어 히스토리 저장 가능

- 모든 운영체제 사용 가능

- S통계 언어 기반(R/S 플랫폼은 전문가들의 표준 플랫폼)

- 객체지향언어, 함수형 언어

 

R스튜디오

- 오픈소스, 무료, 다양한 운영체제 지원

- 메모리에 변수와 타입 확인 가능

- 스크립트 관리와 도큐먼테이션 편리

- 쉽게 자동화

 



2절 데이터 마트


1. R reshape를 활용한 데이터마트 개발

◆데이터 마트

- 웨어하우스와 사요앚 사이 중간층에 위치, 웨어하우스로부터 복제된 data, 자체 수집도 가능

- CRM 업무 핵심: 고객 데이터마트 구축

- 데이터마트 구축에 따라 분석 효과 차이

 

요약변수 vs. 파생변수

요약변수

파생변수

수집된 정보를 분석에 맞게 종합한 변수

사용자가 만들어 의미를 부여한 변수

데이터마트에서 가장 기본적인 변수

(기간, 상품별 구매 금액, 횟수, 구매여부 등)

주관적이므로 논리적 타당성 필요

(근무시간 구매지수, 주 활동 지역 변수, 선호하는 가격대 변수 등)

재활용성 높음

대표성을 나타나게 할 필요 있음

간단한 구조이므로 자동화 가능

 

 

reshape 활용

- melt(): 데이터를 DB 구조로 녹이는 함수

- cast(): 새로운 구조로 데이터를 만드는 함수

- melt(data, id=c(고정변수1, 2))

- cast(melt_data, 고정변수1+2 – column이 되게 하고 싶은 변수명, 함수)

- 다양한 요약변수와 파생변수를 쉽게 생성하여 데이터마트 구축

 

2. sqldf를 이용한 데이터 분석

R에서 sql명령어를 사용 가능하게 해주는 패키지(SAS proc sql)

- head(df) = sqldf(‘select * from df limit 6’)

- subset(df, col %in% c(‘BF’, ‘HF’) = sqldf(‘select * from df where col in (‘BF’, ‘HF’)’)

- merge(df1, df2) = sqldf(“select * from df1, df2”)

 

3. plyr

◆데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지

◆분리-처리-결합 방식

 

4. 데이터 테이블

◆큰 데이터를 탐색, 연산, 병합하는데 유용한 데이터 핸들링 패키지

◆기존 data.frame보다 빠름

◆색인 지정 가능

◆빠른 그룹핑, 오더링(ordering), 짧은 문장 지원

setkey(DT,y);x<-DT[J(“C”),]

 

3절 결측값 처리와 이상값 검색

 

1. 데이터 탐색

◆데이터 탐색: 변수 상태 파악(head, summary)

 

2. 결측값 처리

◆표현: NA

◆자체가 의미 있을 수 있음.

 Ex. 가입자 중 특정 거래가 없을 경우, 부정사용방지시스템이나 부도 예측시스템

◆결측값 처리가 전체 작업속도에 영향

결측값 처리 방법

- 단순 대치법: 결측값 존재하는 행 삭제 (평균 대치법, 단순확률 대치법)

- 다중 대치법: 단순 대치법을 여러 번 (boostrapping based algorithm)

 

R에서 결측값 처리

- 탐색: complete.cases(), is.na()

- 단순 대치: DMwR::centrallmputation(), DMwR::knlmputation()

- 다중 대치: Amelia::amelia()

 

3. 이상값 검색

◆이상 값

-  bad data: 잘못 입력, 분석 목적에 부합하지 않는 경우 삭제

- 이상값: 의도하지 않은 현상으로 입력, 의도된 극단값 경우 활용

 

이상값 인식 방법

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

- 기하평균보다 2.5 표준편차 떨어진 값

- 1사분위와 3사분위 사이 범위보다 2.5배 이상 떨어진 값

 

이상값 처리

- 절단: 이상값 포함행 삭제

- 조정: 이상값을 상한 또는 하한값으로 조정(데이터 손실률 낮아짐)