대용량 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법
통계분석과의 차이
통계분석 : 가설이나 가정에 따른 분석이나 검증
데이터마이닝 : 데이터베이스의 데이터로부터 의미있는 정보를 찾아내는 방법
추진단계
목적 설정
데이터마이닝을 통해 무엇을 왜 하는지 명확한 목적 설정. 목적에 따라 사용할 모델과 필요한 데이터 정의
데이터 준비
데이터 정제를 통해 데이터의 품질을 보장하고 충분한 양의 데이터를 확보
데이터 가공
목적 변수를 정의, 데이터를 데이터마이닝 소프트웨어에 적용할 수 있는 형식으로 가공
데이터 마이닝 기법 적용
명확한 목적에 맞게 데이터마이닝 기법을 적용하여 정보 추출
검증
데이터마이닝으로 추출된 정보 검증, 최적 모델 선정, 데이터마이닝 결과 업무에 적용, 추가수익과 투자대비성과(ROI)등으로 기대효과 전파
데이터 분할
- 구축용 (training data, 50%) 추정용, 훈련용 데이터. 데이터마이닝 모델을 만드는데 활용
- 검정용 (validation data, 30%) 과대추정 또는 과소추정을 미세 조정 하는데 활용
- 실험용 (test data, 20%) 테스트 데이터, 과거 데이터 활용하여 모델의 성능을 검증
데이터분할을 통한 검증
홀드아웃 방법 (hold-out)
랜덤하게 두 개의 데이터로 구분하여, 학습용과 시험용으로 분리하여 사용
K-fold 교차확인 방법 (cross-validation)
K개의 하부집단으로 구분하여, K-1개의 집단을 학습용으로, 나머지는 검증용으로 설정하여 학습. K번 반복 측정한 결과를 평균낸 값을 최종값으로 사용. (주로 10-fold 교차분석 활용)
성과분석
오분류표 (Confusion Matrix)

- 정분류율 (Accuracy), 전체 중 True인 것 (실제로 맞춘 것. 즉 예측 성공한 것)
= (TN+TP) / 전체 - 오분류율 (Error rate), 전체 중 False인 것 (실제로 맞추지 못한 것. 즉 예측 실패한 것)
= (FN+FP) / 전체 - 특이도 (Specificity), TNR (True Negative Rate), 실제 Negative 중에 Negative로 판정하는 척도
= TN / (TN+FP) - 민감도 (Sensitivity), TPR (True Positive Rate), 실제 Positive 중에 Positive로 판정하는 척도
= TP / (TP+FN) - 정확도, 정밀도 (Precision), Positive라고 판단한 것 중에서 진짜 Positive
= TP / (TP+FP) - 재현율 (Recall) = 민감도와 동일
= TP / (TP+FN) - F1 Score
= 2 * (Precision * Recall) / (Precision + Recall) - Fb Score
= 재현율에 b만큼의 가중치를 부여하여 조화 평균한 것
ROC Curve (receiver operating characteristic curve)
가로축(x축)을 1-특이도(FPR(1-TNR)) 값으로, 세로축(y축)을 민감도(TPR)값으로 두어 시각화한 그래프
2진 분류에서 모형의 성능을 평가하는데 사용, 그래프에 왼쪽 상단에 가까울수록 올바르게 예측. (0,1)이 가장 완벽
AUROC(Area Under ROC) 값이 크면 클수록(1에 가까울수록) 모형의 성능이 좋다.
이익도표 (lift chart)
분류모형의 성능을 평가하기 위한 척도, 임의로 나눈 각 등급별로 반응검출율, 반응률, 리프트 등의 정보를 산출하여 나타내는 도표.이익도표의 각 등급은 예측확률에 따라 매겨진 순위, 상위 등급에서 더 좋은 반응률을 보이는 것이 좋은 모형.
% Captured Response (반응검출율) = 해당 등급의 실제 구매자 / 전체 구매자
% response (반응률) = 해당 등급의 실제 구매자 / 구간 구매자
Lift (향상도) = 반응률 / 기본 향상도 (좋은 모델이라면 Lift가 빠른 속도로 감소해야 함)
향상도 곡선(Lift Curve)
향상도 곡선(Lift Curve)은 랜덤 모델과 비교하여 해당 모델의 성과가 얼마나 향상되었는지를 각 등급별로 파악하는 그래프
분류분석의 모형을 평가하는 방법
과대적합과 과소적합
- 과대적합(Overfitting) 학습용 데이터를 과하게 학습하여, 학습용 데이터에 대해서는 높은 정확도를 나타내지만, 테스트 데이터 혹은 다른 데이터에 적용할 때는 성능이 떨어지는 현상
- 과소적합(Underfitting) 모형이 너무 단순하여 데이터 속에 내제되어 있는 패턴이나 규칙을 제대로 학습하지 못하는 경우
- 일반화(Generalization) 데이터의 특징을 잘 설명하여 새로운 데이터에도 좋은 성능이 나옴
과대적합과 과소적합 심화 - 머신러닝에서 발생하는 문제
과대 적합
모델이 학습 데이터에 대해서는 높은 정확도를 보이지만, 새로운 데이터에 대해서는 낮은 정확도를 보이는 문제
모델이 학습 데이터에 과도하게 적합되어 일반화 능력이 부족해지는 것이 원인
training 데이터에 너무 맞추어져 새로운 데이터에서 성능이 떨어지는 문제
과소 적합
모델이 너무 단순하게 구성되어, 학습 데이터에 대해서도 낮은 정확도를 보이는 문제
모델의 복잡도가 적절하지 않아 일반화 능력이 부족한 것이 원인
범주 불균형 문제
범주형 변수의 범주 간 분포가 불균형한 상황을 의미.
데이터셋에서 클래스 레이블의 비율이 균등하지 않을 때 발생하는 문제
예를 들어, 이진 분류 문제에서 양성 클래스와 음성 클래스의 비율이 1:9인 경우, 모델이 모든 샘플을 음성 클래스로 예측하는 등의 문제가 발생할 수 있음
범주 불균형 문제는 모델에서 특정 범주에 대한 예측 성능이 저하될 수 있음
데이터 불균형 문제
학습 데이터셋에서 클래스 레이블이나 특정 속성 값의 분포가 불균형할 때 발생하는 문제
예를 들어, 이진 분류 문제에서 양성 클래스와 음성 클래스의 분포가 균등하지 않거나, 회귀 문제에서 타겟 변수의 값 분포가 한쪽으로 치우쳐진 경우, 이상 거래 검출 시스템에서 정상 거래와 이상 거래의 비율이 99:1인 경우.
이러한 데이터 불균형 문제는 모델의 성능에 영향을 미치며, 특히 소수 클래스에 대한 예측 성능이 저하 됨
saturation
training 데이터를 충분히 학습하지 못하여 성능이 떨어지는 문제
학습 데이터를 너무 많이 학습하거나, 은닉층의 뉴런 수가 너무 많은 경우에 발생
모델이 너무 복잡하여, 학습이 진행되어도 성능이 개선되지 않고 일정 수준 이상으로 증가하지 않는 현상
역전파 알고리즘에서 발생하는 문제
포화 문제(폭주/Explosion)
역전파 알고리즘에서 가중치의 절대값이 커져 조정이 더 이상 이루어지지 않아 과소적합이 발생되는 문제.
이 문제는 ReLU 함수 등의 활성화 함수를 사용할 때 주로 발생한다.
기울기 소실 현상
딥러닝에서 발생하는 문제로, 역전파 알고리즘에서 기울기가 점차 작아지면서, 하위 레이어로 전달되지 않는 문제.
이로 인해, 하위 레이어가 제대로 업데이트 되지 않아 학습이 제대로 이루어지지 않는 문제가 발생한다.
이 문제는 비선형 활성화 함수를 사용하면서 발생하는데, 시그모이드 함수 등의 함수를 사용할 때 주로 발생한다.
은닉층이 많은 다층 퍼셉트론에서 은닉층을 많이 거칠수록 전달되는 오차가 크게 줄어들어 학습이 되지 않는 현상
'🥇 certification logbook' 카테고리의 다른 글
[ADsP] 지도학습 - 시계열 분석 (0) | 2023.06.04 |
---|---|
[ADsP] 지도학습 - 회귀분석 (0) | 2023.06.04 |
분석환경 설정 (파이썬 + 주피터노트북 + pandas) (0) | 2023.06.03 |
[ADsP] 확률분포 (0) | 2023.06.03 |
[ADsP] 가설검증/통계 (0) | 2023.06.03 |
[ADsP] 가설검증/통계 - 통계적 추론 (0) | 2023.06.03 |
[ADsP] 가설검증/통계 -기술 통계 (0) | 2023.05.21 |
[ADsP] 데이터 거버넌스 체계 수립 (0) | 2023.05.21 |