데이터 마이닝
: 통계학자와 데이터베이스 학자들이 사용하는 용어
: 거대한 양의 데이터 속에서 유용한 정보를 찾아내는 과정
: 숨겨진 규칙,패턴 등을 찾아내어 의사결정에 활용하는 것이 목적
통계분석과 데이터 마이닝의 차이
: 통계분석 > 가설,가정에 따른 분석 및 검증
: 데이터마이닝 > 가설,검정을 하지 않고 다양한 수리 알고리즘을 이용해 데이터로부터 의미있는 정보를 찾아내는 방법
대표적인 데이터 마이닝 사례
① 마케팅 및 고객 서비스
: 고객 행동을 분석하고 예측하여 개별 고객에게 맞춤형 마케팅 전략을 구축,상품추천,이탈예측등
② 금융분야
: 부정 거래 탐지, 고객 신용 위험 평가
③ 의료 분야
: 질병 진단, 환자 특성 분석
④ 생산 및 공급망 관리
: 생산 프로세스를 최적화하고 불량률을 줄임
⑤ 사회 네트워크 및 웹 분석
: 소셜 미디어 데이터를 통한 사용자 행동 분석, 추천 시스템
⑥ 환경 모니터링
: 대기 오염, 기후 변화
데이터 마이닝의 종류
데이터 마이닝의 분석 방법
방법에 따른 분류
① 지도학습
: 컴퓨터에게 답안지(라벨,레이블)를 붙여서 같이 줌
: 손글씨 이미지를 입력 데이터로 줄 때 어떤 숫자인지에 대한 정답 정보가 필요한 것
: 학습이 끝나면 새로운 사진을 입력받았을 때 어떤 숫자인지 판별
분류(범주형) | 의사결정나무(분류트리모형) 인공신경망(ANN) 로지스틱 회귀분석 앙상블 모형 SVM 나이브 베이즈 분류 k-NN |
회귀(연속형) | 의사결정나부(회귀트리모형) 인공신경망(ANN) 선형회귀분석 SVR 릿지 라쏘 |
② 비지도학습
: 컴퓨터에게 답안지를 붙이지 않고 줌
: 정확한 정답은 정의할 수 없지만 비슷한 특징끼리 군집화를 실시
군집 | 군집분석 SOM DBSCAN 병합 군집 계층 군집 |
연관 | Apriori |
차원 축소 | PCA(주성분분석) LDA(선형판별분석) SVD(특잇값 분해) MDS(다차원 척도법) |
데이터 마이닝의 대표적인 여섯가지 기능과 예
① 분류(Classification)
: 대표적인 지도학습 중 하나
: 새롭게 나타난 현상을 검토하여 기존의 분류, 정의된 집합에 배정하는 것을 의미
: 의사결정나무, 메모리 기반 추론, 로지스틱 회귀분석, 앙상블, 인공신경망, k-NN
② 추정(Estimation)
: 연속된 변수의 값을 추정하는데 사용
: 주어진 입력 데이터를 사용하여 알려지지 않은 결과의 값을 추정
: 신경망 모형
③ 예측(Prediction)
: 미래의 양상을 예측하거나 미래의 값으 추정
: 장바구니 분석, memory-based reasoning, 의사결정나무, 신경망
④ 연관 분석(Association Analysis)
: 상품(데이터) 의 연관성을 파악
: 장바구니 분석
⑤ 군집(Clustering)
: 이질적인 모집단을 동질성을 지닌 그룹 별로 세분화
: 선분류 되어있는 기준에 의존하지 않고, 레코드 자체가 지니고 있는 다른 레코드와의 유사성에 의해 그룹화되고 세분화
: 데이터 마이닝이나 모델링의 준비단계로 사용
⑥ 기술(Description)
: 데이터가 가지고 있는 의미를 기술
: 설명이 가능해야 하며, 그 답을 찾을 수 있어야 한다.
프로세스 | 데이터 마이닝 추진 5단계
① 1단계 목적 정의
: 무엇을 왜 하는지
: 이해관계자 모두가 동의하고 이해할 수 있어야 한다.
: 가능한 1단계부터 전문가가 참여해 데이터를 정의하는 것이 바람직
② 2단계 데이터 준비
: 데이터를 수집
: 용량이 크므로 사전 협의를 통하여 데이터 접근 부하가 심한 과업을 수행해도 문제가 없도록 일정을 조율
: 필요시 데이터를 다른 서버에 저장
: 데이터 정제를 통해 데이터의 품질을 보장하고, 필요할 경우 데이터를 보강하여 충분한 양의 데이터를 확보
③ 3단계 데이터 가공
: 데이터 마이닝 기법 적용이 가능하도록
: 목적 변수를 정의하고 데이터 마이닝 소프트웨어에 적용할 수 있는 형식으로 가공
④ 4단계 데이터 마이닝 기법 적용
: 데이터 마이닝 소프트웨어를 활용하여 목적하는 정보를 추출
: 데이터 마이닝 모델을 목적에 맞게 선택
: 데이터 분석 전문가의 전문성이 필요
⑤ 5단계 검증
: 데이터 마이닝으로 추출한 정보를 검증
: 최적의 모델을 선정
데이터 분할
: 더 좋고, 더 똑똑한 데이터 모형을 만드려면 어떻게 해야하는가?
: 데이터 집합을 여러 부분으로 나누는 프로세스
: 데이터를 훈련 세트와 테스트 세트로 나누는 데 사용된다
: 모델을 훈련하고 평가하는 데에 사용
: 모델의 일반화 성능을 평가하고 훈련된 모델이 새로운 데이터에 대해 얼마나 잘 수행될지를 확인
: 학습에 전혀 영향을 주지 않은 테스트 데이터로 측정한 성과가 높으면 학습이 적절하게 됐다고 볼 수 있음
3가지 데이터로 분할
① 훈련용/구축용(50%)
: 추정용 데이터라고도 불린다. 데이터 마이닝 모델을 만드는데 활용
② 검정용(30%)
: 구축된 모델이 적합한지 검증, 모형의 과대추정 또는 과소추정을 방지하기 위해 활용
③ 시험용(20%)
: 테스트 데이터나 과거 데이터를 활용하여 모델의 성능을 검증하는데 활용
과적합과 과소적합
과적합/ 과대적합(Overfitting)
: 훈련 데이터에 너무 많이 적응되어 노이즈(테스트 데이터의 작은 변화)까지 학습하는 상태
: 너무 많이 설명하려고 하여 모델이 복잡해지고 해석의 어려움 발생
: 실제 데이터에 대해 예측력이 떨어짐
과소적합(Underfitting)
: 충분히 학습하지 못하여 예측 능력이 떨어지는 상태
: 데이터를 충분히 설명하지 못함
데이터 분할을 통한 검증방법
홀드아웃
: 가장 보편적인 검증 방법
: 전체 데이터를 랜덤하게 추출하여 학습 데이터와 테스트 데이터로 분리
: 학습데이터 80%, 테스트데이터 2~30% 로 데이터를 분할
: 검증용 데이터로 하이퍼파라미터를 튜닝하는 단계가 생략, 테스트 데이터는 모델의 성과평가만을 위해 사용
* 파라미터
: 모델이 학습하는 동안 조정되는 변수
: 모델이 구축되는 과정에서 사람의 개입이 없이 발견되는 최적의 값
* 하이퍼파라미터
: 모델의 구조 및 학습 과정에 영향을 주는 변수
: 모델 학습전에 사람이 수동으로 지정해야 하는 값
k-Fold 교차검증(cross-validation)
: 데이터를 k개의 집단으로 나누어 모델을 여러 번 훈련하고 평가
: k-1 개를 훈련용 데이터, 나머지 1개를 평가용 데이터로 사용하여 구축된 k개의 모델을 종합하여 최종모델을 구축
: 모델의 정확도를 향상시키고 과소적합 방지
: 모델 훈련에 많은 시간이 필요함
부트스트랩
: 통계학에서 사용되는 리샘플링 방법
: 데이터 집단에서 여러 개의 샘플을 생성하고 모집단의 특성을 추정
: 모델의 신뢰도를 높여 성능을 개선하고자 할때 표본을 다시 추출
: 랜덤하게 반복 추출하여 머신러닝 모델의 성능 향상
: 데이터셋의 분포가 고르지 않은 경우에 사용, 과적합을 줄인다
계층별 k - 겹 교차검증 = 계층별 k 폴드 (Stratified k-fold cross validation)
: 불균형 데이터를 분류하는 문제에서 사용
: k-폴드 교차검증과 동일한 작동방식
: k개의 서로 다른 부분집합(폴드) 으로 나누고, 각각의 폴드에 대해 모델을 k번 학습하고 평가하는 과정을 반복
데이터분할
: 기존 데이터가 아니라, 테스트 데이터로 측정한 성과가 높아야 학습이 적절하게 됐다고 볼 수 있다.
'ADsP 내용 정리' 카테고리의 다른 글
분류분석모형 - 의사결정나무 (0) | 2024.04.22 |
---|---|
분류분석모형 - 로지스틱회귀분석 (1) | 2024.04.19 |
통계분석 - 시계열분석 (0) | 2024.04.09 |
통계분석 - 다변량 분석 (0) | 2024.04.09 |
통계분석 - 회귀분석 (1) | 2024.04.09 |