Transcript 데이터 마트
데이터 마트 1 절 데이터 변경 및 요약 2 절 데이터 가공 3 절 기초 분석 및 데이터 관리 정규화 • 제1정규형: 모든 ATTRIBUTE는 반드시 하나의 값을 가져야 한다. – 반복형태가 있어서는 안됨 – 테이블은 반복되는 데이터 그룹을 가질 수 없다 – 1차 정규화 : 반복 그룹 속성을 제거 • 제2정규형: 모든 ATTRIBUTE는 반드시 UID 전부에 종속되어야 한다. – UID 일부에만 종속되어서는 안됨 – 제 1정규화가 되고 나면, 모든 non-key컬럼은 반드시 모든 primary key에 종속되어야 한다. – 2차 정규화 : 주 식별자에 완전 기능 종속 되지 않는 속성을 제거 • 제3정규형: UID가 아닌 모든 ATTRIBUTE 간에는 서로 종속될 수 없다. – ATTRIBUTE 간 종속성 배제 – non-key 컬럼은 또 다른 non-key 컬럼에 종속되어서는 안 된다. – 3차 정규화 : 주 식별자에 이행종속되는 속성을 제거 1 절 데이터 변경 및 요약 • 1. R reshape를 활용한 데이터 마트 개발 가.요약변수 • 요약변수(Sumrnary Variabl es)는 가장 기본적인 변수로 고객·상품· 채 널을 종합(Aggregati on)한 변수다 총 구매 금액·횟수가 될 수 있고, 구매 여 부도 될 수 있다 • 기간별 구매 금액 · 횟수 · 여부 • 위클리 쇼퍼 • 상품별 구매 금액 · 횟수 · 여부 • 상품별 구 매 순서 1 절 데이터 변경 및 요약 1. R reshape를 활용한 데이터 마트 개발 가.요약변수 • • • • • • 유통 채 널 별 구매 금액 단어 빈도 초기 행통변수 트렌드 변수 결측값과 이상값 처리 연속형 변수의 구간화 1 절 데이터 변경 및 요약 1. R reshape를 활용한 데이터 마트 개발 나. 파생 변수 • 파생변수(Derived Variable)는 특정한 의미 를 갖는 작위적 정의에 의한 변수로 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수다 • 근무시간 구매지수 • 주 구매 매장 변수 • 주 활동 지역 변수 • 주 구매상품 변수 • 구매상품 다양성 변수 1 절 데이터 변경 및 요약 1. R reshape를 활용한 데이터 마트 개발 나. 파생 변수 • • • • • • • • • 가격 선호대 변수 시즌 선호고객 변수 라이프 스테이지 변수 라이프 스타일 변수 행사민감 변수 휴면가망 변수 최대가치 변수 고객 생애가치 변수 최적 통화 시간 1 절 데이터 변경 및 요약 1. R reshape를 활용한 데이터 마트 개발 다. reshape • KXEN – GUI(graphical user interface) 방식으로 어떤 속성을 만들지 를 ETL 도구처럼 정의한다. 내용은 데이터 마이닝에 적합한 메뉴방식으로 사용자가 선택사항을 입력하면 자동으로 처 리되는 마법사(Wizard) 방식으로 변수를 조합해 변수명 을 만들고 변수들을 시간상품 등의 차원 (dimension) 에 결합 해 만들어 준다. 방법 (measure) 에 대한 명령어 (function) 도 몇 개를 지정하면 자동으로 count, sum 등 다양한 통계 치를 만들 수 있다 • Reshape – 완벽하지는 않지만 유사한 기능 – melt와 cast 단계로 구분 – Count, mean, |, margin, sebset, range(min,max), 사용자정 의함수 1 절 데이터 변경 및 요약 • 2. sqldf를 이용한 데이터 분석 • 3. plyr – 데이터를 분리하고 처리한 다음,다시 결합하는 등 가장 필수적인 데이터 처리기능을 제공한다. – apply 합수와 multi-core 사용 함수를 이용하면 for loop를 사용하지 않고 매우 간단하고 빠르게 처리할수 있다. plyr 은 apply 함수 (function)에 기반해 데이터와 출력 변수를 동시에 배 열로 치환하여 처리하는패키지 이다. 예를 들어 ddply 함수는 데이터 프레임 데이터를 가공해 데이터 프레 임으로 돌려준다. – ddply 함수는 데이터 프레임 데이터를 가공해 데이터 프레 임으로 돌려준다. – transform과 summarize를 동시에 사용 가능 – 병렬처리 가능 1 절 데이터 변경 및 요약 • 4. 데이터 테이블 – 데이터 테이블은 데이터프레임과 유사하지만 보다 빠른 그루핑과 ordering, 짧은 문장 지원 측면에서 데이터 프레임보다 매력적이다. 하 지만 무조건 빠른 것이 아니므로 아니라 특성 에 맞게 사용해야 한다. 특히 64비트 환경에서 RAM이 충분히 많을 때는 효율적이다. – 데이터 프레임과 비교 – KEY를 지정해서 사용 2 절 데이터 가공 • 1. Data Exploration – ggplot2 – require나 library는 큰 차이는 없으나 require 의 원래 목적은 함수(function) 안에서 사용하 기 위한 것이다 library가 로딩돼 있지 않으면 경고(warning)를 주도록 돼 있다. – Diamonds 예제 2 절 데이터 가공 • 2. 변수 중요도 – 변수의 중요도는 개발 중인 모델에 준비된 데이터를 기준으로 한 번에 여러 개의 변수를 평가한다. 그리고 변수 중요도를 평가 하는 패키지로 평가하는 방법과 모델링 (classification 등)을 실행 해 평가하는 방법이있다. – 일반적으로 변수 중요도 평가 패키지 사용보다는 모델링에서 실 행된 결과(Decision Tree) 로 의미 있는 것들에 대해서만 변수 중 요도를 파악하기도 한다 – Mass – 변수중요도평가, klaR을 수행하기 위해 필요한 패키지 – klaR , greedy.wilks - 모델링목적에 따른 변수 선택, 변수 stepwise 투입 – Plineplot - 특정 변수가 주어졌을 때 클래스의 분류 에러율, 그래 피컬한 결과 보여주는 기능 – NaiveBayes - 변수 값을 그루핑 해서 categorical variable 로 만 들어 주면 해석이 용이 – Party – 연속형 변수를 일정 크기로 구간화 해 활용 3 절 기초 분석 및 데이터 관리 • 1. 데이터 EDA 가. 데이터 기초 통계 • head(ir is) # 데이터에서 앞 6줄만 보도록 한다‘ • head(iris , 10) #숫자를 넣어주면 원하는 개수만큼 볼 수 있다 • str(iris) #데이 터 의 구조를 파악하도록 한다. • summary(iris) #데이터의 기초통계량을 볼 수 있다 • cor(x.y) #상관계수 • cov(x.y) #공분산 3 절 기초 분석 및 데이터 관리 • 2. 결측값 처리 – 결측값(Missing data) 처리를 위해 시간을 많이 쓰는것은 비효율적이다 가능하면 결측값은 제외 하고 처리하는 게 적합하다. 결측값 자체가 의미 가 있는 경우도 있다. – 결측값을 어떻게 처리하느냐는 전체 작업속도에 많은 영향을 준다- 특히 이 부분을 자동화 하면 업무효율성이 매우 향상된다 R에서 결측값 처리 관련 패키지는 Amelia II , Mice , mistools 등 여 러 가지가 있는데, 여기서는 Amelia 패키지를 사용했다 3 절 기초 분석 및 데이터 관리 • 2. 결측값 처리 • mydata[lcomplete.cases (mydata ),] – 결측값이 포함된 레 코드를 complet e. casesO 함수를 이용해 삭제하는데, 결측값이 넓게 분포된 경우 – 많은 데이터 의 삭제에 따른 문제가 발생할 수 있으니 이 를 염두에 둬야 된다 • • • • Amelia missmap(a.out ) freetrade$tariff<-a.out$imputation[[5]]$tariff missmap (freetrade) 3 절 기초 분석 및 데이터 관리 • 2. 결측값 처리 – 이상값 검색 • 이상값(Outlier) 검색은 분석에서 전처리를 어떻게 할지 를 결정할 때와 부정사용방지 시스템 (Fraud Detection) 에서 규칙을 발견하는데 사용할 수 있다. 이상값은 의도 하지 않게 잘못 입력한 경우(a1), 의도하지 않게 입력됐 으나 분석 목적에 부합되지 않아 제거해야 하는 경우 (a2), 의도되지 않은 현상이지만 분석에 포함해야 하는 경우(a3) 가 있다 의도된 이상값은 대부분 fraud (b1) 인 경우다. 특히 a1 , a2는 bad data라고 할 수 있고 a3 , b1 이 이상값이라고 할 수 있다. • DMwR