※ 운영시스템 적용 방안
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) 프로젝트 단계와 모델링 수행
계획 단계 | 개념적 데이터 모델링 |
분석 단계 | 논리적 데이터 모델링 |
설계 단계 | 물리적 데이터 모델링 |
* 모형의 생명주기 작동 과정
계획 - 분석 - 설계 - 시험 - 운용 - 보수
'프로그래밍' 카테고리의 다른 글
[Python] Text Data Analysis(2) (0) | 2021.06.06 |
---|---|
[Python] Text Data Analysis(1) (0) | 2021.06.06 |
[R] 내부 평가를 이용한 분류 모델 성능 평가 (0) | 2021.06.05 |
[R] ROC 곡선 기법을 통한 분류 모델 성능 평가 (0) | 2021.06.05 |
[R] Confusion Matrix를 통한 분류 모델 성능 평가 (0) | 2021.06.05 |