5장 정형 데이터 마이닝
2절 분류분석
(1) 분류분석과 예측분석
정의
- 분류분석
- 데이터를 특정 범주(클래스)로 분류하는 분석
- 데이터의 실체가 어떤 그룹에 속하는지 예측하는데 사용되는 기법
- 클러스터링과 유사하지만, 분류분석은 각 그룹이 정의되어 있음
- Supervised learning에 해당하는 예측 기법
- ex) 로지스틱 회귀
- 예측분석
- 숫자형(연속형)값을 예측하는 분석
- 시계열 분석처럼 시간에 따른 값 두 개만을 이용해 앞으로의 매출 또는 온도 등을 예측하는 것
- 모델링을 하는 입력 데이터가 어떤 것인지에 따라 특성이 다름
- 여러 개의 다양한 설명변수(독립변수)가 아닌, 한 개의 설명변수로 생각하면 됨
- ex) 회귀분석, 시계열 분석
공통점과 차이점
- 공통점
- 레코드의 특정 속성의 값을 미리 알아맞히는 점
- 차이점
- (1) 분류 : 레코드(튜플)의 범주형 속성의 값을 알아맞히는 것
- (2) 예측 : 레코드(튜플)의 연속형 속성의 값을 알아맞히는 것
예시
- 분류의 예
- 학생들의 국어, 영어, 수학 점수를 통해 내신등급(범주형)을 알아맞히는 것
- 카드회사에서 회원들의 가입 정보를 통해 1년 후 신용등급(범주형)을 알아맞히는 것
- 예측의 예
- 학생들의 여러 가지 정보를 입력하여 수능점수(연속형)를 알아맞히는 것
- 카드회사의 회원들이 가입 정보를 통해 연 매출액(연속형)을 알아맞히는 것
(2) 로지스틱 회귀분석(Losigtic Regression)

- 정의
- 회귀분석: x,y가 연속형이며, 모집단이 정규분포를 따른다는 가정하에 x,y를 산점도로 표현했을 때 다양한 점들 사이를 지나는 회귀식을 찾아내는 방식
- 로지스틱 회귀분석은 분류하려는 범주(카테고리)가 성공/실패, 예/아니오, 남/여 등 2가지 범주로 나눠진 경우에 적용
- X(입력값) : 연속형 또는 범주형 / Y(출력값) : 범주형
- Y = (0,1)일 경우의 문제점(Y가 이산형인데 선형회귀를 사용했을 때 발생하는 문제)
- 결정계수(R^2)가 매우 낮음
- f-test, t-test를 통한 회귀계수의 유의성 검정이 어려움
- OLS(Ordinary Least Squares)를 통한 계수 추정이 무의미하고 음의 값이 나오거나 부호가 달라질 수 있음
- 이진형 변수의 특성상 이분산 가능성이 높음
- 회귀식 추정 : 최소제곱법으로 a와 b가 얼마인지 계산해서 회귀식을 찾아냄
(예를 들면 y = x+5, y=2x-1과 같은 1차 함수)
이렇게 찾은 회귀식으로 x값에 따라 y값이 어떻게 변하는지 예측
- X값 범위 : -Inf ~ Inf
- Y값 범위 : -Inf ~ Inf
정의
-
x값은 -Inf ~ Inf의 범위를 갖고 있음
-
그러나 확률인 y값은 0~1의 값을 갖기 때문에 y값이 다시 -Inf ~ Inf값을 가질 수 있게 수식을 변환시켜 줘야 함
1)선형회귀식 y = ax + b
2)Y를 확률값P로 바꾼다(P=ax+b, P를 변현시켜서 -Inf ~ Inf의 범위 안의 값으로 만든다)
3)첫 번째 시도로 P 대신 Odds를 적용한다(Y=P=P/(1-P), 오즈는 0 ~ Inf 값을 갖게 된다)
4)두 번째 시도로 P 대신 로그 오즈를 적용한다(Ln(Odds) = ax + b, 로그 오즈는 -Inf ~ Inf값을 갖게 된다)
5)Ln(Odds) = ax+b를 선형회귀식으로 변환한다
Ln(P/(1-P)) = ax+b
P/(1-P) = e(ax+b)
(1-P)/P = 1/e(ax+b)
1/P-1 = 1/e(ax+b)
1/P = 1/e(ax+b)+1
1/P = (1+e(ax+b))/e(ax+b)
P = e(ax+b)/(1+e(ax+b)) = 1/1+e-(ax+b)
-
로지스틱 회귀 모형, 시그모이드 함수

-
0/1로 표현된 이산형 데이터를, 수학적으로 0~1 사이의 확률로 예측할 수 있게 변환한 것이 로지스틱 회귀이다.
→ 데이터는 이산형이지만, 예측 결과는 연속형 확률이다.
-
Odds = P(1-P) = 성공 확률/실패 확률
-
성공 확률이 1에 가까울수록(클수록) Odds값이 커짐
-
성공 확률이 0.5에 가까울수록(작을수록) Odds값이 작아짐
ex)2002년 한국이 월드컵 16강에 진출할 확률이 0.1이라고 할 대, Odds = 0.1/(1-0.1) = 0.1/0.9이다.
한국에 1를걸면승리할경우9를 상금으로 받게 된다.
ex)브라질이 월드컵 16강에 진출할 확률은 0.8이라고 할 때, Odds=0.8/(1-0.8) = 0.8/0.2 = 4이다.
브라질에 4를걸면승리할경우1를 상금으로 받게 된다.
해석방법
- 모형의 적합성 검정과 회귀계수의 유의성 검정
- 모형의 유의성 검정은 -2logL, AIC Schwatz Criterion (Adjuest R^2와 비슷)
- 회귀계수의 유의성 검정은 Wald의 x^2 검정통계량을 이용
- 다중 로지스틱 회귀분석
- 다중공선성 문제는 상관없다
- 잔차분석(독립성, 등분산성, 정규성)은 하지 않는다
(3) k-최근접 이웃법(k-Nearest Neighbor, k-NN)
원리
- 새로운 데이터의 클래스(범주)를 해당 데이터와 가장 가까이 있는 k개 데이터들의 클래스(범주)로 결정한다
- 예를 들어 아래의 그림에서 '?'의 클래스를 구분하고자 하면, 주변에 있는 이웃의 개수를 k라고 했을 때, k=1로 설정할 경우 '?'는 원으로 분류되고 k=3으로 설정할 경우 '?'는 원으로 분류됨. 일종의 다수결과 같이 분류하고자 하는 데이터와 가장 가까운 이웃들이 주로 속해 있는 클래스트(범주)를 선택하는 것임
- 설명변수와 반응변수에 따른 범주형 자료 분석 방법론은 아래와 같이 분류할 수 있음

k선택
- k의 선택은 학습의 난이도와 데이터의 개수에 따라 결정될 수 있으며, 일반적으로는 훈련 데이터 개수의 제곱근으로 설정함
- k를 너무 크게 설정할 경우 과소적합(Underfitting)이 발생하며 k를 너무 작게 하면 과대적합(Overfitting)이 발생할 수 있음
이웃 간의 거리 계산 방법

- k-NN알고리즘에서 최근접 이웃 간의 거리를 계산할 때 유클리디안 거리(Euclidean dist), 맨해튼 거리(Manhattan dist), 민코우스키 거리(Minkowski dist)등을 사용할 수 있으며, 대표적으로 유클리디안 거리를 사용함
- 위 표와 같이 A,B의 두 가지 범주로 구분된 데이터 7개가 있을 때, K-NN 분류 알고리즘을 이용하여 z1과 z2데이터는 어떤 범주에 속하는지 분류하고자 한다

- z1데이터의 이웃으로는 B범주에 속하는 데이터가 2개, A범주에 속하는 데이터가 1개이므로 z1은 B범주로 분류함
- 반면 z2데이터의 이웃으로는 A범주에 속하는 데이터가 2개, B범주에 속하는 데이터가 1개이므로 z2는 A범주로 분류함
(4) 서포트 벡터 머신(Support Vector Machine, SVM)
원리
- 데이터가 표현된 공간에서 분류를 위한 경계를 정의함
- 즉, 분류되지 않은 새로운 값이 입력되면 경계의 어느 쪽에 속하는지를 확인하여 분류 과제를 수행
- 원과 사각형을 구분 짓는 경계선은 아주 많이 생성될 수 있으며, 수많은 경계선 중 SVM은 두 집단에 속한 각 데이터들 사이에서 가장 큰 폭을 가진 경계를 찾음
- A,B 경계면과 같이 데이터의 각 그룹을 구분하는 분류자를 결정 초평면(Decision Hyperline)이라고 함
- 각 그룹에 속한 데이터들 중에서도 초평면에 가장 가까이에 붙어있는 최전방 데이터들이 결정 경계를 지지(Support)하기 때문에 이 점들을 서포트 벡터(Support Vector)라 함
- 서포트 벡터와 초평면 사이의 수직거리는 마진(Margin)을 최대화하는 초평면(Maximum Margin Hyperplane : 최대 마친 초평면, MMH)을 찾아 분류와 회귀를 수행함

장단점

(5) 나이브 베이즈 분류(Naive Bayes Classification)
개념
- 나이브베이즈 확률론을 기반으로 하는 알고리즘으로, 데이터에서 변수들에 대한 조건부 독립을 가정하고 클래스에 대한 사전 정보와 데이터로부터 추출된 정보를 결합하고, 베이즈 정리(Bayes' Theorem)를 이용하여 어떤 데이터가 특정 클래스에 속하는지를 분류하는 알고리즘
- 텍스트 분류에서 문서를 여러 범주(ex. 스팸, 경제, 스포츠 등) 중 하나로 판단하는 문제에 대한 솔루션으로 사용될 수 있음
베이즈 정리(Bayes' Theorem)
- 나이브 베이즈 알고리즘의 기본이 되는 개념으로, 두 확률 변수의 사전 확률과 사후 확률 사이의 관계를 나타내는 정리
- 사건 A와 B가 있을 때, 사건 B가 일어난 것을 전제로 한 사건 A의 조건부 확률을 구하고자 할 때 현재 가지고 있는 정보는 사건 A가 일어난 것을 전제로 한 사건 B의 조건부 확률, A의 확률, B의 확률 뿐이면 원래 구하고자 했던 '사건 B가 일어난 것을 전제로 한 사건 A의 조건부 확률'을 다음과 같이 구할수 있다는 것이 베이즈 정리(Bayes' Theorem)임
P(A∣B)=P(B)P(B∩A)=P(B)P(A)P(B∣A)=P(A)P(B∣A)+P(Ac)P(B∣Ac)P(A)P(B∣A)
나이브 가정:
- "나이브"라는 이름은 각 특성이 서로 독립적이라는 가정에서 비롯됩니다. 즉, 어떤 특정 클래스에 속하는 데이터의 특성들은 서로 영향을 주지 않는다고 가정합니다. 이 가정은 실제로는 성립하지 않을 수 있지만, 계산을 단순화하고 효율성을 높입니다.
특성 추출:
각 클래스에 대해 특성 특성이 발생할 확률을 계산합니다. 이러한 활동들은 기반으로 새로운 데이터가 주어졌을 때, 가장 높은 확률을 가진 클래스를 예측합니다.
장점:
단순하고 이해하기 쉬움
계산 속도가 빠름
적은 데이터로도 효과적으로 학습 가능
단점:
독립성 가정이 실제 데이터에 맞지 않을 경우 성능이 저하될 수 있음
특정 클래스의 데이터가 매우 적은 경우, 예측이 부정확할 수 있음
작동 원리
-
하나의 속성 값을 기준으로 다른 속성이 독립적이라 전제했을 때 속성 값이 클래스 분류에 미치는 영향을 측정
-
속성값에 대해 다른 속성이 독립적이라는 가정은 클래스 조건 독립성(Class Conditional Independence)이라고 함
-
데이터 셋이 특성(독립변수) X = (X1,X2,...,Xn)를 담고 있고, k개의 클래스 라벨 C1, C2,...,Ck이 있을 때, 다음 식을 만족함
P(Ci∣X)>P(Cj∣X),1≤j≤k,j=i
-
조건부 확률 P(Ci|X)이 최대일 경우를 찾으며, 다음과 같은 식으로 확률을 계산함
P(Ci∣X)=P(X)P(Ci)P(X∣Ci)
-
P(X|Ci)의 계산을 위해 클래스 조건 독립성을 두고 아래 식으로 계산함
P(X∣ci)=k=1∏n[P(x1∣ci)×P(x2∣ci)×⋯×P(xn∣ci)]