프로그래밍

[Big Data] 빅데이터 모델 운영시스템 및 생명 주기

RainIron 2021. 6. 6. 02:58
반응형

※ 운영시스템 적용 방안

1. 분석 알고리즘의 이해

1) 알고리즘: 문제를 해결하는 절차들을 명령어로 정리한 집합

 

2) 기계학습 알고리즘 종류

분류 - Bayesian: 분류하고자 하는 대상의 확률을 측정하여 확률이 큰 확률 쪽으로 판단
- Decision Tree: 의사결정나무, 어떤 항목값에 대해 관측값과 목표값을 연결시켜주는 예측 모델, 예측 모델링 방법 중 하나
- Logistic Regression: 종속변수가 유효한 범주의 개수가 2개인 경우 사용(ex: 성공 or 실패)
- SVM: 패턴 인식, 자료 분석을 위한 지도학습 모델, 분류와 회귀 목적으로 사용
회귀 - Linear Regression: 시간에 따라 변화하는 데이터나 혹은 어떤 영향, 가설적 실험, 인과 관계 모델링 등의 통계적 예측에 사용(ex: 부모와 자녀의 키 사이에 있는 선형적 관계 예측)
- Robust Regression: 데이터가 다른 값들에 비해 지나치게 크거나 작을 때 사용하는 회귀분석
- Neural Network: 규칙 기반 프로그래밍으로 풀기 어려운 컴퓨터 비전, 음성 인식 등에 사용되는 분석
군집 - Hierarchical: 계층적 트리 모델을 사용하여 개별 개체들을 순차적, 계층적으로 유사한 개체 내지 그룹으로 통합하여 군집화
- K-Means: 군집화와 달리 군집수를 사전에 정하지 않아도 수행할 수 있는 기법
연상 - APriori: 데이터들에 대한 발생 빈도를 기반으로 각 데이터 간에 연관 관계를 파악하기 위한 방법

 

구분 주요 내용
업리프트 모델링 - 마케팅 캠페인에서 사용
- 실제로는 추정 모델을 단계별로 적용하는 것을 의미
- A/B테스트와 같이 환경이나조건을 달리한 후, 적당한 그룹을 선택하여 예측성을 높이는 방법
- 마케팅이나 신용 관리, 가격 선택, 고객 이탈 관리 등 다양한 분야에서 사용
회귀 분석 - 예측, 분류에 사용
군집 분석 - 독립변수들만의 분류, 그룹화, 프로파일링에 주로 사용
- 개인화 서비스
앙상블 기법 - 여러 개의 예측 모델을 만든 후 결합하여 하나의 최종 예측 모델을 만들어 사용하는 결합 분석
- 주로 예측력을 높이기 위해 사용
주성분 분석 - 차원을 축소하여 변수를 단순화 시키는데 의미가 있음
- 원인 분석 또는 변수 선정 등 지수 개발에 사용
소셜 네트워크 분석 - 관계망 분석
- 테러리스트 연결고리 분석과 통신사에서 고객 이탈 분석 시 주로 사용
시계열/순열 분석 - 이자율, 예산, 수요 등을 예측하기 위해 사용
- 주로 경제나 행정 예산 책정에 사용
이상치 감지 기법 - 이상치에 대해 분석을 하며 사기 감지나 품질 관리에 사용
텍스트마이닝 - 문자 그대로, 텍스트를 나눠 분석하는 비정형 분석 기법 중 하나
- 시대 경향이나 감성 분석, 군중 심리나 트렌드 파악에 주로 사용

 

2. 분석 모형 개발 절차

1) 분석 모형 개발 절차

요건 정의 - 이탈 문제 및 이탈 요건 정의
- 데이터 리뷰 및 필요 데이터 선정
- 데이터 수집, 정리 및 도식화
데이터 전처리 - 데이터 정제 및 적시성에 민감한 데이터 정의
- 기초적인 통계 분석 실시(특성 파악)
- 종속(목표) 변수 선정 및 표본 추출
모델 개발 및 검증 - 모형 개발 및 비교 검증
  (ROC 곡선 및 컨퓨전 매트릭스 등 검증 방법 이용)
적용 - 운영 시스템 및 현업에 적용
- 시적용 및 실제 사용 후 문제점 발견 시 유지 보수

 

2) 주요 고려 사항

* 정확도(예측력)

* 실행속도

* 모델의 설명력(변수 간 인과관계)

* 간결성

  => 정확도와 나머지 요소들이 상충

  => 분석이 사용되는 업종이나 현업의 특성에 맞춰 적용

 

3. 검증 완료 모델 운영시스템 적용

1) 운영시스템: 계획, 관리, 운영을 위한 전반적인 시스템

- 예: 물류 운영 시스템, 조직 관리/운영 시스템, 고객 관리 시스템, 전력계통 운영시스템

 

* 적용 방식

  - 경영이나 운영의 측면에서, 필요에 의해 유지/보수

  - 프로젝트나 캠페인 시행 시 업무에 필요한 데이터를 추출하는 방식

  - 분석 결과를 보기 위해 모형을 구축하여 시스템에 입력하는 방식

 

* 관리

  - 자동화

  - 절차의 합리화

  - 비즈니스 프로세스 재설계

  - 패러다임 변화

 

2) 모델 적용

* 시스템 개발 방법

  - 시스템 생명 주기: 소프트웨어나 시스템의 개념 형성에서부터 사용 정지에 이르기까지 발전상의 변화의 전 과정

  - 프로토타이핑: 소프트웨어 시스템이나 컴퓨터 하드웨어 시스템을 본격적으로 생산하기 전에 그 타당성의 검증이나 성능 평가를 위해 미리 시험 삼아 만들어 보는 모형제작 방법, 개발자들과 사용자들의 의사소통상의 효과 증진

  - 엔드-유저 개발(최초 사용자 개발): 구축된 시스템을 사용해서 실제로 처리를 실시하는 사용자, 최초 사용자가 문제점을 인식하고 보완하여 개발하는 방법

 

3) 빅데이터 분석 모델을 위한 모델링 언어

* UML

  - Unified Modeling Language

  - 요구 분석, 시스템 설계, 시스템 구현 등의 시스템 개발 과정에서, 개발자 간의 의사소통을 원활하게 이루어지게 하기 위하여 표준화한 모델링 언어

  - 객체 지향 기술을 사용해 시스템을 설계할 때에 이용하는 그림과 그 목적 기법을 정한 것

  - 의사 소통의 불일치 해소

  - 논리적인 표기법을 가진 언어

  - 생략되거나 불일치되는 모델링 구조에 대한 지적 용이

  - 개발하려는 시스템 규모에 상관없이 사용 가능

 

* SQL

  - Structured Query Language, 구조화 질의 언어

  - 데이터베이스를 사용할 때, 데이터베이스에 접근할 수 있는 하부 언어

  - 데이터 정의 기능 및 조작 기능

  - 장치 독립적이고 액세스 경로에 대해서 어떠한 참조도 없음

  - 레코드의 집합인 테이블을 단위로 연산을 수행

 


※ 빅데이터 모델 생명주기

1. 생명주기&시스템 생명주기

* 생명주기

  - 하나의 기술이나 제품이 세상에 발표된 때부터 더 이상 사용하지 않게 되거나 시장에 나타나지 않을 때까지의 기간

  - 수명 또는 생존 기간과 거의 같은 뜻으로 사용

 

* 시스템 생명주기: 소프트웨어나 시스템의 개념 형성에서부터 사용 정지에 이르기까지 발전상의 변화의 전 과정

 

2. 정보시스템 생명주기

1) 정의: 시스템 및 인프라의 개발/획득, 실험, 실행, 유지 및 폐기를 위한 업무가 조직의 목표에 부합하는 것을 목적으로 하는 정보시트템 발전상 변화의 전 과정

 

2) 5단계

  시스템 개발 생명주기 산출물
1단계 시스템 조사 실현가능성 조사
2단계 시스템 분석 기능 요구사항
3단계 시스템 설계 시스템 명세서
4단계 시스템 구현 작동하는 시스템
5단계 시스템 유지보수 개선된 시스템

 

3) 문제점

- 완료 단계에서 품질 문제: 속성 응용 개발 모델과 프로토타이핑 모델에서 사용자 참여가 필요, 다른 개발 모델에서는 사용자 참여가 미흡하여 완료단계에서 품질 문제가 발생할 수 있음

- 비효율적 문제: 각 진행 단계별로 진행 내용에 대한 점검을 문서 위주로 한다면 비효율적 문제 발생

- 전체 생명주기의 진행 지연

- 부적합

 

4) 모형의 종류

종류 내용 개발 순서
폭포수 모형 - 고전적 생명주기 패러다임
- 시스템 개발에 단계적, 체계적, 순차적 접근 방법 활용
타당성 검토 -> 계획 -> 요구분석 -> 설계 -> 구현 -> 시험 -> 유지보수
프로토타이핑 모형 - 시스템의 일부 혹은 시스템 모델을 신속하게 개발하는 과정
- 프로젝트 실현 가능성의 확인이 어려운 경우에 사용
요구 수집 -> 빠른 설계 -> 프로토타입 구축 -> 고객 평가 -> 프로토타입 조정 -> 구현 -> 요구 수집 ...(반복)
나선형 모형 - 폭포수 모형 + 프로토타입 모형 + 위험 분석
- 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발
- 프로토 타입을 지속적으로 발전시켜 최종 소프트웨어 개발하는 것
- 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 함
계획 및 정의 -> 위험 분석 -> 공학적 개발 -> 고객 평가 -> 계획 및 정의...(반복)
4GT 모형 - 4th Generation Techniques, 4세대 기법
- 설계 단계를 축소하고, 요구 분석 단계에서 코딩 구현 단계로 전환할 수 있는 비절차적 모형
- 사용자와 개발자가 쉽게 접근하고 사용할 수 있는 4세대 언어를 이용하여 개발자가 조사한 요구사항 명세서로부터 원시 코드를 자동으로 생성할 수 있게 해주는 모형
요구사항 수집 -> 설계 전략 -> 4세대 언어를 이용한 구현(R, Python) -> 제품화

5) 모델의 선정 기준

- 수행해야 하는 프로젝트의 규모와 성격에 따라 개발 주기 선정

- 개발 생명주기 기반의 개발방법론, 관리방법론 도입

- 최대한의 생산성 확보 여부 고려

- 불필요한 작업 항목을 최소화할 수 있는 기준 도입

 

3. 분석 모델 시스템 생명 주기

1) 데이터 모델링

* 정보시스템을 구축하기 위해 해당 업무에 어떤 데이터가 존재하는지, 업무가 필요로 하는 정보는 무엇인지 분석하는 방법

* 해당 업무 혹은 기업에 대한 종합적 이해를 바탕으로, 데이터에 존재하는 규칙에 대해 True or False로 판별할 수 있는 사실을 데이터에 접근하는 방법

* 기능: 가시화, 명세화, 구조화된 틀(프레임) 제공, 문서화

* 3단계

개념적 데이터 모델링 - 기획자가 수행
- 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링
- 사용자의 데이터 요구사항을 찾고 분석하는 것에서 시작
- 전 조직에 걸쳐 개념적 데이터 모델링이 이루어지는 경우, 전사적 데이터 모델이라고 부름
논리적 데이터 모델링 - 정규화 과정을 수행
- 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현
- 시스템 구축을 위해 가장 먼저 시작할 기초적인 업무 조사를 하는 초기 단계부터 인간이 결정해야 할 대부분의 사항을 모두 정의하는 시스템 설계의 전 과정을 지원(ERD)
물리적 데이터 모델링 - 실제로 DB에 이식할 수 있도록 성능, 저장 등 물리적 성격을 고려

 

2) 프로젝트 단계와 모델링 수행

계획 단계 개념적 데이터 모델링
분석 단계 논리적 데이터 모델링
설계 단계 물리적 데이터 모델링

* 모형의 생명주기 작동 과정

  계획 - 분석 - 설계 - 시험 - 운용 - 보수

반응형