[빅데이터분석기사 필기] Ⅲ.빅데이터 모델링 - 01. 분석 모형 설계(2)
키워드🔑
파라미터, 하이퍼파라미터, 모델링, 비즈니스영향도평가,
R, Python, 학습용데이터, 검증용데이터, 평가용 데이터
01. 분석모형 설계
1. 분석 절차 수립
2) 분석 모형 정의
(1) 분석 모형 정의
- 분석 모형 정의
- 분석 모형을 선정하고
- 모형에 적합한 변수를 선택하여
- 모형의 사양(Specification)을 작성한다
- 파라미터(Parameter): 모델 내부/학습된 값
- 하이퍼 파라미터(Hyper-parameter): 모델 외부/결정하는 값
파라미터 | 하이퍼 파라미터 |
---|---|
-모델 내부에서 확인 가능한 변수 -모델이 예측 수행 시 요구하는 값들 -측정되거나, 데이터로부터 학습함 -수작업으로 측정되지않음 -파라미터가 모델의 성능을 결정한다 |
-모델 외적인 요소 -사용자/연구자가 직접 설정/결정하는 값 -파라미터 값 측정을 위해, 알고리즘 구현과정에서 사용 -경험에 의해 결정 가능한 값 -모델의 성능 등을 위해 조절하는 값 |
인공 신경망 - 가중치 SVM-Support Vector 회귀분석-결정계수 |
신경망 학습-학습률 의사결정나무-나무의 깊이 KNN-K의 개수 |
(2) 분석 모형 정의 고려사항
📌 과소적합 / 과대적합 / 모형선택오류 / 변수누락 / 부적합변수생성 / 동시편향
- 모델 너무 간단 → 과소적합(Under-fitting): 학습이 부족하여 실제 성능이 떨어짐
- 모델 너무 복잡 → 과대적합(Over-fitting): 지나친 차수 증가로 실제 데이터에서 성능 떨어짐
- 부족합 모형 현상
- 모형 선택 오류: 적합하지 않은 모형
- 변수 누락: 모델 생성 시 관계있는 변수를 누락
- 부적합 변수 생성: 관련 없는 변수를 포함 → 편항X, 과대적합O
- 동시 편향: 종속변수가 연립방정식의 일부인 경우
(3) 분석 모형 정의 사례
3) 분석 모형 구축 절차
📌 요건 정의 → 모델링 → 검증 및 테스트 → 적용
(1) 요건 정의
📌 분석과제 정의 단계에서 도출된 내용을 구체화
- 분석요건 도출, 수행방안 설계, 요건 확정
- 분석요건 도출: 상세하게 도출, 분석, 명세화 → 적합성 검토
- 업무 배경, 주요이슈, 기대효과, 제약사항을 사전에 정의
- 수행방안 설계: 간단한 탐색적 분석 → 가설 수립 → 분석 가능성 검토, 우선순위 부여
- 설계 산출물: 분석계획서, WBS(Work Breakdown Structure)
- 요건 확정: 이해관계자와 기획안 공유, 확정
(2) 모델링
📌 상세 분석기법을 적용하여 모델 개발
- 모델링 마트 설계 및 구축, 탐색적 분석 및 유의변수 도출, 모델링, 성능평가
- 모델링 마트 설계 및 구축: 분석대상 데이터 구조화 및 적재 → 모델 마트 구축
- 분석대상 데이터는 전처리를 통해 변수가 식별된 상태
- 탐색적 분석 및 유의변수 도출: 변수값 분포와 구간 차이 파악 → 유의미한 변수 파악
- 정보 부족하면 → 신속하게 추가변수 개발
- 모델링: 적합한 기법 선택 or 여러 기법 결합하여 적용
- 통계적 모델링이 아님, 지나친 통계적 가설과 유의성 적용 X
- 통계적 모델링이 아님, 지나친 통계적 가설과 유의성 적용 X
- 경우에 따라서 시뮬레이션 + 최적화기법 결함
- 시뮬레이션: 입력값이 확률분포일 경우 → 처리량과 대기시간 등의 지표로 평가
- 최적화: 입력값이 상숫값일 경우 → 목적 함수 값으로 평가
- 모델링 성능평가: 데이터마이닝에서 성능 판단은 정확도/정밀도/재현율/향상도
- 모형별 학습용 데이터 집합 구축 → 분석 모형 조정 → 모형에 검증용 데이터 적용 → 결과 비교분석(성능평가)
- 정확도(Accuracy): 실제 분류 범주를 정확하게 예측한 비율(True를 True라고 예측 + False를 False라고 예측)
- 정밀도(Percision):True로 예측한 것들 중 실제 True인 비율
- 재현율(Recall): 실제 True인 것들 중 True로 예측한 비율
- 향상도(Lift): (항목집합 X가 주어지지 않았을 때의 항목집합 Y의 확률) 대비 (항목집합 X가 주어졌을 때 항목집합 Y의 확률 증가 비율)
(3) 검증 및 테스트
📌 데이터 분리 → 자체 검증 → 실제 테스트 결과 도출
- 운영 상황에서 실제 테스트 / 비즈니스 영향도 평가
- 분석용 데이터를 학습용 + 테스트용으로 분리 → 분석용 데이터로 자체 검증 → 신규 데이터 적용하여 실제 테스트 결과 도출
- 모든 모델링에서 반드시 검증 및 테스트를 거친다
- 운영상황에서 실제 테스트: 업무 프레세스에 가상 적용 → 테스트 결과 모형에 반영 → 반복
- 비즈니스 영향도 평가: 투자 대비 효과 정량화 기법으로 비즈니스 영향도를 평가함
- 투자 비용 대비 재무 효과(ROI, Return On Investment)가 200~300% 이상임을 증명
- 모델링 성과: 재현율 증가 or 향상도 개선
💡
투자 대비 효과 정량화 기법에는
총소유비용(TCO)/투자대비효과(ROI)/순현재가치(NPV)/내부수익률(IRR)/투자회수기간(PP) 등이 있다
(4) 적용
📌 분석결과를 업무 프로세스에 완전히 통합 및 운영(일, 주, 월 단위)
- 운영 시스템에 적용 및 자동화, 주기적 리모델링
- 운영 시스템에 적용 및 자동화: 실제 운영환경에 적용 → 자동 모니터링 및 조기경보 시스템
- 모델 성과 기록: 실시간 or 배치 스케줄러 실행
- 자동으로 모니터랑하고, 이상 시에만 확인하는 프로세스 수립
- ex) R Studio Shiny
- 주기적 리모델링: 분기/반기/연 단위로 정기적 재평가 → 모형 재조정(재학습 or 변수추가)
2. 분석 환경 구축
1) 분석 도구 선정
(1) R
📌 통계 프로그래밍 S언어 기반 / 오픈소스 프로그래밍 언어
- 기능: 사용자 제작 패키지 직접 추가 가능 (15,000여개) / 강력한 시각화 기능
- 도구: CRAN에서 패키지와 테스트데이터 다운 가능 / R Studio
- 환경: 다양한 OS 지원 / 인터프리터 언어 / 처리 속도 빠른 편
(2) Python
📌 C언어 기반 / 오픈소스 프로그래밍 언어
- 문법: 들여쓰기로 블록 구분
- 기능: 시각화 라이브러리 다양함 / R에 비하면 적은편
- 도구: 대표 IDE 없음
- 환경: 다양한 OS 지원 / PYPI로 사용자 제작 패키지 설치 가능
2) 데이터 분할
(1) 데이터 분할
📌 학습용 / 검증용 / 평가용 데이터로 분할
- 데이터 분할 이유: 과대적합을 예방하여, 2종 오류(잘못된 귀무가설 채택)를 방지하는 것
- 학습용 데이터(Training Data): 알고리즘 학습을 위한 데이터
- 검증용 데이터(Validation Data): 학습된 모델의 정확도를 계산하기 위한 데이터
- 평가용 데이터(Test Data): 학습된 모델의 성능을 평가하기 위한 실제 데이터
- 한 번도 사용하지 않은 데이터로 모형 평가 → 이 결과가 모형 평가지표
- 한 번도 사용하지 않은 데이터로 모형 평가 → 이 결과가 모형 평가지표
- 데이터 분할
- 학습용 + 검증용: 학습과정에서 사용 → 60~80%
- 평가용: 평가과정에서만 사용 → 20~40%
- 검증용 데이터: 학습과정 중간에 검증 실시/ 모형 튜닝에 사용
- 데이터가 충분하지 않다면 검증용은 생략(학습용 + 평가용)
댓글남기기