안녕하세요. 오늘은 데이터마트에 대해 알아보고자 합니다.
데이터마트의 중요한 부분 중 하나인 요약변수와 파생변수의 구분에 대해 알아볼까요??
모형을 개발할 때 문제를 가장 잘 해석할 수 있는 변수를 찾는 것이 중요하다는 것은 알고 계실테죠~!
그래서
데이터를 특정 기준에 따라 사칙연산을 통해 만들어 낸 변수가 요약변수이고,
사용자의 노하우를 기반으로 새롭게 만들어 낸 변수가 파생변수입니다.
또 하나 알아볼 점은 Reshape 패키지 입니다. 이 패키지의 melt, cast() 함수는 아시는 분은 아실거라 생각합니다.
1. R reshape를 통한 데이터 마트 개발.
데이터마트란 데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스라고 할 수 있습니다.
데이터 마트 내 대부분의 데이터는 데이터 웨어하우스로부터 복제되지만, 자체적으로 수집될 수도 있으며, 관계형 데이터베이스나 다차원 데이터베이스를 이용하여
구축합니다. (출처 : 컴퓨터인터넷IT용어대사전)
CRM(customer relationship management) 관련 업무 중에서 핵심 = 고객 데이터 마트 구축.
동일한 데이터 셋일 경우, 최신 분석기법을 사용하면 분석가의 역량에서는 분석효과가 크게 차이나지 않지만, 데이터 마트를 어떻게 구축하냐에 따라 분석 효과는
크게 달라질 수 있다고 합니다.
1) 요약변수
- 수집된 정보를 분석에 맞게 종합한 변수이다.
- 데이터 마트에서 가장 기본적인 변수로, 총구매 금액, 금액, 횟수, 구매여부 등 데이터 분석을 위해 만들어 지는 변수이다.
- 많은 모델을 공통으로 사용될 수 있어 재활용성이 높다.
- 합계 , 횟수와 같이 간단한 구조이므로 자동화하여 상황에 맞게 또는 일반적인 자동화 프로그램으로 구축이 가능하다.
- 요약변수의 단점은 얼마 이상이면 구매하더라도 기준값의 의미 해석이 애매할 수 있다. 이러한 경우, 연속형 변수를 그룹핑해 사용하는 것이 좋다.
요약변수 예시 : 기간별 구매금액, 횟수, 상품별 구매 금액, 횟수, 상품별 구매 순서, 유통채널 별 구매 금액, 단어 빈도, 초기 행동변수, 트렌드 변수 등
2) 파생변수
- 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수
- 매우 주관적일 수 있으므로 논리적 타당성을 갖추어 개발하여야 한다.
- 세분화, 고객행동 예측, 캠페인 반응 예측에 매우 잘 활용된다.
- 파생변수는 상황에 따라 특정 상황에만 유의미하지 않게 대표성을 나타나게 할 필요가 있다.
파생변수 예시 : 근무시간 구매지수, 주 구매 매장 변수, 주 활동 지역 변수, 주 구매상품 변수, 구매상품 다양성 변수, 시즌 선호고객 변수, 라이프 스테이지 변수 등
3) reshape의 활용
- reshape 패키지에는 melt()와 cast()라는 2개의 핵심 함수가 있다.
- 녹이는 함수 melt(), 모양을 만드는 함수 cast()
- airquality 데이터를 가지고 간단하게 해보겠습니다..
data(airquality)
airquality
install.packages("reshape")
library(reshape)
# 패키지를 설치해 준 후, head()함수로 한번 봅니다. 어떤 열변수가 있는지 봐야겠죠.
head(airquality)
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6
오존... 등 여러가지 변수들이 있네요. melt를 써볼까요?
aqm<-melt(airquality, id=c("Month", "Day"), na.rm=T)
Month Day variable value
1 5 1 Ozone 41.0
2 5 2 Ozone 36.0
3 5 3 Ozone 12.0
4 5 4 Ozone 18.0
565 9 27 Temp 77.0
566 9 28 Temp 75.0
567 9 29 Temp 76.0
568 9 30 Temp 68.0
이런식으로, Month, Day기준으로 형태가 정리되는 것을 보실 수 있습니다.
cast(aqm, Day~Month~variable)
, , variable = Ozone
Month
Day 5 6 7 8 9
1 41 NA 135 39 96
2 36 NA 49 9 78
3 12 NA 32 16 73
4 18 NA NA 78 91
이런식으로 X축은 월, Y축은 일로 각 변수별로 볼 수 도 있습니다. 원하는 형태로 변형해서 쓰기 좋겠죠.
단, cast() 함수를 쓸 때에는, melt 된 데이터여야 하나 봅니다.
그래서 저도 오류가 나서, aqm이라는 변수에 melt 결과물을 집어넣었죠.
그리고 대소문자 구분 잘해주셔야 합니다 ^^
'## 오래된 게시글 (미관리) ## > R' 카테고리의 다른 글
35. 데이터 가공 (0) | 2018.11.22 |
---|---|
34. 데이터 마트 II (0) | 2018.11.22 |
32. 데이터 변형 (0) | 2018.11.22 |
31. 데이터 구조와 데이터 프레임 II (0) | 2018.11.22 |
30. (NEW) 데이터 구조와 데이터 프레임 (0) | 2018.11.21 |