# Data Science 시험 이론 정리: 확률, 통계, 데이터 이해, 머신러닝

이 문서는 Data Science 시험 공부용으로 재구성한 이론 자료이다. 핵심은 문제를 봤을 때 어떤 개념과 공식을 써야 하는지 빠르게 연결하는 것이다.

## 0. 시험 전 우선순위

### 반드시 암기
- 조건부확률, 전확률, 베이즈 정리
- 베르누이, 이항, 포아송, 지수, 정규, t, 카이제곱, 감마분포의 의미와 공식
- 평균, 분산, 표준편차, 변동계수, 왜도, 첨도
- 신뢰구간, 오차한계, 표준오차, 중심극한정리
- 상관계수와 상관/인과 구분
- 결측치, 이상치, 정규화, 표준화, 원핫인코딩, 라벨인코딩
- 회귀/분류 평가지표: MSE, RMSE, MAE, MAPE, Accuracy, Precision, Recall, F1, ROC-AUC
- 거리/유사도: 유클리드, 맨하탄, 민코프스키, 마할라노비스, 코사인, 자카드
- 회귀분석 가정, 결정계수, 수정 결정계수, VIF, AIC, BIC
- 로지스틱 회귀, k-NN, 의사결정나무, 나이브 베이즈, 랜덤포레스트, K-means

### 문제에서 바로 구분할 키워드
| 키워드 | 연결 개념 |
|---|---|
| 조건에서, 이미 발생했다면 | 조건부확률 |
| 전체 확률, 여러 원인으로 분해 | 전확률의 법칙 |
| 양성인데 실제 질병일 확률 | 베이즈 정리 |
| 성공/실패 1회 | 베르누이분포 |
| 성공/실패 n회, 성공 횟수 | 이항분포 |
| 단위 시간의 발생 횟수 | 포아송분포 |
| 첫 사건까지 기다리는 시간 | 지수분포 |
| k번째 사건까지 기다리는 시간 | 감마분포 |
| 평균 0, 표준편차 1로 변환 | 표준화, z-score |
| 모분산 모름, 표본평균 추론 | t 분포 |
| 표본분산 추론 | 카이제곱분포 |
| 변수 간 선형 관계 | 피어슨 상관 |
| 순위 기반 관계 | 스피어만 상관 |
| 확률값을 0/1로 분류 | 로지스틱 회귀 |
| 가까운 이웃 k개 | k-NN |
| if-then 규칙 | 의사결정나무 |
| 여러 트리 + 부트스트랩 | 랜덤포레스트 |
| 군집 수 k를 미리 정함 | K-means |

---

# 1. 확률의 기본 개념

## 조건부확률

조건부확률은 사건 B가 이미 발생했다는 조건에서 사건 A가 발생할 확률이다.

$$
P(A \mid B)=\frac{P(A \cap B)}{P(B)}, \quad P(B)>0
$$

곱셈법칙은 조건부확률 공식을 변형한 것이다.

$$
P(A \cap B)=P(A \mid B)P(B)=P(B \mid A)P(A)
$$

### 독립 사건

A와 B가 독립이면 한 사건의 발생이 다른 사건의 확률을 바꾸지 않는다.

$$
P(A \mid B)=P(A)
$$

$$
P(A \cap B)=P(A)P(B)
$$

시험에서는 독립 여부를 묻는 문제에서 교집합 확률이 주변확률의 곱과 같은지 확인하면 된다.

## 전확률의 법칙

여러 원인 사건이 전체 표본공간을 빠짐없이 나누고 서로 겹치지 않을 때, 어떤 사건 A의 확률을 원인별 조건부확률의 합으로 구한다.

$$
P(A)=\sum_{i=1}^{k}P(A \mid B_i)P(B_i)
$$

여기서 $B_1,B_2,\dots,B_k$는 서로 배반이고 전체를 구성하는 사건들이다.

## 베이즈 정리

베이즈 정리는 결과 A가 관찰되었을 때 특정 원인 $B_j$가 실제 원인일 확률을 구하는 공식이다.

$$
P(B_j \mid A)=
\frac{P(A \mid B_j)P(B_j)}
{\sum_{i=1}^{k}P(A \mid B_i)P(B_i)}
$$

이진 사건에서는 다음 형태가 자주 나온다.

$$
P(B \mid A)=
\frac{P(A \mid B)P(B)}
{P(A \mid B)P(B)+P(A \mid B^c)P(B^c)}
$$

### 시험 포인트
- 질병 검사, 불량품 검사, 스팸 분류 문제는 베이즈 정리로 연결되는 경우가 많다.
- $P(A \mid B)$와 $P(B \mid A)$는 다르다.
- 전체 양성 확률처럼 분모가 이미 주어진 경우에는 전확률 계산을 생략하고 바로 분모로 쓰면 된다.

---

# 2. 확률변수와 확률함수

## 확률변수

확률변수는 확률 실험의 결과를 숫자로 표현한 변수이다.

| 구분 | 의미 | 예시 |
|---|---|---|
| 이산확률변수 | 셀 수 있는 값을 가짐 | 불량품 개수, 성공 횟수 |
| 연속확률변수 | 연속적인 값을 가짐 | 시간, 길이, 무게 |

## 확률질량함수(PMF)

이산확률변수에서 특정 값이 나올 확률이다.

$$
p(x)=P(X=x)
$$

성질:

$$
0 \le p(x) \le 1
$$

$$
\sum_x p(x)=1
$$

## 확률밀도함수(PDF)

연속확률변수의 분포를 나타내는 함수이다. 연속형에서는 특정 한 점의 확률은 0이고, 구간의 면적으로 확률을 구한다.

$$
P(X=a)=0
$$

$$
P(a \le X \le b)=\int_a^b f(x)dx
$$

성질:

$$
f(x)\ge 0
$$

$$
\int_{-\infty}^{\infty}f(x)dx=1
$$

## 누적분포함수(CDF)

확률변수 X가 x 이하일 확률이다.

$$
F(x)=P(X \le x)
$$

---

# 3. 기댓값과 분산

## 기댓값

기댓값은 확률변수의 평균적인 값이다.

이산형:

$$
E[X]=\sum_x xp(x)
$$

연속형:

$$
E[X]=\int_{-\infty}^{\infty}xf(x)dx
$$

## 분산과 표준편차

분산은 평균에서 얼마나 흩어져 있는지를 나타낸다.

$$
Var(X)=E[(X-\mu)^2]
$$

계산용 공식:

$$
Var(X)=E[X^2]-(E[X])^2
$$

표준편차:

$$
\sigma=\sqrt{Var(X)}
$$

## 선형변환

확률변수 X를 $aX+b$로 변환할 때:

$$
E[aX+b]=aE[X]+b
$$

$$
Var(aX+b)=a^2Var(X)
$$

표준편차는 다음과 같이 변한다.

$$
SD(aX+b)=|a|SD(X)
$$

### 시험 포인트
- 평균은 상수 b의 영향을 받는다.
- 분산은 상수 b의 영향을 받지 않는다.
- 분산은 a가 아니라 $a^2$만큼 변한다.

---

# 4. 주요 확률분포

## 분포 선택표

| 분포 | 상황 | 확률변수 | 핵심 모수 |
|---|---|---|---|
| 베르누이 | 성공/실패 1회 | 성공 여부 | $p$ |
| 이항 | 성공/실패 n회 | 성공 횟수 | $n,p$ |
| 포아송 | 단위 시간/공간의 발생 횟수 | 사건 수 | $\lambda$ |
| 초기하 | 비복원추출 | 성공 개수 | $N,K,n$ |
| 지수 | 첫 사건까지 대기시간 | 시간 | $\lambda$ |
| 정규 | 평균 중심의 연속값 | 측정값 | $\mu,\sigma^2$ |
| t | 모분산 모를 때 평균 추론 | t 통계량 | 자유도 |
| 카이제곱 | 표본분산 추론 | 제곱합 | 자유도 |
| 감마 | k번째 사건까지 대기시간 | 시간 | $\alpha,\lambda$ |

## 베르누이분포

한 번의 시행에서 성공이면 1, 실패이면 0을 갖는 분포이다.

$$
X \sim Bernoulli(p)
$$

$$
P(X=x)=p^x(1-p)^{1-x}, \quad x=0,1
$$

$$
E[X]=p
$$

$$
Var(X)=p(1-p)
$$

## 이항분포

독립적인 베르누이 시행을 n번 반복했을 때 성공 횟수의 분포이다.

$$
X \sim B(n,p)
$$

$$
P(X=x)=\binom{n}{x}p^x(1-p)^{n-x}
$$

$$
\binom{n}{x}=\frac{n!}{x!(n-x)!}
$$

$$
E[X]=np
$$

$$
Var(X)=np(1-p)
$$

### 이항분포 문제 풀이 흐름
1. 시행 횟수 n을 찾는다.
2. 성공확률 p를 찾는다.
3. 원하는 성공 횟수 x 또는 범위를 찾는다.
4. “3회 이상”처럼 범위가 나오면 여러 확률을 더하거나 여사건을 쓴다.

## 포아송분포

단위 시간 또는 단위 공간에서 어떤 사건이 몇 번 발생하는지 나타내는 분포이다.

$$
X \sim Pois(\lambda)
$$

$$
P(X=x)=\frac{e^{-\lambda}\lambda^x}{x!}, \quad x=0,1,2,\dots
$$

$$
E[X]=\lambda
$$

$$
Var(X)=\lambda
$$

구간 길이가 t이면 평균 발생 횟수는 $\lambda t$이다.

$$
P(X=x)=\frac{e^{-\lambda t}(\lambda t)^x}{x!}
$$

### 시험 포인트
- “단위 시간 안에 몇 번”이면 포아송분포를 먼저 의심한다.
- 평균과 분산이 모두 $\lambda$라는 점이 자주 나온다.
- “기판 5개당 결함 10개”이면 기판 1개당 평균 결함 수는 2개이다.

## 초기하분포

비복원추출에서 성공 개수의 분포이다.

$$
P(X=x)=
\frac{\binom{K}{x}\binom{N-K}{n-x}}
{\binom{N}{n}}
$$

모집단 크기 $N$, 모집단 내 성공 개수 $K$, 표본 크기 $n$이다.

$$
E[X]=n\frac{K}{N}
$$

$$
Var(X)=
n\frac{K}{N}\left(1-\frac{K}{N}\right)\frac{N-n}{N-1}
$$

### 이항분포와 초기하분포 구분
| 구분 | 복원추출 | 비복원추출 |
|---|---|---|
| 시행 독립성 | 독립 | 독립 아님 |
| 성공확률 | 일정 | 변함 |
| 대표 분포 | 이항분포 | 초기하분포 |

## 지수분포

포아송 과정에서 첫 번째 사건이 발생할 때까지의 대기시간 분포이다.

$$
X \sim Exp(\lambda)
$$

$$
f(x)=\lambda e^{-\lambda x}, \quad x \ge 0
$$

$$
F(x)=P(X \le x)=1-e^{-\lambda x}
$$

$$
P(X>x)=e^{-\lambda x}
$$

$$
E[X]=\frac{1}{\lambda}
$$

$$
Var(X)=\frac{1}{\lambda^2}
$$

무기억성:

$$
P(X>s+t \mid X>s)=P(X>t)
$$

## 정규분포

평균을 중심으로 좌우대칭인 종 모양의 연속확률분포이다.

$$
X \sim N(\mu,\sigma^2)
$$

$$
f(x)=
\frac{1}{\sqrt{2\pi}\sigma}
e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$

$$
E[X]=\mu
$$

$$
Var(X)=\sigma^2
$$

표준화:

$$
Z=\frac{X-\mu}{\sigma}
$$

$$
Z \sim N(0,1)
$$

### 시험 포인트
- 정규곡선 아래 전체 면적은 1이다.
- 평균을 중심으로 좌우대칭이다.
- 정규분포의 위치와 퍼짐은 평균과 분산 또는 표준편차가 결정한다.
- 표준정규분포에서 약 95%는 평균 기준 $\pm 1.96$ 안에 있다.

## t 분포

모분산을 모를 때 표본평균으로 모평균을 추론할 때 사용한다. 표본 수가 작을수록 정규분포보다 꼬리가 두껍고, 자유도가 커질수록 표준정규분포에 가까워진다.

$$
T=\frac{\bar{X}-\mu}{S/\sqrt{n}}
$$

$$
T \sim t(n-1)
$$

## 카이제곱분포

서로 독립인 표준정규 확률변수의 제곱합으로 정의된다.

$$
X=Z_1^2+Z_2^2+\cdots+Z_k^2 \sim \chi^2(k)
$$

$$
E[X]=k
$$

$$
Var(X)=2k
$$

정규모집단 표본분산과의 관계:

$$
\frac{(n-1)S^2}{\sigma^2} \sim \chi^2(n-1)
$$

## 감마분포

포아송 과정에서 k번째 사건이 발생할 때까지 걸리는 시간의 분포이다. 지수분포의 일반화로 볼 수 있다.

$$
X \sim Gamma(\alpha,\lambda)
$$

$$
f(x)=
\frac{\lambda^\alpha}{\Gamma(\alpha)}
x^{\alpha-1}e^{-\lambda x}, \quad x>0
$$

$$
E[X]=\frac{\alpha}{\lambda}
$$

$$
Var(X)=\frac{\alpha}{\lambda^2}
$$

양의 정수 n에 대해:

$$
\Gamma(n)=(n-1)!
$$

---

# 5. 표본추출과 추론통계

## 확률적 표본추출

| 방법 | 의미 | 핵심 |
|---|---|---|
| 단순임의추출 | 모든 표본이 같은 확률로 선택 | 가장 기본 |
| 층화표본추출 | 모집단을 동질적인 층으로 나누고 각 층에서 추출 | 층 내부 동질 |
| 계통추출 | 일정 간격으로 추출 | 주기성 주의 |
| 군집추출 | 모집단을 군집으로 나누고 일부 군집 선택 | 군집 내부 조사 |

## 추정

추론통계는 표본을 이용해 모집단의 특성을 추측하는 과정이다. 크게 추정과 가설검정으로 나뉜다.

| 용어 | 의미 |
|---|---|
| 모수 | 모집단의 특성값 |
| 통계량 | 표본에서 계산한 값 |
| 추정량 | 모수를 추정하기 위한 통계량 |
| 추정치 | 실제 표본으로 계산된 추정량의 값 |
| 점추정 | 하나의 값으로 모수를 추정 |
| 구간추정 | 일정 신뢰수준에서 모수가 포함될 구간 추정 |

## 좋은 점추정량의 조건

| 조건 | 의미 |
|---|---|
| 불편성 | 추정량의 기댓값이 모수와 같음 |
| 일치성 | 표본 크기가 커질수록 추정량이 모수에 가까워짐 |
| 유효성 | 같은 불편추정량 중 분산이 작음 |
| 충분성 | 표본 정보가 모수 추정에 충분히 반영됨 |

## 신뢰구간

신뢰구간은 알 수 없는 모수가 포함될 가능성이 높은 구간이다.

모평균의 대표적 신뢰구간:

$$
\bar{x} \pm z_{\alpha/2}\frac{\sigma}{\sqrt{n}}
$$

모표준편차를 모르고 표본표준편차를 쓰면:

$$
\bar{x} \pm t_{\alpha/2,n-1}\frac{s}{\sqrt{n}}
$$

오차한계:

$$
E=z_{\alpha/2}\frac{\sigma}{\sqrt{n}}
$$

또는:

$$
E=t_{\alpha/2,n-1}\frac{s}{\sqrt{n}}
$$

### 시험 포인트
- 95% 신뢰수준에서 표준정규분포 임계값은 약 1.96이다.
- 표본 크기 n이 커질수록 오차한계는 감소한다.
- 신뢰수준이 커질수록 신뢰구간은 넓어진다.

## 중심극한정리

모집단의 분포가 무엇이든 표본 크기가 충분히 크고 표본이 독립이면 표본평균의 분포는 정규분포에 가까워진다.

모집단 평균이 $\mu$, 표준편차가 $\sigma$일 때:

$$
\bar{X} \approx N\left(\mu,\frac{\sigma^2}{n}\right)
$$

표본평균의 표준오차:

$$
SE(\bar{X})=\frac{\sigma}{\sqrt{n}}
$$

모표준편차를 모르면:

$$
SE(\bar{X})=\frac{s}{\sqrt{n}}
$$

## 정규성 확인

QQ plot은 데이터가 정규분포에 가까운지 시각적으로 확인하는 도구이다.

- 점들이 대각선 근처에 있으면 정규분포에 가깝다.
- 끝부분이 크게 휘면 꼬리나 이상치 문제를 의심한다.
- 더 명확한 판단은 정규성 검정을 사용하지만, 원자료 기준 시험 범위의 중심은 QQ plot 해석이다.

---

# 6. 기술통계

## 위치 통계량

| 통계량 | 의미 | 시험 포인트 |
|---|---|---|
| 산술평균 | 값의 합을 개수로 나눔 | 이상치에 민감 |
| 가중평균 | 중요도나 가중치를 반영한 평균 | 가중치 합으로 나눔 |
| 기하평균 | 곱셈적 성장률 평균 | 성장률, 비율 |
| 조화평균 | 역수 평균의 역수 | 속도, 비율 평균 |
| 중앙값 | 정렬 후 가운데 값 | 이상치에 강함 |
| 분위수 | 자료를 일정 비율로 나누는 값 | 사분위수, IQR |

산술평균:

$$
\bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_i
$$

가중평균:

$$
\bar{x}_w=\frac{\sum_{i=1}^{n}w_ix_i}{\sum_{i=1}^{n}w_i}
$$

기하평균:

$$
G=\left(\prod_{i=1}^{n}x_i\right)^{1/n}
$$

조화평균:

$$
H=\frac{n}{\sum_{i=1}^{n}\frac{1}{x_i}}
$$

## 변이 통계량

분산:

$$
s^2=\frac{\sum_{i=1}^{n}(x_i-\bar{x})^2}{n-1}
$$

표준편차:

$$
s=\sqrt{s^2}
$$

평균제곱오차:

$$
MSE=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2
$$

제곱근평균제곱오차:

$$
RMSE=\sqrt{MSE}
$$

변동계수:

$$
CV=\frac{s}{\bar{x}}
$$

### 시험 포인트
- 표준편차는 분산의 제곱근이다.
- 값이 모두 같으면 분산과 표준편차는 0이다.
- 변동계수는 평균 대비 표준편차의 비율이다.
- 평균이 0이면 변동계수 계산이 부적절하다.

## 모양 통계량

| 통계량 | 의미 | 해석 |
|---|---|---|
| 왜도 | 분포의 비대칭 정도 | 오른쪽 꼬리가 길면 양수 |
| 첨도 | 분포의 뾰족함 | 정규분포 기준 초과첨도 0 |

왜도가 0이면 좌우대칭이다. 단, 좌우대칭이어도 다봉분포에서는 최빈값이 평균/중앙값과 다를 수 있다.

## 일변량 차트

| 차트 | 주 사용 대상 | 목적 |
|---|---|---|
| 히스토그램 | 수치형 변수 | 분포 확인 |
| 원그래프 | 범주형 변수 | 비율 확인 |
| 막대그래프 | 범주형 변수 | 빈도 비교 |
| 상자그림 | 수치형 변수 | 중앙값, 사분위수, 이상치 확인 |

## 이변량 차트

| 차트 | 주 사용 대상 | 목적 |
|---|---|---|
| 산점도 | 수치형 2개 | 관계, 패턴, 이상치 확인 |
| 선그래프 | 시간 순서 데이터 | 추세 확인 |
| 막대그래프 | 범주형 2개 | 집단별 비교 |

---

# 7. 상관분석

## 상관과 인과

상관분석은 두 변수의 관계를 확인하는 방법이다. 상관이 있다고 해서 반드시 인과관계가 성립하는 것은 아니다.

## 상관계수

상관계수는 -1부터 1 사이의 값을 갖는다.

| 값 | 해석 |
|---|---|
| 1에 가까움 | 강한 양의 선형관계 |
| -1에 가까움 | 강한 음의 선형관계 |
| 0에 가까움 | 선형관계가 약함 |

주의할 점:
- 상관계수는 선형관계를 측정한다.
- 비선형 관계가 강해도 상관계수는 0에 가까울 수 있다.
- 상관계수의 절대값이 0.7 이상이면 강하다고 해석하는 경우가 많지만 절대 기준은 아니다.

## 피어슨 상관분석

두 수치형 변수의 선형관계를 분석한다. 정식 명칭은 피어슨 곱적률 상관이다.

$$
r=
\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}
{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2}
\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}}
$$

공분산을 표준편차로 나누어 표준화한 값으로 이해하면 된다.

## 스피어만 상관분석

각 변수의 원값 대신 순위를 이용해 상관관계를 계산한다.

$$
\rho=
1-\frac{6\sum d_i^2}{n(n^2-1)}
$$

여기서 $d_i$는 두 변수 순위의 차이이다.

시험 포인트:
- 순서형 변수에 사용할 수 있다.
- 정규성 가정이 약한 비모수적 방법이다.
- 순위 기반이라 극단값의 영향이 피어슨보다 상대적으로 작다.

---

# 8. 데이터 이해와 전처리

## 데이터 척도

| 척도 | 의미 | 예시 |
|---|---|---|
| 명목척도 | 순서 없는 범주 | 성별, 지역, 브랜드 |
| 서열척도 | 순서 있는 범주 | 만족도, 등급 |
| 등간척도 | 간격 의미 있음, 절대 0 없음 | 섭씨온도 |
| 비율척도 | 간격과 비율 모두 의미 있음, 절대 0 있음 | 키, 무게, 매출 |

## 결측치

결측치는 데이터가 있어야 할 자리에 값이 누락된 것이다.

| 종류 | 의미 |
|---|---|
| MCAR | 완전 무작위 결측 |
| MAR | 관측된 다른 변수와 관련된 결측 |
| MNAR | 결측 자체가 값의 특성과 관련됨 |

처리 방법:
- 결측 비율이 매우 낮거나 MCAR에 가까우면 삭제를 고려한다.
- 그 외에는 평균/중앙값/최빈값 대치, 모델 기반 대치, 다중 대치를 고려한다.
- 사람이 임의로 채운 값은 정확한 복원이라고 볼 수 없다.

## 이상치

이상치는 데이터의 중심 경향에서 크게 벗어난 값이다.

판별 방법:
- 상자그림과 IQR
- 평균과 표준편차
- 군집 기반 방법
- k-NN 기반 방법
- 가능도 기반 방법

IQR 기준:

$$
IQR=Q3-Q1
$$

하한:

$$
Q1-1.5IQR
$$

상한:

$$
Q3+1.5IQR
$$

시험 포인트:
- 상자그림만으로 이상치를 무조건 결정한다고 말하면 부적절하다.
- 이상치는 삭제만 하는 것이 아니라 변환, 대치, 별도 분석, 원인 확인이 가능하다.

## 정규화와 표준화

### 최소-최대 정규화

데이터를 보통 0과 1 사이로 변환한다.

$$
x'=\frac{x-x_{min}}{x_{max}-x_{min}}
$$

### 표준화

평균 0, 표준편차 1이 되도록 변환한다.

$$
z=\frac{x-\bar{x}}{s}
$$

주의:
- 원자료가 정규분포를 따르면 표준화 후 표준정규분포가 된다.
- 원자료가 정규분포가 아니면 평균 0, 표준편차 1로 바뀔 뿐 반드시 정규분포가 되는 것은 아니다.

### sklearn preprocessing
- `MinMaxScaler()`
- `StandardScaler()`
- `.fit()`
- `.transform()`
- `.fit_transform()`
- `.inverse_transform()`

## 수치형 데이터 변환

정규성을 만족하지 않는 분포, 극단값이 있는 분포, 단위 차이가 큰 분포는 변환을 고려한다.

대표 방법:
- 로그변환
- 지수변환
- 역변환
- 범주화 또는 이산화

## 범주화와 이산화

수치형 자료를 순서형 또는 명목형 범주로 바꾸는 것이다.

예시:
- 연령을 10대, 20대, 30대로 변환
- 소비 금액을 등급으로 변환

pandas:
- `cut()`: 지정한 구간 기준으로 나눔
- `qcut()`: 분위수 기준으로 비슷한 개수로 나눔

## 범주형 데이터 변환

### 원핫인코딩

범주를 0과 1의 가변수로 바꾼다.

시험 포인트:
- 범주가 k개이면 가변수 k개를 만들 수 있다.
- 회귀분석에서는 다중공선성을 피하기 위해 가변수 하나를 제외할 수 있다.
- pandas에서는 `get_dummies()`를 사용한다.

### 라벨인코딩

범주를 0부터 n-1까지의 정수로 바꾼다.

주의:
- 숫자로 보이지만 실제 의미는 범주형이다.
- 사칙연산의 의미가 있는 수치형 변수로 착각하면 안 된다.
- 순서 없는 범주에 임의 숫자를 부여하면 모델이 잘못된 순서 관계를 학습할 수 있다.

### 순서형 변수

순서가 있는 범주는 순위 관계를 반영해서 변환한다. 경우에 따라 항목 간 간격을 동일하게 볼지, 다르게 볼지 판단해야 한다.

---

# 9. 머신러닝 기초

## 머신러닝

머신러닝은 컴퓨터가 데이터로부터 패턴을 학습하여 예측 또는 의사결정을 수행하도록 하는 알고리즘과 기술이다. 핵심 목적은 비용함수 또는 목적함수를 최적화하는 것이다.

## 머신러닝의 분류

| 분류 | 의미 | 대표 예 |
|---|---|---|
| 지도학습 | 입력과 정답을 함께 학습 | 회귀, 분류 |
| 비지도학습 | 정답 없이 구조를 탐색 | 군집분석, 차원축소 |
| 강화학습 | 보상을 통해 행동 학습 | 게임, 제어 |

지도학습은 종속변수의 성격에 따라 나뉜다.

| 종속변수 | 문제 유형 |
|---|---|
| 수치형 | 회귀 |
| 범주형 | 분류 |

## 기본 용어

| 용어 | 의미 |
|---|---|
| 독립변수 | 예측에 사용하는 입력 변수 |
| 종속변수 | 예측하려는 목표 변수 |
| 모델 | 입력과 출력의 관계를 학습한 함수 |
| 하이퍼파라미터 | 학습 전에 사용자가 정하는 값 |
| 학습 데이터 | 모델을 학습시키는 데이터 |
| 검증 데이터 | 튜닝에 사용하는 데이터 |
| 평가 데이터 | 최종 성능 확인 데이터 |
| 과적합 | 학습 데이터에 지나치게 맞춤 |
| 과소적합 | 패턴을 충분히 학습하지 못함 |

## 편향-분산 균형

편향이 크면 과소적합이 발생하기 쉽다. 분산이 크면 과적합이 발생하기 쉽다. 좋은 모델은 편향과 분산 사이의 적절한 균형을 찾는다.

| 상태 | 특징 |
|---|---|
| 과소적합 | 학습 성능도 낮고 평가 성능도 낮음 |
| 과적합 | 학습 성능은 높지만 평가 성능이 낮음 |
| 적절한 적합 | 학습/평가 성능이 모두 양호 |

---

# 10. 모델 평가 지표

## 회귀 평가 지표

회귀 모델은 실제값과 예측값의 오차를 기반으로 평가한다.

평균제곱오차:

$$
MSE=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2
$$

제곱근평균제곱오차:

$$
RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2}
$$

평균절대오차:

$$
MAE=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i|
$$

평균절대백분율오차:

$$
MAPE=\frac{100}{n}\sum_{i=1}^{n}\left|\frac{y_i-\hat{y}_i}{y_i}\right|
$$

주의:
- MAPE는 실제값 $y_i$가 0이면 계산 문제가 생긴다.
- MSE/RMSE는 큰 오차에 더 민감하다.

## 결정계수

결정계수는 회귀 모델이 종속변수의 변동을 얼마나 설명하는지 나타낸다.

$$
R^2=1-\frac{SSE}{SST}
$$

여기서:

$$
SSE=\sum(y_i-\hat{y}_i)^2
$$

$$
SST=\sum(y_i-\bar{y})^2
$$

단순선형회귀에서는 결정계수가 독립변수와 종속변수의 상관계수 제곱과 같다.

$$
R^2=r^2
$$

수정 결정계수:

$$
Adjusted\ R^2=
1-(1-R^2)\frac{n-1}{n-p-1}
$$

여기서 p는 독립변수 개수이다.

시험 포인트:
- 결정계수는 클수록 설명력이 높다.
- 일반적인 결정계수는 독립변수를 추가하면 감소하지 않는 경향이 있다.
- 수정 결정계수는 변수 개수와 데이터 개수를 반영한다.
- 결정계수는 상관계수처럼 항상 -1에서 1 사이가 아니다.

## 분류 평가 지표

혼동행렬은 실제값과 예측값의 정분류/오분류 결과를 표로 나타낸 것이다.

| 구분 | 의미 |
|---|---|
| TP | 실제 양성, 예측 양성 |
| TN | 실제 음성, 예측 음성 |
| FP | 실제 음성, 예측 양성 |
| FN | 실제 양성, 예측 음성 |

정확도:

$$
Accuracy=\frac{TP+TN}{TP+TN+FP+FN}
$$

정밀도:

$$
Precision=\frac{TP}{TP+FP}
$$

재현율:

$$
Recall=\frac{TP}{TP+FN}
$$

F1 Score:

$$
F1=2 \times \frac{Precision \times Recall}{Precision+Recall}
$$

시험 포인트:
- Accuracy는 가장 먼저 보는 지표지만, 클래스 불균형에서는 착시가 생길 수 있다.
- Precision은 양성이라고 예측한 것 중 실제 양성 비율이다.
- Recall은 실제 양성 중 모델이 찾아낸 비율이다.
- 암기할 때 위치가 아니라 TP, FP, FN의 의미로 암기한다.

## ROC Curve와 AUC

ROC Curve는 x축에 FPR, y축에 TPR을 둔다.

$$
TPR=\frac{TP}{TP+FN}
$$

$$
FPR=\frac{FP}{FP+TN}
$$

AUC는 ROC Curve 아래 면적이며, 최대값은 1이다. 값이 클수록 분류 성능이 좋다.

시험 포인트:
- ROC Curve의 x축은 FPR, y축은 TPR이다.
- 원자료의 예상문제처럼 축을 반대로 설명하면 틀린 설명이다.

---

# 11. 학습 데이터 분할과 검증

## Holdout Test

데이터를 학습용과 평가용으로 나누어 모델 성능을 확인하는 방법이다.

대표 비율:
- 학습/평가: 7:3 또는 8:2
- 학습/검증/평가: 5:3:2

검증 데이터는 모델 튜닝에 사용하고, 평가 데이터는 최종 성능 확인에 사용한다.

## 교차검증

교차검증은 학습/평가 데이터를 바꿔가며 여러 번 평가해 모델의 평균적인 성능을 확인하는 방법이다.

예를 들어 데이터를 10개로 나누어 10번 검증하면 10-fold CV이다.

### 시험 포인트
- 교차검증에서는 모델의 하이퍼파라미터를 고정하고 데이터 분할을 바꿔 성능을 확인한다.
- 과적합 여부와 평균적인 일반화 성능을 확인하는 데 유용하다.

## 부트스트랩과 OOB

부트스트랩은 복원추출을 허용하는 표본추출 방법이다. 학습 데이터의 다양성을 확보하고, 배깅과 랜덤포레스트의 기반이 된다.

표본 크기가 n일 때 특정 표본 하나가 한 번도 뽑히지 않을 확률:

$$
\left(1-\frac{1}{n}\right)^n
$$

n이 충분히 크면:

$$
\left(1-\frac{1}{n}\right)^n \approx e^{-1} \approx 0.368
$$

따라서 OOB 표본은 약 36.8%이다.

---

# 12. 거리와 유사도

## 유클리드 거리

n차원 공간에서 두 점 사이의 직선거리이다.

$$
d(x,y)=\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2}
$$

## 맨하탄 거리

각 좌표 차이의 절대값 합이다. City Block Distance라고도 한다.

$$
d(x,y)=\sum_{i=1}^{n}|x_i-y_i|
$$

## 민코프스키 거리

유클리드 거리와 맨하탄 거리를 일반화한 거리이다.

$$
d(x,y)=\left(\sum_{i=1}^{n}|x_i-y_i|^p\right)^{1/p}
$$

$p=1$이면 맨하탄 거리, $p=2$이면 유클리드 거리이다.

## 마할라노비스 거리

변수의 분산과 공분산 구조를 고려한 거리이다.

$$
D_M(x)=\sqrt{(x-\mu)^T S^{-1}(x-\mu)}
$$

공분산 행렬이 단위행렬이면 유클리드 거리와 같아진다.

## 코사인 유사도

두 벡터의 크기보다 방향의 유사도를 측정한다.

$$
cos(\theta)=
\frac{x \cdot y}{\|x\|\|y\|}
$$

해석:
- 1: 방향이 같음
- 0: 직교
- -1: 방향이 반대

## 자카드 유사도

두 집합의 교집합과 합집합 크기로 유사도를 계산한다.

$$
J(A,B)=\frac{|A \cap B|}{|A \cup B|}
$$

### sklearn 관련 함수
- `euclidean()`
- `manhattan_distances()`
- `cosine_similarity()`

---

# 13. 선형회귀

## 선형회귀 개념

선형회귀는 종속변수가 수치형일 때 우선적으로 고려하는 지도학습 회귀 모델이다.

단순선형회귀:

$$
y=\beta_0+\beta_1x+\epsilon
$$

다중선형회귀:

$$
y=\beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_px_p+\epsilon
$$

예측식:

$$
\hat{y}=\hat{\beta}_0+\hat{\beta}_1x_1+\cdots+\hat{\beta}_px_p
$$

## 비용함수

선형회귀의 대표 비용함수는 MSE이다.

$$
cost(W,b)=\frac{1}{m}\sum_{i=1}^{m}(H(x^{(i)})-y^{(i)})^2
$$

단순 가설함수:

$$
H(x)=Wx+b
$$

## OLS

OLS는 잔차제곱합을 최소화하는 회귀계수를 추정하는 방법이다.

$$
SSE=\sum_{i=1}^{n}(y_i-\hat{y}_i)^2
$$

OLS는 이 값을 최소화한다.

## 회귀분석의 주요 가정

| 가정 | 의미 | 확인 방법 |
|---|---|---|
| 선형성 | 독립변수와 종속변수 관계가 선형 | 산점도, 잔차그래프 |
| 독립성 | 잔차들이 서로 독립 | 데이터 수집 맥락, Durbin-Watson |
| 등분산성 | 잔차 분산이 일정 | 잔차그래프 |
| 정규성 | 잔차가 정규분포 | QQ plot |

시험 포인트:
- 정규성은 원자료 y 자체보다 잔차의 정규성을 보는 맥락이 중요하다.
- 등분산성이 깨지면 잔차그래프가 사다리꼴처럼 보일 수 있다.
- 2차 패턴이 보이면 비선형항 추가를 고려한다.

## 다중공선성

다중공선성은 독립변수들끼리 강한 상관관계가 있는 상태이다.

문제점:
- 회귀계수의 분산 증가
- 계수 해석 불안정
- 신뢰구간 증가

VIF:

$$
VIF_i=\frac{1}{1-R_i^2}
$$

여기서 $R_i^2$는 i번째 독립변수를 나머지 독립변수들로 회귀했을 때의 결정계수이다.

시험 포인트:
- VIF의 최소값은 1이고, 작을수록 좋다.
- 다중공선성은 독립변수들 사이의 문제이다.
- 종속변수와 독립변수의 상관이 높다고 해서 다중공선성이라고 하지 않는다.
- 문제가 되는 변수를 한 번에 모두 제거하기보다 논리적 근거를 가지고 하나씩 제거하는 것이 좋다.

## AIC와 BIC

| 지표 | 의미 | 해석 |
|---|---|---|
| AIC | 정보 손실이 작은 모델 선택 | 작을수록 좋음 |
| BIC | AIC보다 변수 수에 더 강한 패널티 | 작을수록 좋음 |

BIC는 표본이 커질 때 AIC의 한계를 보완하며, 변수 개수를 줄이는 방향의 패널티가 더 강하다.

## 관련 클래스와 함수
- statsmodels: `ols()`
- sklearn: `LinearRegression()`
- patsy: `dmatrices()`

---

# 14. 로지스틱 회귀

## 개념

로지스틱 회귀는 종속변수가 범주형일 때 사용하는 일반화 선형모형이다. 보통 이항 로지스틱 회귀를 의미하며, 종속변수는 0 또는 1의 두 범주를 갖는다.

모델 출력은 0과 1 사이의 확률값이고, 문턱값을 기준으로 0/1 분류값으로 변환한다. 기본 문턱값은 보통 0.5이다.

## 로지스틱 함수

$$
p=\frac{1}{1+e^{-z}}
$$

여기서:

$$
z=\beta_0+\beta_1x_1+\cdots+\beta_px_p
$$

## 로짓 변환

$$
logit(p)=\log\left(\frac{p}{1-p}\right)
$$

로지스틱 회귀식:

$$
\log\left(\frac{p}{1-p}\right)=
\beta_0+\beta_1x_1+\cdots+\beta_px_p
$$

## Odds와 Odds Ratio

Odds:

$$
Odds=\frac{p}{1-p}
$$

Odds Ratio:

$$
OR=e^{\beta_i}
$$

해석:
- OR > 1: $x_i$가 증가할수록 종속변수가 1일 승산 증가
- OR = 1: 해당 변수의 영향 없음
- OR < 1: $x_i$가 증가할수록 종속변수가 1일 승산 감소

시험 포인트:
- 승산비 계산은 `np.exp()`를 사용한다.
- “확률이 1.5배”보다 “승산이 1.5배”가 정확한 표현이다.

---

# 15. k-NN

## 개념

k-NN은 새로운 데이터와 가까운 k개의 데이터 포인트를 기반으로 예측하는 지도학습 알고리즘이다.

특징:
- 별도의 명시적 학습 과정이 거의 없다.
- 거리 기반 알고리즘이므로 정규화/표준화가 중요하다.
- k가 작으면 과적합, k가 크면 과소적합이 발생하기 쉽다.
- 지역적 구조에 민감하다.
- 이상치에 영향을 받을 수 있다.

## k-NN 분류

가까운 k개 이웃의 다수결로 범주를 결정한다. 이진분류에서는 동률을 피하기 위해 k를 홀수로 두는 경우가 많다.

## k-NN 회귀

가까운 k개 이웃의 평균값으로 예측한다.

## 관련 클래스
- `KNeighborsClassifier()`
- `KNeighborsRegressor()`

---

# 16. 의사결정나무

## 개념

의사결정나무는 if-then 규칙을 나무 구조로 표현하여 종속변수를 예측하는 모델이다.

특징:
- 해석이 쉽다.
- 통계적 가정이 거의 필요 없다.
- 분류나무와 회귀나무가 있다.
- 과적합 방지를 위해 깊이, 노드 크기, 불순도 기준 등을 조정한다.

## 분류나무와 회귀나무

| 구분 | 종속변수 | 분할 기준 |
|---|---|---|
| 분류나무 | 범주형 | 지니지수, 엔트로피, 카이제곱 |
| 회귀나무 | 연속형 | 분산 감소량, SSE |

## 불순도

불순도는 한 노드 안에 여러 범주가 얼마나 섞여 있는지를 나타낸다.

### 엔트로피

$$
Entropy=-\sum_{i=1}^{k}p_i\log_2p_i
$$

작을수록 순수한 노드이다.

### 지니지수

$$
Gini=1-\sum_{i=1}^{k}p_i^2
$$

이진분류에서 한 범주만 있으면 0이고, 두 범주 비율이 0.5 대 0.5이면 0.5이다.

### 정보이득

분할 전 부모 노드의 불순도에서 분할 후 자식 노드의 가중평균 불순도를 뺀 값이다.

$$
Information\ Gain=
Impurity(parent)-
\sum_{j=1}^{m}\frac{n_j}{n}Impurity(child_j)
$$

정보이득이 클수록 좋은 분할이다.

## 가지치기

사전가지치기:
- max_depth, min_samples_split 등 하이퍼파라미터로 나무 성장을 제한한다.

사후가지치기:
- 나무를 크게 성장시킨 뒤 일부 노드를 제거한다.

시험 포인트:
- 단일 범주만 있는 노드는 엔트로피와 지니지수가 모두 0이다.
- 지니지수와 엔트로피는 작을수록 순수하다.
- 정보이득은 클수록 좋다.

---

# 17. 나이브 베이즈

## 개념

나이브 베이즈는 베이즈 정리를 기반으로 한 분류기이다. 각 특성이 조건부 독립이라고 가정하기 때문에 “나이브”라고 부른다.

사후확률:

$$
P(c_i \mid doc)=
\frac{P(doc \mid c_i)P(c_i)}{P(doc)}
$$

분류에서는 분모 $P(doc)$가 모든 클래스에서 같으므로 다음 값을 비교한다.

$$
P(doc \mid c_i)P(c_i)
$$

문서 분류에서는 단어들이 독립이라고 가정하고 우도를 곱한다.

$$
P(doc \mid c_i)=\prod_{j=1}^{m}P(w_j \mid c_i)
$$

시험 포인트:
- 학습 과정이 단순하고 대규모 텍스트 데이터에 적용하기 쉽다.
- 결과를 확률 형태로 해석할 수 있다.
- 어떤 알고리즘도 항상 높은 정확도를 보장하지 않는다.
- 단어 등장 순서를 무시하는 Bag-of-Words 접근과 잘 연결된다.

---

# 18. 앙상블과 랜덤포레스트

## 앙상블

앙상블은 여러 모델을 결합하여 하나의 모델보다 더 좋은 성능을 얻으려는 방법이다.

## 배깅

배깅은 부트스트랩 표본을 여러 개 만들고, 각 표본으로 모델을 학습한 뒤 예측값을 평균 또는 투표로 결합한다.

효과:
- 분산 감소
- 과적합 완화
- 모델 안정성 향상

## 투표

| 방식 | 의미 |
|---|---|
| Hard Voting | 각 모델의 최종 예측값 다수결 |
| Soft Voting | 각 모델의 예측확률 평균 또는 합산 |

## 랜덤포레스트

랜덤포레스트는 여러 의사결정나무를 부트스트랩 표본과 무작위 변수 선택으로 학습한 앙상블 모델이다.

특징:
- 분류와 회귀 모두 가능하다.
- 통계적 가정이 거의 필요 없다.
- 단일 트리보다 과적합에 강하다.
- 트리 수가 많으면 연산시간과 메모리 사용량이 증가한다.
- 선형모델보다 해석이 어렵다.

## 변수 중요도

### MDI

노드 분할 시 불순도 감소분의 평균을 활용한다. 값이 클수록 중요도가 높다고 본다.

### Permutation Importance

특정 변수 값을 임의로 섞었을 때 모델 성능이 얼마나 떨어지는지로 중요도를 평가한다.

특징:
- 다양한 지도학습 모델에 적용 가능하다.
- 랜덤성이 있으므로 결과 재현을 위해 random seed 고정이 필요하다.

### Drop Column Importance

특정 변수를 제거한 뒤 모델을 다시 학습하고 성능 변화를 확인한다.

특징:
- 해석이 직관적이다.
- 변수마다 재학습이 필요하므로 계산량이 많다.

---

# 19. K-means 군집분석

## 개념

K-means는 데이터를 k개의 군집으로 나누는 비지도학습 알고리즘이다.

절차:
1. 군집 수 k를 정한다.
2. k개의 중심점을 초기화한다.
3. 각 데이터를 가장 가까운 중심점에 할당한다.
4. 각 군집의 평균으로 중심점을 갱신한다.
5. 중심점 변화가 작아질 때까지 반복한다.

목적은 군집 내 거리 또는 비용을 최소화하는 것이다.

시험 포인트:
- k는 사전에 정해야 한다.
- 평균 기반이라 이상치에 민감하다.
- 거리 기반이므로 정규화가 권장된다.
- k가 크다고 무조건 좋은 것은 아니다.
- 최소 반복 횟수가 정해져 있다고 단정하면 틀리다.

## 군집 타당성 지표

### 실루엣 계수

군집 내부 응집도와 다른 군집과의 분리도를 함께 본다.

$$
s(i)=\frac{b(i)-a(i)}{\max(a(i),b(i))}
$$

여기서:
- $a(i)$: 같은 군집 내 다른 점들과의 평균 거리
- $b(i)$: 가장 가까운 다른 군집까지의 평균 거리

값은 -1부터 1 사이이며, 클수록 군집이 잘 형성되었다고 본다.

### Dunn Index

군집 간 거리는 크고 군집 내 거리는 작을수록 좋은 군집이라고 평가한다.

---

# 20. 특성공학

## 개념

특성공학은 모델 성능 향상, 모델 단순화, 해석력 향상을 위해 변수를 선별하거나 새 변수를 만드는 과정이다.

중요한 점:
- 도메인 지식이 중요하다.
- 종속변수와 관련 깊은 변수를 만드는 것이 핵심이다.
- 불필요한 변수 제거는 모델을 간결하게 만든다.

## 속성 부분집합 선택법

| 방식 | 의미 | 예시 |
|---|---|---|
| Filter | 모델링 전에 통계량으로 변수 선택 | 상관계수, 카이제곱 |
| Wrapper | 모델 성능을 기준으로 변수 조합 탐색 | 전진선택, 후진제거 |
| Embedded | 알고리즘 내부에서 변수 선택 | 의사결정나무, Lasso |

---

# 21. 최종 공식 모음

## 확률

$$
P(A \mid B)=\frac{P(A \cap B)}{P(B)}
$$

$$
P(A \cap B)=P(A)P(B) \quad \text{if independent}
$$

$$
P(A)=\sum_i P(A \mid B_i)P(B_i)
$$

$$
P(B_j \mid A)=
\frac{P(A \mid B_j)P(B_j)}
{\sum_i P(A \mid B_i)P(B_i)}
$$

## 기댓값과 분산

$$
E[X]=\sum_x xp(x)
$$

$$
E[X]=\int_{-\infty}^{\infty}xf(x)dx
$$

$$
Var(X)=E[X^2]-(E[X])^2
$$

$$
E[aX+b]=aE[X]+b
$$

$$
Var(aX+b)=a^2Var(X)
$$

## 분포

$$
Bernoulli:
P(X=x)=p^x(1-p)^{1-x}
$$

$$
Binomial:
P(X=x)=\binom{n}{x}p^x(1-p)^{n-x}
$$

$$
Poisson:
P(X=x)=\frac{e^{-\lambda}\lambda^x}{x!}
$$

$$
Hypergeometric:
P(X=x)=
\frac{\binom{K}{x}\binom{N-K}{n-x}}
{\binom{N}{n}}
$$

$$
Exponential:
f(x)=\lambda e^{-\lambda x}
$$

$$
Normal:
Z=\frac{X-\mu}{\sigma}
$$

$$
t:
T=\frac{\bar{X}-\mu}{S/\sqrt{n}}
$$

$$
\chi^2:
\frac{(n-1)S^2}{\sigma^2}\sim \chi^2(n-1)
$$

$$
Gamma:
f(x)=
\frac{\lambda^\alpha}{\Gamma(\alpha)}
x^{\alpha-1}e^{-\lambda x}
$$

## 추론통계

$$
SE(\bar{X})=\frac{\sigma}{\sqrt{n}}
$$

$$
\bar{x}\pm z_{\alpha/2}\frac{\sigma}{\sqrt{n}}
$$

$$
\bar{x}\pm t_{\alpha/2,n-1}\frac{s}{\sqrt{n}}
$$

## 회귀 평가

$$
MSE=\frac{1}{n}\sum(y_i-\hat{y}_i)^2
$$

$$
RMSE=\sqrt{MSE}
$$

$$
MAE=\frac{1}{n}\sum|y_i-\hat{y}_i|
$$

$$
MAPE=\frac{100}{n}\sum\left|\frac{y_i-\hat{y}_i}{y_i}\right|
$$

$$
R^2=1-\frac{SSE}{SST}
$$

## 분류 평가

$$
Accuracy=\frac{TP+TN}{TP+TN+FP+FN}
$$

$$
Precision=\frac{TP}{TP+FP}
$$

$$
Recall=\frac{TP}{TP+FN}
$$

$$
F1=
2\times
\frac{Precision\times Recall}{Precision+Recall}
$$

$$
TPR=\frac{TP}{TP+FN}
$$

$$
FPR=\frac{FP}{FP+TN}
$$

## 거리와 유사도

$$
Euclidean:
d(x,y)=\sqrt{\sum(x_i-y_i)^2}
$$

$$
Manhattan:
d(x,y)=\sum|x_i-y_i|
$$

$$
Minkowski:
d(x,y)=\left(\sum|x_i-y_i|^p\right)^{1/p}
$$

$$
Cosine:
\frac{x \cdot y}{\|x\|\|y\|}
$$

$$
Jaccard:
\frac{|A \cap B|}{|A \cup B|}
$$

## 회귀와 트리

$$
VIF_i=\frac{1}{1-R_i^2}
$$

$$
Logit:
\log\left(\frac{p}{1-p}\right)=
\beta_0+\beta_1x_1+\cdots+\beta_px_p
$$

$$
Odds=\frac{p}{1-p}
$$

$$
OR=e^{\beta_i}
$$

$$
Entropy=-\sum p_i\log_2p_i
$$

$$
Gini=1-\sum p_i^2
$$

$$
Information\ Gain=
Impurity(parent)-
\sum_j\frac{n_j}{n}Impurity(child_j)
$$

---

# 22. 시험 함정 정리

- $P(A \mid B)$와 $P(B \mid A)$를 바꿔 쓰면 안 된다.
- 상관관계가 있다고 인과관계가 성립하는 것은 아니다.
- 피어슨 상관계수는 선형관계 중심이다. 비선형 패턴은 상관계수만으로 판단하면 안 된다.
- 값이 모두 같은 데이터의 분산과 표준편차는 0이다.
- 정규화와 표준화는 다르다. 표준화한다고 반드시 정규분포가 되는 것은 아니다.
- MAPE는 실제값이 0이면 문제가 생긴다.
- Accuracy만으로 불균형 데이터 성능을 판단하면 안 된다.
- ROC Curve는 x축 FPR, y축 TPR이다.
- k-NN은 거리 기반이므로 스케일링이 중요하다.
- k-NN은 test 데이터가 들어오기 전에 일반적인 파라미터 학습을 하지 않는 lazy learning 방식이다.
- 의사결정나무는 통계적 가정이 거의 필요 없다.
- 단일 범주 노드의 엔트로피와 지니지수는 0이다.
- K-means는 비용을 최대화하는 것이 아니라 최소화하는 방향으로 중심점을 갱신한다.
- 다중공선성은 독립변수들 사이의 강한 상관 문제이다.
- VIF는 작을수록 좋고 최소값은 1이다.
- 결정계수는 상관계수처럼 -1부터 1까지라고 단정하면 안 된다.
- 로지스틱 회귀의 출력은 확률이며, 문턱값으로 분류값을 만든다.
- 어떤 알고리즘도 항상 높은 정확도를 보장하지 않는다.
