본문 바로가기

자격증/SQLD

[SQLD][아답터] 3과목 - 3. 정형 데이터 마이닝

반응형
[정형 데이터 마이닝]

1-1. 데이터 마이닝 개요
1-1-1. 데이터 마이닝
1-1-2. 데이터 마이닝의 유형
1-1-3. 과대적합과 과소적합
1-1-4. 데이터 분할과 교차검증

2-1. 분류분석
2-1-1. 로지스틱 회귀분석
2-1-2. KNN(K-Nearest Neighbors)
2-1-3. 나이브베이즈 분류
2-1-4. 의사결정나무(Decision  Tree)
2-1-5. 서포트벡터머신(SVM)
2-1-6. 앙상블
2-1-7. 인공신경망

3-1. 군집분석
3-1-1. 군집분석
3-1-2. 거리 측정 방식
3-1-3. K평균 군집화(K-means Clustering)
3-1-4. DBSCAN
3-1-5. 기타 비계층적 군집분석
3-1-6. 군집분석의 평가지표

4-1. 연관분석
4-1-1. 연관분석
4-1-2. 빈발항목 도출 알고리즘

 

[정형 데이터 마이닝]

1-1. 데이터 마이닝 개요

두 변수간의 선형적 관계가 존재하는지 파악하는 분석

1️⃣ 데이터 마이닝

🔹 방대한 데이터 속에서 새로운 규칙, 패턴을 찾고 예측을 수행하는 분야

🔹 목표 정의   데이터 수집 및 이해   데이터 전처리   데이터 마이닝 기법 적용   평가 및 해석

2️⃣ 데이터 마이닝의 유형

🔹 지도학습 : 정답이 있는 데이터를 활용

- 분류 : 인공신경망, 로지스틱 회귀분석, 나이브베이즈, 분류트리, KNN, SVM 등

- 회귀 : 인공신경망, 선형회귀분석, 회귀트리 등

 

🔹 비지도학습 : 정답이 없는 데이터들 사이의 규칙을 파악

- 군집분석, 연관규칙분석, 차원축소

3️⃣ 과대적합과 과소적합

- 과대적합(=과적합) : 모델이 지나치게 데이터를 학습하여 매우 복잡해진 모델 (높은 분산, 낮은 편향)

- 과소적합 : 데이터를 충분히 설명하지 못하는 단순한 모델 (낮은 분산, 높은 편향)

  분산과 편향은 Trade-Off 관계

                                 (과대적합)                                (일반화)                               (과소적합)

4️⃣ 데이터 분할과 교차검증

과대적합과 과소적합을 방지하고 데이터가 불균형한 문제를 해결하기 위해 사용

 

🔹 분할된 데이터 셋 종류

- 훈련용 (Training Set) : 모델을 학습하는데 활용

- 검증용 (Validation Set) : 모델의 과대, 과소 적합을 조정(튜닝)하는데 활용

- 평가용(Test Set) : 모델을 평가하는데 활용

 

🔹 분할된 데이터의 학습 및 검증 방법

- 홀드아웃 : 전체 데이터를 학습용과 검증용으로 한 번만 나누어 사용

- K-fold 교차검증 : 데이터를 k개의 집단으로 구분하여 k-1개 학습, 나머지 1개로 검증

데이터 학습 및 검증이 편향될 경우를 방지하기 위해 사용

- LOOCV : 1개의 데이터로만 검증하고 나머지로 학습, 신뢰도가 높지만 연산량이 많음

- 부트스트래핑 : 복원추출을 활용하여 데이터 셋을 생성, 데이터 부족, 불균형 문제 해소

2-1. 분류분석

1️⃣ 로지스틱 회귀분석

종속변수가 범주형 데이터를 대상으로 성공과 실패 2개의 집단을 분류하는 문제에 활용

 

💡 회귀분석은 수치형 데이터에 적용하고 분류분석은 범주형 데이터에 적용함

 

🔹 로지스틱 회귀분석의 원리

 

🔹 로지스틱 회귀분석의 검정

- 회귀계수 검정 : 최대우도법

- 모형전체 검정 : 우도비검정(카이제곱검정)

2️⃣ KNN(K-Nearest Neighbors)

- 거리 기반으로 이웃에 더 많은 데이터가 포함되어 있는 범주로 분류

- 단순하고 효율적이며 훈련이 따로 필요 없는 Lazy Model

- K에 따라 결과가 달라짐

3️⃣ 나이브베이즈 분류

🔹 베이즈 정리

- 과거의 정보를 기반으로 미래의 결과를 예측

 

🔹 나이브베이즈 분류

- 나이브(독립) + 베이즈 정리를 기반으로 계산을 단순화하여 범주에 속할 확률 계산

- 서로 독립적이라는 가정이 필요

4️⃣ 의사결정나무(Decision Tree)

노드 내 동질성이 커지고, 노드 간 이질성이 커지는 방향으로 분리하는 트리 구조 모델

 

🔹 특징

- 화이트 박스 모델 (내용을 다 볼 수 있어서 해석이 쉬움)

- 높은 과적합 위험

 

📌 과적합 방지 방안

- 정지규칙 : 분리를 더 이상 수행하지 않고 나무의 성장을 멈춤

- 가지치기 : 일부 가지를 제거하여 과적합을 방지

 

🔹 노드 분할 방법

- 분류(범주형)에서의 분할 방법

➜ CHAID 알고리즘 : 카이제곱 통제량

➜ CART 알고리즘 : 지니지수 활용 ( 1- Σ p² )

➜ C4.5/C5.0 알고리즘 : 엔트로피지수 활용 ( - Σ P(log₂ P) )

 

- 회귀(연속형)에서의 분할 방법

CHAID 알고리즘 : ANOVA, F-통계량

CART 알고리즘 : 분산감소량

🚨 노드 분할 계산 방법 잘 알아두기 (지니지수가 주로 문제에 나옴) 

5️⃣ 서포트벡터머신(SVM)

마진이 최대가 되는 초평면을 찾아 선형이나 비선형 이진 분류, 회귀에서 활용 가능한 다목적 모델

 

🔹 구성요소

- 하이퍼플레인(초평면) : 데이터를 구분하는 기준이 되는 경계, 가중치벡터와 편향으로 결정

- 서포트벡터 : 클래스를 나누는 하이퍼플레인과 가까운 위치의 샘플

- 마진 : 하이퍼플레인과 서포트벡터 사이의 거리

- 커널함수 : 저차원 데이터를 고차원 데이터로 변경하는 함수

 

🔹 유형

- 하드마진분류 : 오류 비허용

- 소프트마진분류 : 마진 내 어느 정도 오류 허용

6️⃣ 앙상블

여러 개의 예측 모형들을 조합하는 기법

 

🔹 보팅(Votion)

- 다수결 방식으로 최종 모델을 선택

- 하드보팅 : 예측값을 다수결로 투표

- 소프트보팅 : 각 확률값의 평균으로 최종결과 사용

 

🔹 배깅(Bagging)

- 복원추출에 기반을 둔 부트스트랩(Bootstrap)을 생성하여 모델을 학습한 후에 보팅으로 결합

- 복원추출을 무한히 반복할 때 특정 하나의 데이터가 선택되지 않을 확률 (OOB 활용)

36.8%의 데이터는 아무리 무한반복을 해도 데이터 학습에 사용되지 않음

그래서 이 데이터로 검증/평가를 해서 교차검증(OOB)을 함

 

📌 랜덤포레스트

- 배깅에 의사결정나무를 추가하는 방법

- 편향은 높지만 분산이 감소 (과적합에 강함)

- 블랙박스 모델 (무작위성으로 인해 내부가 드러나지 않음)

🚨 랜덤포레스트는 시험에 잘 나오니 꼭 알아두기

 

🔹 부스팅(Boosting)

- 잘못된 분류 데이터에 큰 가중치를 주는 방법

- 이상치에 민감

- 종류 : AdaBoost, GBM, XGBoost(GBM보다 빠르고 규제 포함), Light GBM(학습속도 개선)

 

🔹 스태킹(Staking)

- 각각의 모델에서 학습한 예측 결과를 메타 학습기를 활용하여 다시 학습

보팅, 배깅, 랜덤포레스트는 병렬처리가 가능하나, 부스팅은 순차적이어서 병렬처리 불가

🚨 앙상블은 시험에 무조건 나오니 확실히 알아두기

7️⃣ 인공신경망

🔹 퍼셉트론의 등장과 한계

- 인간의 뉴련을 모방한 단층 퍼셉트론의 등장

- 선형 구조

- XOR 문제(비선형 구조) 해결의 불가

 

🔹 다층 퍼셉트론의 등장

- 입력층과 출력층 사이에 하나 이상의 은닉층을 삽입한 구조

- 활성함수의 사용 시그모이드 함수를 통한 비선형 문제 해결

- 인공신경망의 특징

블랙박스 모델

은닉층 수와 노드 수는 사용자가 직접 설정하는 하이퍼파라미터

은닉층 수가 많아지면 복잡한 문제 해결이 가능하지만, 과적합 위험이 증가함

 은닉층 수가 적어지면 복잡한 패턴 학습은 못하지만, 과소적합 위험이 증가함

 

🔹 인공신경망 학습 방법

- 순전파(피드포워드) : 정보를 전방으로 전달

- 역전파 알고리즘 : 가중치를 수정하여 손실함수(오차의 계산)의 값을 줄임 (합성함수의 곱 활용)

- 경사하강법 : 경사의 내리막길로 이동하여 오차가 최소가 되는 최적의 해를 찾는 방법 (편미분 활용)

인공신경망에서는 SSE의 최소제곱법을 통해 오차가 최소화되는 지점을 찾는 것이 너무 복잡해서 할 수가 없음

- 기울기 소실 문제 : 다수의 은닉층에서 시그모이드 함수 사용 시, 학습이 제대로 되지 않는 문제

 

🔹 활성함수와 손실함수

- 은닉층에서의 활성함수

인공신경망의 선형성을 극복함

시그모이드 함수 : 0 ~ 1 사이의 확률 값을 가지며, 로지스틱 회귀 분석과 유사함

하이퍼볼릭 탄젠트(Tanh) 함수 : -1 ~ 1 사이 값, 시그모이드 함수의 기울기 소실문제를 지연

  ReLU 함수 : 기울기 소실문제를 극복, max(0,x)

 

🔹 출력층에서의 활성함수

- 시그모이드 함수 : 이전분류 모델, 0~1 사이 확률

 

- 소프트맥수 함수 : 다중분류 모델, 확률의 총합이 1

 

🔹 손실함수

- 예측값과 실제값의 차이를 측정하는 함수

- MES(Mean Square Error) : 회귀 모델   SSE의 평균

- 크로스 엔트로피(Cross-Entropy) : 분류 모델

🚨 최근 시험에 어렵게 나오는 분야이니 추가로 자세히 알아두기

8️⃣ 분류모델 평가지표

🔹 오분류표(혼동행렬)

 

🔹 평가지표

 

- 재현율(Recall)은 민감도(Sensitivity), TP Ratem Hit Rate 라고도 함

- F-1 Score 는 Precision 과 Recall의 조화평균

- Precision과 Recall은 Trade-Off 관계

- F- β Score

β > 1 : 재현율(Recall)에 큰 비중

 β < 1 : 정밀도(Precision)에 큰 비중

 β = 1 : F-1 Score와 동일

 

🔹 ROC 커브

- 가로축을 1-특이도(FPR), 세로축을 민감도(TPR)로 두어 시각화한 그래프

- 그래프 면적(AUC)는 0.5~1 사이이며 1에 가까울수록 모델의 성능이 좋다고 평가

➜ 0.5 : 삼각형 / 1 : 사각형

 

🔹 이익도표(Lift chart)

- 임의로 나눈 각 등급별로 반응검출율, 반응률, 리프트 등의 정보를 산출하여 나타내는 도표

- 향상도 곡선 : 이익도표를 시각화한 곡선

🚨 시험에 무조건 나오는 부분이니 확실히 알아두기

3-1. 군집분석

1️⃣ 군집분석

비지도 학습으로 데이터들 간 거리나 유사성을 기준으로 군집을 나누는 분석

➜ 지도 학습 : 분류분석, 회귀분석 / 비지도 학습 : 군집분석

 

🔹 계층적 방법 : 데이터 간 유사성을 기준으로 군집을 형성

 

🔹 비계층적 방법 : 계층적 방법 외 군집분석 기법

2️⃣ 거리 측정 방식

🔹 데이터 간 거리 측정 방식

1) 연속형 변수

- 유클리디안 거리 두 점 사이의 직선 거리

- 맨하튼 거리 ➜ 각 변수들의 차이의 단순 합

- 체비셰프 거리 ➜ 변수 거리 차 중 최댓값

- 민코우스키 거리 유클리드, 맨하튼 거리를 일반화한 거리

- 마할라노비스 거리 ➜ 표준화 거리에서 변수의 상관관계를 고려

- 표준화 거리 변수의 스케일을 맞춘 뒤의 거리 계산

🚨 시험에 무조건 나오는 부분이니 확실히 알아두기

 

2) 범주형 변수

- 자카드 유사도

 

- 코사인 유사도

 

🔹 군집 간 거리 측정 방식

- 최단 연결법(=단일 연결법) : 군집간 가장 가까운 데이터

- 최장 연결법(=완전 연결법) : 군집간 가장 먼 데이터

- 평균 연결법 : 군집의 모든 데이터들의 평균

- 중심 연결법 : 두 군집의 중심

- 와드 연결법 : 두 군집의 편차 제곱합이 최소가 되는 위치

3️⃣ K평균 군집화(K-means Clustering)

비계층적 군집화 방법으로 거리기반

 

🔹 특징

- 군집의 수 K를 사전에 지정

- 한번 군집에 속한 데이터는 중심점이 변경되면 군집이 변할 수  있음

- 이상치나 초기 중심점 설정에 민감

 

🔹 과정

1) 군집의 개수 K개 설정 (Elbow Method를 활용하여 최적의 K 설정)

2) 임의로 K개의 초기 중심점 설정

3) 데이터들을 가장 가까운 군집에 할당

4) 데이터의 평균으로 중심점 재설정

5) 중심점 위치가 변하지 않을 때까지 3), 4) 번 과정 반복

 

🔹 K-means의 변형

- K-modes : 범주형 데이터인 경우 최빈값(mode) 활용

- K-medoids : 실제 데이터의 대표 값을 중심점으로 선정하여 이상지체 강건

4️⃣ DBSCAN

비계층적 군집화 방법으로 밀도기반

 

🔹 특징

- 군집 수를 사전에 정하지 않아도 됨

- 노이즈와 이상치에 민감

- Eps와 MinPts를 사전에 설정

➜ Eps(거리), MinPts(최소 포인트 개수) : 하이퍼 파라미터

5️⃣ 기타 비계층적 군집분석

🔹 퍼지군집화

- 확률 기반

- 각  데이터가 특정 군집에 속할 확률을 각각 계산해가며 군집화

- A 군집과 B 군집에 함께 속할 수 있음

 

🔹 EM 알고리즘

- 분포 기반

- Likelihood의 기댓값을 계산하는 E단계와 기댓값 최대화 추정값을 계산하는 M단계 반복

 

🔹 자기조직화지도(SOM)

- 그래프 기반

- 신경망을 활용하여 차원축소를 통해 지도로 형상화하여 군집화하는 방법

- 완전연결의 형태를 가지며 순전파 방식만 사용

- 각 노드가 승자가 되기 위한 경쟁 학습

🚨 자기조직화지도(SOM)은 시험에 자주 나오는 부분이니 잘 알아두기

6️⃣ 군집분석의 평가지표

🔹 실루엣 계수

a(i) : i번째 데이터에서 자신이 속한 군집 내 다른 데이터 포인트 들과의 평균 거리

b(i) : i번째 데이터에서 가장 가까운 다른 군집 내 다른 데이터 포인트 들과의 평균 거리

 

🔹 WCSS (Within Clusters Sum of Squares)

4-1. 연관분석

1️⃣ 연관분석

항목들간의 조건-결과로 이루어지는 패턴을 발견하는 기법 (장바구니 분석)

 

🔹 특징

- 결과가 단순하고 분명 (IF ~ THEN)

- 비목적성 분석기법

- 품목 수가 증가할수록 계산량이 기하급수적으로 증가

➜ 연관 분석에 시간 개념을 추가하여 순차패턴분석을 수행

 

🔹 연관분석의 지표

- 지지도 : A와 B 중 두 품목이 동시에 포함된 거래 비율

 

- 신뢰도 : A 품목이 거래 될 때 B 품목도 거래될 확률 (조건부 확률)

 

- 향상도 : A 품목과 B 품목의 상관성

➜ 향상도 > 1 : 양의 상관관계

➜ 향상도 = 1 : 상관없음

➜ 향상도 < 1 : 음의 상관관계

 

✔️ "지신향" 으로 암기

2️⃣ 빈발항목 도출 알고리즘

- Apriori 알고리즘

최소 지지도를 만족하는 빈발 항목을 추출하여 연관규칙분석의 연산량을 줄이는 기법

절차 : 빈도수 집합 탐색  최소 지지도 확인 후보 집합 생성 반복 탐색 연관규칙 도출

 

- FP-Growth 알고리즘

Apriori 알고리즘의 반복 과정을 트리 기반으로 대체하여 연산 효율 향상


🔗 출처

[SQLD 완벽 요약강의]

 

반응형