본문 바로가기
자격증/ADsP

[ADsP] 3.3 데이터마트(R 심화)

by 리미와감자 2023. 2. 20.

데이터 마트(R 심화)

데이터 마트

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

- CRM 관련 업무 중에서 핵심

 

변수 : 데이터 웨어하우스로부터 받아오는 데이터를 분석에 적절하게 처리

1) 요약변수

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

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

 

2) 파생변수

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

- 주관적일 수 있으므로 논리적 타당성을 갖추어 개발

- 세분화, 고객행동 예측, 캠페인 반응 예측에 매우 잘 활용됨

 

패키지

- 패키지 설치 : install.packages(‘패키지이름’)

- 패키지 로드 : library(‘패키지이름’)/library(패키지이름)

 

1) reshape 패키지

- melt는 철을 녹이는 과정, cast는 모양을 만드는 과정을 의미

melt(data, id=...) : 원데이터(Raw Data) 형태로 만드는 함수. id에 정한 변수를 고정으로 하여 데이터 구조를 변경함

cast(data, formula=..., [func=...]) : 요약 형태로 만드는 함수. formula=행 변수(고정) ~ 열 변수(변경)

 

- reshape2 : cast 대신 acast, dcast 사용

 

2) sqldf 패키지 : R에서 sql 명령어를 사용 가능하게 해주는 패키지

- sqldf('select * from [data frame]') : data frame의 모든 행을 가져옴

- sqldf('select * from [data frame] limit 10') : data frame의 처음 10개 행을 가져옴.

- sqldf('select * from [data frame] where species like "ve%"') : data framespecies‘ve'로 시작하는 것에 대한 개수를 가져옴.

 

3) plyr 패키지 : apply 함수에 기반해 데이터와 출력변수를 동시에 배열로 치환

- (입력데이터)(출력데이터)ply로 총 5글자의 함수명으로 이름이 결정

- apply 함수처럼 split apply combine 처리

 

형변환

1) 자료형

- as.integer(), as.numeric(), as.logical(), as.character(), as.complex(), asDate()

 

2) 구조

- as.data.frame(), as.list(), as.matrix(), as.vector()

유용한 함수

- nchar() : 문자열의 길이 반환

- paste() : 입력받은 객체들의 같은 위치 요소를 하나의 문자열로 합침

- substr(데이터, 시작위치, 끝위치) : 주어진 문자열에서 특정 문자열 추출

- split(데이터, 분리조건) : 데이터를 분리할 때 사용

- subset(데이터, 분리조건) : 특정 부분만 추출

- merge(데이터프레임, 데이터프레임, by=공통 열 이름) : 공통변수로 데이터 병합

- select() : 특정 열 선택/제외

- length() : 객체의 원소 개수 반환

- nrow() : 행 개수 반환(벡터, 스칼라에서 사용 x)

- NROW() : 행 개수 반환(벡터, 스칼라에서 사용 가능)

- head() : 시작 6개 레코드 데이터 조회

- tail() : 마지막 6개 레코드 데이터 조회

- str() : 데이터의 구성을 표시

- summary()

수치형 변수 : 최대값, 최소값, 평균, 1사분위수, 2사분위수(중위값), 3사분위수

명목형 변수 : 명목값, 데이터 개수

 

- is 함수

is.numeric(), is.logical(), is.character(), is.integer(), is.double(), is.factor(), is.null(), is.na(), ...

 

그래프

- 산점도 : plot(x,y). 2개의 수치형 변수의 상관관계

- 산점도 행렬 : pairs(). 여러 개의 변수 관계

- 상자그림 : boxplot(). 이상치 존재 확인, IQR 길이, 최소, 최대, 1사분위, 3사분위, 중위값 확인. NA 제거.

IQR(Inter Quartile Range) : 사분위수 범위. 데이터의 중간 50%를 나타내며, 3Q 1Q이다.

수염 : 데이터 값의 하위 25%와 상위 25%의 범위를 나타내며, 벗어나면 이상치이다.

상한값 = 3Q + 1.5*IQR

하한값 = 1Q 1.5*IQR

- 히스토그램 : hist(). 연속형 자료에 적합.

- 막대그래프 : barplot(). 범주형 자료에 적합.

 

결측값 처리 방법

1. 단순 대치법

1) Completes Analysis : 결측값이 존재하는 불완전 자료는 모두 삭제.

2) 평균대치법 : 관측 또는 실험을 통해 얻어진 데이터의 평균으로 대치.

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

- 조건부 평균 대치법 : 회귀분석을 활용한 대치법

3) 단순확률 대치법 : 평균대치법의 추정량 표준 오차 과소 추정 문제 보완. Hot-deck, nearest neighbor 방법

 

2. 다중 대치법 : 단순 대치법을 m번 수행하여 m개의 가상적 완전 자료를 만드는 방법. 대치 -> 분석 -> 결합

 

3. R에서의 결측치

- is.na() : 결측값이 있으면 TRUE, 없으면 FALSE 반환.

- complete.cases() : 행별로 결측치가 없으면 TRUE, 있으면 FALSE 반환

- na.omit() : 결측치가 있는 행 전체 삭제

 

 

이상값(Outlier)

- 의도하지 않게 잘못 입력한 경우(Bad Data)

- 분석 목적에 맞지 않은 경우

- 이상값을 꼭 제거해야 하는 것은 아니므로 적절한 판단이 필요. 함부로 제거하면 안 됨.

 

이상값 인식 방법

1. ESD(Extreme Studentized Deviation)

- 평균으로부터 3*표준편차 밖의 값

 

2. 기하평균 2.5*표준편차 < data < 기하평균 + 2.5*표준편차 밖의 값

 

3. 사분위수 활용

- Q1 1.5(Q3-Q1) < data < Q3 + 1.5(Q3-Q1) 밖의 값

 

'자격증 > ADsP' 카테고리의 다른 글

[ADsP] 3.5 상관분석  (0) 2023.02.23
[ADsP] 3.4 통계분석의 이해  (0) 2023.02.23
[ADsP] 3.2 R 프로그래밍  (1) 2023.02.16
[ADsP] 3.1 데이터 분석 기법의 이해  (2) 2023.02.13
[ADsP] 2.6 분석 거버넌스 체계 수립  (0) 2023.02.12

댓글