반응형
분석 도구 선정
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)
- 모델이 단순하여 데이터 내부의 패턴 또는 규칙을 잘 학습하지 못하는 것
- 학습 데이터에서도 정확한 결과를 도출하지 못함
일반화
- 학습 데이터를 통해 생성된 모델이 평가 데이터를 통한 성능 평가 외에도 검증용 테스트 데이터를 통해 정확하게 예측하는 모델
참고
반응형