[데이터분석 준전문가, ADsP] 자격증 시험 요약자료로
3과목. 데이터 분석의 "제1장. R 기초와 데이터 마트" 입니다.
출제 빈도가 높은 내용 위주로 요약했으니, 이 자료로 공부하시는 모든 분들 합격하시길 바랍니다!
[목차]
3과목. 데이터 분석
제1장. R 기초와 데이터 마트
0. 데이터 분석 기법의 이해
1. R 기초
2. 데이터 마트
3. 결측값 처리와 이상값 검색
0. 데이터 분석 기법의 이해
1) 데이터 처리
- 데이터웨어하우스(DW)와 데이터마트(DM)로 분석 데이터를 가져옴
- 이 외 '기존 운영시스템', '스테이징 영역', 'ODS'에서도 가져와 결합함
2) 탐색적 자료 분석 (EDA)
- 구조적 관계를 알아내기 위한 기법들의 통칭
- '저항성의 강조', '잔차 계산', '자료변수의 재표현', '그래프를 통한 현시성'
3) 통계분석
- 기술통계: 표본 정보 파악을 위해 데이터를 요약한 숫자/그래프 형태로 표현하는 절차
- 추론통계: 표본통계량으로부터 모집단 특성인 모수에 대해 통계적으로 추론하는 절차
4) 데이터마이닝
- 대용량 자료로부터 관계, 패턴, 규칙 등을 탐색하고 유용한 지식을 추출하는 분석 방법
- 기계학습: 인공신경망, 의사결정나무, 클러스터링, 베이지안 분류, SVM 등
- 패턴인식: 장바구니분석, 연관규칙 등
1. R 기초
1) R의 특징
- 오픈소스
- 그래픽 및 성능 월등
- 사용자들과 예제 공유, 수시로 업데이트
- 모든 운영체제 사용 가능
- 시스템에 데이터셋 저장 (명령어 스토리 저장 가능)
- 표준 플랫폼 (S 언어 기반)
- 객체지향 언어 (결과값을 객체에 저장하여 필요 부분 호출 가능)
- 함수형 언어 (단축 코드, 빠른 속도, 병렬 프로그래밍)
2) R 기초 코드
패키지 설치 | 패키지 도움말 | 출력 |
install.packages ("패키지명") |
library(help=패키지명) | print(), cat() |
파일 목록 보기 | 테이블 데이터 읽기 | csv 데이터 저장 |
list.files() | read.table("파일명", sep="구분자") | write.csv(변수명, "파일명") |
데이터 불러오기 | 데이터셋 요약 | 데이터셋 조회 |
data(데이터셋) | summary(데이터셋) | head(데이터셋) |
데이터 할당 | 결합 | 수열 | 반복 | 문자 붙이기 |
a<-1, a=1 | a<-c(1,2,3) | seq(form=0, to=20, by=2) | rep(1:4, each=2) | paste("a","b", sep="-") |
비교 | 논리 부정 | and | or | 나눗셈 나머지 |
== | ! | & | | | %% |
평균 | 분산 | 공분산 | 상관계수 | 변수 길이 |
mean(a) | sd(a) | cov(a,b) | cor(a,b) | length(a) |
3) 데이터 구조
벡터 (Vector) | 리스트 (Lists) |
벡터는 동질적임 (같은 자료형) 벡터는 위치로 인덱스 됨, V[2] 인덱스로 하위 벡터 반환 가능 벡터 원소들은 이름을 가질 수 있음 |
리스트는 이질적임 (여러 자료형) 리스트는 위치로 인덱스 됨, L[[2]] 하위 리스트 추출 가능 리스트 원소들은 이름을 가질 수 있음 |
단일값 (Scalars) | 행렬 (Matrix) | 배열 (Arrays) | 요인 (Factors) |
원소가 하나인 벡터 | 차원을 가진 벡터 | 행렬에 n차원까지 확장 |
범주형 변수, 집단분류 등 |
행렬 → 벡터 | 벡터 → 리스트 | 벡터 → 행렬 | 벡터 → 데이터프레임 |
as.vector(mat) | as.list(vec) | as.matrix(vec) | as.data.frame(vec) |
4) 데이터 프레임
- 데이터 구조가 행과 열로 구성되지만, 행렬보단 리스트에 가까움
- 각 열은 서로 다른 데이터 형식을 가질 수 있음
- 원소는 벡터 or 요인이며, 이는 데이터 프레임의 열에 해당, 열은 이름이 있어야 함
- 벡터와 요인은 동일한 길이임
# 재활용 규칙: 길이가 다른 두 벡터 연산 시, 짧은 벡터는 연산 끝날때까지 원소들을 재활용함
데이터 프레임 | 행결합 | 열결합 |
data.frame(벡터,벡터) | rbind(a1, a2) | cbind(a1, a2) |
데이터 프레임 조회 | 데이터셋 조회 | 데이터 병합 |
a[a$sex="male"] | subset(a, select=age, subset=age>30) | merge(a1,a2, by="공통 열 이름") |
2. 데이터 마트
1) 데이터 변경 및 요약
(1) 데이터 마트
- 데이터웨어하우스와 사용사 사이의 중간층에 위치
(2) 요약/파생변수
요약변수 | 파생변수 |
분석에 맞게 수집된 변수 재활용성이 높음, 연속형 변수 구간화 필요 예) 구매 금액, 횟수 등 |
사용자가 의미 부여한 변수 주관적이라 대표성/타당성 필요 예) 고객행동 예측, 세분화 등 |
(3) reshape 활용
- melt(): 원데이터 형태로 만드는 함수
- cast(): 요약 형태로 만드는 함수
(4) 데이터 테이블
- data.table(): 데이터 핸들링 패키지, 탐색/연산/병합에 유용
- data.frame()보다 빠른 속도, 빠른 그루핑, ordering, 짧은 문장 지원에서 유용
2) 데이터 가공
- head(): 시작 6개만 조회
- tail(): 마지막 6개만 조회
- summary(): 데이터 요약 조회(최댓/최솟값, 평균, 사분위수, 개수 등)
3. 결측값 처리와 이상값 검색
1) 결측값 처리
(1) 결측값 처리 방법
- completes analysis: 결측값 데이터 삭제 (단점은 데이터 수 부족)
- 평균대치법: 평균으로 대치
- 단순확률 대치법: Hot-deck 방법, nearest neighbor 방법 등
- 다중대치법: 단순대치법을 m번 대치하여 m개의 가상적 완전 자료를 만드는 방법
(2) R 결측값 처리
complete.cases() | is.na() |
결측값 O → FALSE 결측값 X → TRUE |
결측값 O → TRUE 결측값 X → FALSE |
2) 이상값 검색
(1) 이상값 인식 방법
- ESD: 평균으로부터 3 표준편차 떨어진 값
- 기하평균 -2.5X표준편차 < data < 기하평균 + 2.5X표준편차
- 사분위수: Q1 - 1.5XIQR < data < Q3 + 1.5XIQR 밖에 있는 데이터
*IQR = Q3-Q1
(2) 이상값 절단 방법
- 기하평균(geo_mean)으로 제거
- 상/하단 10% 제거
→ 이상값 조정 방법보다 데이터 손실율↓, 설명력↑
(3) 이상값 조정 방법
- 상/하한값 벗어나는 값을 상/하한값으로 바꾸어 활용하는 방법
위 내용은 [ADsP 데이터분석 준전문가, (주)데이터에듀]를 참고하여 요약한 자료입니다.
'데이터분석 준전문가(ADsP)' 카테고리의 다른 글
[ADsP] 3-2. 통계분석(2) (0) | 2023.05.24 |
---|---|
[ADsP] 3-2. 통계분석(1) (0) | 2023.05.23 |
[ADsP] 2-2. 분석 마스터 플랜 (0) | 2023.05.21 |
[ADsP] 2-1. 데이터 분석 기획의 이해 (0) | 2023.05.17 |
[ADsP] 1-3. 가치 창조를 위한 데이터 사이언스와 전략 인사이트 (0) | 2023.05.16 |