신우 연대기

[ADSP정리] 3과목. 데이터 분석 본문

자격증

[ADSP정리] 3과목. 데이터 분석

sinwoo 2022. 8. 6. 23:30

1장. 데이터분석 개요

  1. 데이터 처리
  2. 시각화(시각화 그래프)
  3. 공간분석(GIS)
    • 공간적 차원과 관련된 속성들을 시각화하는 분석
    • 지도 위에 관련 속성들을 생성하고 크기, 모양, 선 굵기 등으로 구분
  4. 탐색적 자료 분석(EDA)
    • 다양한 차원과 값을 조합해가며 특이한 점이나 의미 있는 사실을 도출하고 분석하는 과정
    • 데이터의 특징과 내재하는 구조적 관계를 알아내기 위한 기법들의 통칭
    • EDA의 4가지 주제 : 저항성의 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성
  5. 통계분석
    1. 통계
      • 알아보기 쉽게 일정한 체계에 따라 숫자와 표, 그림의 형태로 나타내는 것
    2. 기술통계
      • 표본이 가지고 있는 정보를 쉽게 파악할 수 있도록 데이터를 정리
    3. 추측(추론)통계
      • 표본의 표본통계량으로부터 모집단의 특성인 모수에 관해 통계적으로 추론
  6. 데이터 마이닝
    • 대용량의 자료로부터 정보를 요약하고 미래에 대한 예측을 하기 위한 관계, 패턴, 규칙 등을 탐색하고 이를 모형화
    • 기계학습 : 인공신경망, 의사결정나무, 클러스터링, 베이지안 분류, SVM 등
    • 패턴인식 : 장바구니분석, 연관규칙 등 

 

2장. R프로그래밍 기초

R소개

 

1. 데이터 분석 도구의 비교

구분 SAS SPSS 오픈소스 R 
프로그램 비용 유료, 고가 유료, 고가 오픈소스 (무료)
설치용량 대용량 대용량 모듈화로 간단
다양한 모듈 지원 및 비용 별도구매 별도구매 오픈소스
최근 알고리즘 및 기술반영 느림 다소느림 매우빠름
학습자료 입수의 편의성 유료 도서 위주 유료 도서 위주 공개 논문 및 자료 많음
질의를 위한 공개 커뮤니티 NA NA 매우 활발

2. R의 특징

1) 오픈소스 : 무료, 수시 업데이트, 사용자 커뮤니티 활성화

2) 그래픽 및 성능 : 상용 프로그램과 대등하거나 월등

3) 데이터 저장 방식 : 각 세션 사이마다 시스템에 데이터셋을 저장, 매번 데이터를 로딩할 필요가 없음

4) 다양한 운영체제 지원 : 윈도우, 맥, 리눅스

5) 표준 플랫폼 : S통계 언어 기반 구현, 통계전문가들의 표준 플랫폼

6) 객체지향언어, 함수형 언어

 

R 기초

 

1. 데이터 유형

유형 모드
숫자 (Number) Integer, Double
논리값 (Logical) True(T), False(F)
문자 (Character) "A", "abc"

 

2. R 코드(기초)

기능 코드 비고
패키지 설치 install.package("AID") AID 패키지 설치
파일 목록 보기 list.files()  
출력 print() 한번에 하나의 객체를 출력
ex) print(a)
cat() 여러 항목을 묶어서 연결된 출력
ex) cat("a","b","c")
변수에 값 할당하기
(대입 연산자)
<- , <<-, =, ->  
변수 목록 보기 ls(), ls, str()  
변수 삭제하기 rm() rm(list=ls()):
모든 변수를 삭제할 때 사용
벡터 생성하기 c() 백터의 원소 중 하나라도 문자가 있으면 모든 원소의 모드는 문자 형태로 변환됨
R함수 정의하기 function(매개변수 1, 매개변수2,,, 매개변수n) {expr1, expr2,,,, expr m}  
데이터 할당 a <-1 , a=1  
결합 x <- c(1,2,3,4)  
수열 1:5
seq(from=0, to=20, by=2)
 
반복 rep(1, time=5)
rep(1:4, each=2)
1,1,1,1,1
1,1,2,2,3,3,4,4
문자열 추출 substr("Bigdata", 1,3) substr(문자열, 시작점, 끝점)
논리값 a<- True, a<-T T도 True로 인식
논리연산자 ==, !=, <, <=, >, >=  
벡터 원소 선택 V[n] : 선택하고자 하는 자리수
V[-n] : 제외하고자 하는 자리수
n은 원소의 자리수, V는 벡터의 이름

 

 

3. 벡터의 기초통계

기능 코드
평균 mean(변수)
합계 sum(변수)
중앙값 median(변수)
로그 log(변수)
표준편차 sd(변수)
분산 var(변수)
공분산 cov(변수1, 변수2)
상관계수 cor(변수1, 변수2)
변수의 길이 값 length(변수)

 

데이터 구조와 데이터 프레임

 

1. 벡터(Vector)

 

1) 벡터들은 동질적

- 한 벡터의 모든 원소는 같은 자료형 또는 같은 모드(mode)를 가짐

 

2) 벡터는 위치로 인덱스

- V[5]는 V벡터의 5번째 원소

 

3) 벡터는 인덱스를 통해 여러 개의 원소로 구성된 하위 벡터를 반환 할 수 있음

- V[c(2,5)]는 V벡터의 2번째, 5번째 원소로 구성된 하위 벡터

 

4) 벡터 원소들은 이름을 가질 수 없음

 

2. 리스트(List)

 

1) 리스트는 이질적

- 여러 자료형의 원소들이 포함 가능

 

2) 리스트는 위치로 인덱스

- L[[2]]는 리스트의 2번째 원소

 

3) 리스트에서 하위 리스트를 추출할 수 있음

- L[c(2,5)]는 L리스트의 2번째, 5번째 원소로 이루어진 하위 리스트

 

4) 리스트의 원소들은 이름을 가질 수 있음

 

3. R에서의 자료형태(mode)

기능 코드 모드(mode)
숫자 3.1415 수치형 (numeric)
숫자 벡터 c(2,3,4,5.5) 수치형 (numeric)
문자열 "Lee" 문자형(character)
문자열 벡터 c("Kim","Lee","Park") 문자형(character)
요인 factor(c("A","B","C")) 수치형 (numeric)
리스트 list("Kim","Lee","Park") 리스트 (list)
데이터 프레임 data.frame(x=1:3,y=c("Kim","Lee","Park")) 리스트 (list)
함수 print 함수 (function)

 

4. 데이터 프레임(data frames)

 

- 데이터 구조가 행, 열로 이루어진 리스트

- 엑셀의 시트와 같은 역활

- 각각의 열에 대해 문자형, 수치형인지 자동 구분

- 메모리상에서 구동

- 각 변수(열)마다 다른 자료형태로 구분

 

5. 벡터, 리스트, 행렬 다루기

 

- 행렬 : R에서는 차원을 가진 벡터로 인식

- 재활용 규칙 (Recycling Rule) : 길이가 서로 다른 두 벡터에 대해 연산을 할 때, 짧은 벡터는 처음으로 되돌아가 연산이 끝날때까지 재활용

 

 

☆ 데이터 프레임 주요 코드

 

기능 코드
데이터셋 행결합 rbind(dfrm1, dfrm2)
데이터셋 열결합 cbind(dfrm1, dfrm2)
데이터 병합 merge(df1, df2, by="df1과 df2의 공통 열 이름")
행, 열 선택 subset(dfm, select=열이름, subset=(조건))
이름으로 열 제거 subset(dfm, select=열이름)
NA 있는 행 삭제 NA_cleaning <- na.omit(dfm)
두 개의 데이터 프레임을
동일한 변수 기준으로 합치기
merge(dfm1, dfm2, by="name")
Comments