[Adsp] 3-2. 데이터 마트와 데이터 탐색
(1) 데이터 마트
- 데이터 웨어하우스로부터 특정 사용자가 관심을 갖는 데이터들을 주제별, 부서별로 추출하여 모은 비교적 작은 규모의 데이터 웨어하우스
- 효율적인 데이터 마트 개발을 위해 reshape, sqldf, plyr등 다양한 패키지 사용
(2) 데이터 전처리
- <1> 데이터를 정제하는 과정 - 결측값과 이상값을 처리
- <2> 분석 변수를 처리하는 과정 - 변수 선택, 차원 축소, 파생변수 생성, 변수 변환, 클래스 불균형(불균형 데이터 처리) 등
- 요약변수: 원래의 데이터로부터 기본적인 통계 자료를 추출한 변수
- 파생변수: 특정한 목적을 갖고 조건을 만족하는 변수들을 새롭게 생성한 것
(3) 데이터 마트 개발을 위한 R 패키지
- reshape 패키지
- melt 함수 : 데이터를 틀정 변수를 기준으로 녹여서 나머지 변수에 대한 세분화된 데이터를 만들 수 있음.
- cast 함수 : melt에 의해 녹은 데이터를 요약을 위해 새롭게 가공할 수 있게 도와줌.
- sqldf 패키지
- 표준 SQL 문장을 활용하여 R에서 데이터 프레임을 다루는 것을 가능하게 해주는 패키지
- plyr 패키지
- apply 함수를 기반으로 데이터를 분리하고 다시 결합하는 가장 필수적인 데이터 처리 기능 제공
- 입력되는 데이터 구조와 출력되는 데이터 구조에 따라 여러 가지 함수 지원
- 앞에는 입력, 뒤에는 출력
- ddply인 경우 변수 선택을 위해 따옴표를 사용해야 함.
- summarise -> 기존 데이터 요약, transform -> 기존 데이터 요약 없이 새로운 열 추가
- data.table 패키지
- 특정 칼럼별로 주솟값을 갖는 인덱스를 생성하여 연산 및 검색을 빠르게 수행할 수 있는 데이터 구조
- 기존 데이터 프레임 보다 훨씬 빠름
- readxl -> R에서 엑셀파일을 읽기 위함, party -> 의사결정나무를 위한 ctree 함수 지원
(4) 탐색적 데이터 분석 (EDA)
- 데이터를 이해하고 의미 있는 관계를 찾아내기 위해 데이터의 통곗값과 분포 등을 시각화하고 분석하는 것
- 데이터의 기초 통계량 값을 확인하고 다양한 관점에서 데이터를 바라보며 데이터를 이해하기 위한 목적으로 수행하는 작업
(5-1) 결측값
- 존재하지 않는 데이터, NA로 표현
- 데이터를 수집하는 환경에 따라 null, 공백, -1등 다양하게 표현 가능
- 결측값 처리위한 대표적 패키지 : Amelia DMwR2
(5-2) 결측값 대치 방법
- <1> 단순 대치법 : 결측값이 존재하는 데이터를 삭제하는 방법
- complete.cases 함수 사용
- 하나의 열에 결측값 존재 - FALSE, 존재X -TRUE
- <2> 평균 대치법 : 관측 또는 실험으로 얻은 데이터를 대표할 수 있는 평균 혹은 중앙값으로 결측값을 대치하여 분완전한 자료를 완전한 자료로 만드는 방법
- 비조건부 평균 대치법 : 데이터의 평균값으로 결측값을 대치
- 조건부 평균 대치법 : 실제 값들을 분석하여 회귀분석을 활용하는 대치 방법
- DMwR2 패키지의 central Imputation 함수 이용해 쉽게 대치 가능
- <3> 단순 확률 대치법 : 대표적으로 K-Nearest Neighbor 방법 (KNN)이 있음
- 주변 k개의 데이터 중 가장 많은 데이터로 대치하는 방법
- <3> 다중 대치법 : 여러 번의 대치를 통해 n개의 임의 완전 자료를 만드는 방법
- 결측값 (1)대치, (2) 분석, (3) 결합의 세 단계로 구성
(6-1) 이상값
- 다른 데이터와 비교하였을 때 극단적으로 크거나 극단적으로 작은 값
- 제거하는 것이 일반적이지만 의미를 갖는 경우도 있어 목적이나 종류에 따라 사용자의 적절한 판단이 필요
(6-2) 이상값 판단
- ESD -> 평균으로 부터 표준편차 3이상 떨어진 값들을 이상값으로 인식하는 방법
- 사분위 수
- 가장 작은 하한 사분위 수 Q1
- 가장 큰 사분위수인 상한 사분위수 Q3
- IQR (사분범위) : Q1과 Q3사이
- 이상치 : 사분범위에서 1.5 분위수를 벗어나는 경우
- Q1 - 1.5 IQR 보다 작거나 Q3 + 1.5 IQR 보다 큰 값