[ADsP 합격 노트] 3-1. 데이터 분석 개요, R프로그래밍 기초

wandajeong·2022년 12월 8일
0

ADsP

목록 보기
6/11

1. 데이터 분석 개요

데이터 분석 기법의 이해

  • 데이터 처리
    • 신규 시스템이나 DW에 포함되지 못한 자료의 경우, 기존 운영시스템(Legacy)이나 스테이징 영역과 ODS(Operational Data Store)에서 데이터를 가져와서 DW에서 가져온 내용과 결합해서 활용 (가급적 클린징 영역인 ODS에서 전처리를 해서 DW나 DM과 결합)
  • 시각화
  • 공간분석(GIS): 지도 위에 공간과 관계된 속성들을 다양한 표현으로 시각화
  • 탐색적 자료 분석(EDA) : 특이한 점이나 의미 있는 사실을 도출하고 분석의 최종 목적을 달성해가는 과정
    • EDA의 4가지 주제 : 저항성의 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성
  • 통계분석
    • 기술통계 : 표본이 가지고 있는 정보를 쉽게 파악할 수 있도록 표현
    • 추측(추론)통계 : 표본의 표본통계량으로부터 모집단의 특성인 모수에 관해 통계적으로 추론하는 절차
  • 데이터 마이닝 : 대용량의 자료로부터 정보를 요약하고 자료에 존재하는 관계, 패턴, 규칙 등을 탐색하고 이를 모형화함으로써 이전에 알려지지 않은 유용한 지식을 추출하는 분석 방법
    • 방법론
      • 데이터베이스에서의 지식 탐색
      • 기계학습
      • 패턴인식(장바구니 분석, 연관 규칙 등)
    • 성능평가 기준: 정확도, 정밀도, 디텍트레이트, 리프트
    • 반드시 다양한 옵션을 줘서 모델링을 수행하지 않고, 충분한 시간이 있으면 다양한 옵션을 줘서 시도하는 것이고 일정 성과가 나오면 해석과 활용 단계로 진행할 수 있도록 의사결정 해야함

2. R 프로그래밍 기초

R소개

  • 객체 지향 언어, 함수형 언어
  • 래틀(Rattel)은 GUI가 패키지와 긴밀하게 결합돼 있어 정해진 기능만 사용 가능해 업그레이드가 제대로 되지 않으면 통합성에 문제가 발생할 수 있음
  • 배치모드 : 사용자와 인터랙션이 필요하지 않는 방식으로 매일 돌아가야 하는 시스템에서 프로세스를 자동화할 때 유용

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

  • 벡터(Vector) : 벡터는 하나의 스칼라 값 또는 하나 이상의 스칼라 원소들을 갖는 단순한 형태의 집합으로 한 벡터의 모든 원소는 같은 자료형(숫자 또는 문자)로 구성된다. 벡터는 행렬 구조로 나타나지 않는다.
  • 리스트 : 타입이 같지 않은 객체들을 하나의 객체로 묶어놓을 수 있는 자료구조
  • 행렬(Maxtrix) : 차원을 가진 벡터
  • 배열(Arrays) : 행렬에 3차원 또는 n차원까지 확장된 형태
  • 데이터프레임 : 표 형태의 데이터 구조(2차원 목록 데이터 구조)이며, 각 열은 서로 다른 데이터 형식을 가질 수 있다
  • R에서의 자료형태(mode)
    객체예시모드(mode)
    요인factor(c(”A”, “B”, “C”))수치형
    데이터 프레임data.frame(x=1:3, y=c(”Tom”, “Yoon”, “Kim”))리스트
  • 재활용 규칙 : 길이가 서로 다른 두 벡터에 대해 연산을 할 때, R은 짧은 벡터의 처음으로 돌아가 연산이 끝날때까지 원소들을 재활용
    *경고메세지와 함께 결과가 출력된다.

예제들

  • 예제 코드
    ##1 
    z = c(1:3, NA)
    z==NA 
    [1] NA, NA, NA, NA  # NA는 비교 자체가 불가능? 
    
    ##2 
    > "+"(2,3)
    [1] 5 
    
    ##3 
    > s <-c("Monday", "Tuesday", "Wednesday")
    > substr(s, 1, 2)
    [1] "Mo" "Tu" "We"
    
    ##4
    > x<-c(1,2,3,NA)
    > mean(x)
    [1] NA
    
    ##5. A반 학생 데이터와 B반 학생 데이터를 class라는 변수를 기준으로 합치기 
    > merge(A, B, by="class")
    
    ##6. 경영학과 학생들의 데이터만 조회 
    > subset(test, subset=(학과=="경영학과"))
  • as.vector(행렬) : 열방향으로 1열부터 차례로 원소를 나열하는 벡터가 생성된다
  • 숫자형 행렬에서 원소 중 하나를 문자형으로 변경하게 되면 해당 행렬의 모든 원소가 문자형으로 변경됨
  • install.package(”패키지명”) → library(패키지명)
  • 표준편차 : sd(O), stdev(X)
profile
ML/DL swimmer

0개의 댓글