빅데이터 모델링 - 분석 모델 설계 - 분석 환경 구축

반응형

 

분석 도구 선정

R

  • 통계분석과 자료의 시각화를 위해 개발한 오픈소스 분석용 프로그래밍 언어
  • 객체지향 언어
    • 모든 데이터가 객체 형태로 관리되어 효율적인 조작과 저장방법 제공
      • 일반 데이터, 함수, 차트 등 
  • 고속메모리 처리
    • 모든 객체는 메모리로 로딩되어 고속으로 처리되고 재사용 가능
  • 다양한 자료 구조
    • 벡터, 배열, 행렬, 데이터프레임, 리스트 등 다양한 자료구조와 연산기능 제공
  • 최신 패키지 제공
    • 오픈소스 커뮤니티(www.r-project.org) CRAN 사이트를 통해 데이터 분석에 필요한 최신 알고리즘과 방법론 제공
  • 시각화
    • 데이터 분석과 표현을 위한 다양항 그래픽 도구 제공
  • 장점
    • 지속적 업데이트 되는 다양한 패키지
    • 그래픽 및 도표, 시각화 기능에 특화
  • 단점
    • 대용량 메모리 처리가 어려우며 보안 기능 취약
    • 별도의 모듈 연동이 아니면 웹 브라우저에서 사용 불가
  • R Studio
    • R을 위한 오픈소스 통합개발환경(IDE)
    • Rstudio Desktop : 프로그램이 일반 데스크톱 애플리케이션으로 실행
    • Rstudio Server : 원격 리눅스 서버에서 실행되는 동안 웹 브라우저를 사용하여 Rstudio에 접근

파이썬(Python)

  • 오픈소스 분석용 객체지향적 대화형 프로그래밍 언어
  • 인터프리터 언어
    • 간결하고 쉬운 문법으로 컴파일, 실행, 테스트 용이
  • 동적인 데이터타입 결정 지원
    • 동적으로 데이터타입 결정, 데이터타입에 무관하게 코드 작성 가능
  • 플랫폼 독립적 언어
    • 운영체제에 독립적으로 컴파일 없이 동작 실행
  • 내장 객체 자료형과 자동 메모리 관리
    • 유연한 내장 객체 자료형 지원 (리스트, 사전, 튜플 등)
    • 메모리 자동할당 뒤 종료 시 자동 해지하는 메모리 청소(가비지 컬렉션) 기능 제공
  • 장점
    • 영어 문장 형식으로 구현된 빠른 개발 속도
    • 재사용 가능한 모듈 제공
    • C언어를 포함한 다른 언어 프로그램들과 연동성 높음
  • 단점
    • 컴파일 없이 인터프리터가 한 줄씩 실행하는 방식으로 실행속도 느림
  • 아나콘다
    • 파이썬 기반의 데이터 분석에 필요한 오픈소스들의 통합 개발 플랫폼
    • 가상환경과 패키지를 관리, 개별 프로젝트 개발 환경을 효율적으로 구성

데이터 분할

데이터 분할 정의

  • 분석용 데이터로 모델을 구축하여 평가 및 검증하기 위해 전체 데이터를 분할
    • 학습 데이터, 평가 데이터, 검증용 데이터
  • 학습(training) 데이터
    • 데이터를 학습하여 분석 모델을 만드는 데 직접 사용되는 데이터
  • 평가(validation) 데이터
    • 추정한 분석 모델이 과대/과소접합인지 모델의 성능을 평가하기 위한 데이터
  • 검증용 테스트(test) 데이터
    • 최종적으로 일반화된 분석 모델을 검증하는 테스트를 위한 데이터
  • 보통 학습과 검증을 위해 7:3 또는 8:2 비율로 진행
  • 검증용 테스트 데이터 비율은 일반적으로 4:3:3 또는 5:3:2로 진행

과대적합(Overfitting)

  • 학습(훈련) 데이터에 대해서는 높은 정확도를 나타내지만 테스트 데이터나 새로운 데이터에 대해서는 예측을 잘 하지 못하는 것
  • 데이터 분할 외에 K-fold 교차검증, 정규화 등의 방법을 사용하여 과대적합 방지

과소적합(Underfitting)

  • 모델이 단순하여 데이터 내부의 패턴 또는 규칙을 잘 학습하지 못하는 것
  • 학습 데이터에서도 정확한 결과를 도출하지 못함

일반화

  • 학습 데이터를 통해 생성된 모델이 평가 데이터를 통한 성능 평가 외에도 검증용 테스트 데이터를 통해 정확하게 예측하는 모델

참고

반응형