AYSTORY
bye0nzn
AYSTORY
[필기] 분석 환경 구축 본문
빅데이터분석기사
[필기] 분석 환경 구축
bye0nzn
2026. 3. 17. 11:17
01. 분석 도구 선정
- R
- 객체지향 언어: 일반 데이터, 함수, 차트 등 모든 데이터가 객체 형태로 관리되어 효율적 조작과 저장방법 제공
- 고속메모리 처리: 모든 객체는 메모리로 로딩되어 고속으로 처리되고 재사용이 가능
- 다양한 자료 구조: 벡터, 배열, 행렬, 데이터프레임, 리스트 등 다양한 자료구조와 연산기능 제공
- 최신패키지 제공: 오픈소스 커뮤니티 CRAN 사이트를 통해 데이터분석에 필요한 최신 알고리즘과 방법론 제공
- 시각화: 데이터 분석과 표현을 위한 다양한 그래픽 도구 제공
- 장점
- 지속적으로 업데이트되는 다양한 패키지
- 그래프, 도표, 시각화 기능에 특화
- 단점
- 대용량 메모리 처리가 어려우며 보안 기능이 취약
- 별도의 모듈 연동이 아니면 웹 브라우저에 사용 불가
- Rstudio Desktop
- 프로그램이 일반 데스크톱 애플리케이션으로 실행
- Rstudio Server
- 원격 리눅스 서버에서 실행되는 동안 웹 브라우저를 사용해 Rstudio에 접근 허용
- 파이썬
- 배우기 쉬운 대화 기능의 인터프리터 언어: 간결하고 쉬운 문법으로 컴파일, 실행, 테스트 용이
- 동적인 데이터 타입 결정 지원: 동적으로 데이터타입을 결정하므로 데이터타입과 무관하게 코드 작성이 가능함.
- 플랫폼 독립적 언어: 운영체제에 독립적으로 컴파일 없이 동작 실행
- 내장 객체 자료형과 자동 메모리 관리: 리스트, 사전, 튜플 등 유연한 내장 객체 자료형을 지원하며 메모리 자동할당 뒤 종료 시 자동 해지하는 메모리 청소 기능 제공
- 장점
- 영어 문장 형식으로 구현된 빠른 개발 속도
- 재사용 가능한 모듈 제공
- C언어 포함한 다른 언어 프로그램들과 연동성 높음.
- 단점
- 컴파일 없이 인터프리터가 한 줄씩 실행하는 방식으로 실행속도 느림.
- 파이썬 아나콘다는 파이썬 기반 데이터 분석에 필요한 오픈소스들의 통합 개발 플랫폼으로 가상환경과 패키지를 관리, 개별 프로젝트 개발 환경을 효율적으로 구성 가능
02. 데이터 분할
- 데이터 분할 정의
- 분석용 데이터로 모형을 구축해 평가 및 검증하기 위해 전체 데이터를 학습/평가/검증용 데이터로 분할
- 학습 데이터: 데이터 학습해 분석 모형 만드는 데에 직접 사용
- 평가 데이터: 추정한 분석 모델이 과대/과소적합인지 모형의 성능을 평가하기 위한 데이터
- 검증용 test 데이터: 최종적으로 일반화된 분석 모형을 검증하는 테스트를 위한 데이터
- 보통 학습과 검증을 위해서는 7:3 또는 8:2의 비유로 진행
- 전체적 훈련 평가, 검증용 테스트 데이터 비율은 일반적으로 4:3:3 또는 5:3:2로 정함.
- 과대적합(Overfitting)과 과소적합(Underfitting)
- 과대적합(과적합)
- 일반적으로 학습 데이터는 실제 데이터의 부분 집합이므로 학습 데이터에 최적화된 분석 모델이 만들어지게 되면 실제 데이터에서 오차 발생확률이 큼.
- 학습 데이터에 대해서는 높은 정확도를 나타내지만 테스트 데이터나 새로운 데이터에 대해서는 예측을 잘 하지 못하는 것을 과대적합이라고 함.
- 과대적합 방지를 위한 것으로 데이터 분할 외에 K-fold 교차검증, 정규화 등의 방법이 있음.
- 과소적합
- 모형이 단순해 데이터 내부 패턴이나 규칙을 잘 학습하지 못하는 것
- 학습 데이터에서도 정확한 결과를 도출하지 못함.
- 일반화
- 학습 데이터를 통해 생성된 모델이 평가 데이터를 통한 성능 평가 외에도 검증용 테스트 데이터를 통해 정확히 예측하는 모델 → 일반화된 모형