[GD-P2] 나이브 베이즈 분류, F1-score

데이터 여행자·2021년 4월 9일
0

나이브 베이즈 분류

[머신러닝] 나이브 베이즈(Naive Bayes) 분류 (2/2) - 베이즈 정리 (Bayes' Theorem) 쉽게 이해하기 정리

  • 조건 확률은 2가지 종류 존재

  • 두 사건이 독립적일 때(두 사건이 서로 영향을 끼치지 않음)
    P(AB)=P(A)P(B)P(A \cap B) = P(A) * P(B)
    P(AB)=P(A)P(A|B) = P(A)
    P(BA)=P(B)P(B|A) = P(B)

  • 두 사건이 종속적일 때
    P(AB)=P(A)P(BA)P(A \cap B) = P(A) * P(B|A)

조건 확률의 정의를 사용해서 나이브 베이즈 정리를 증명할 수 있다.

Bayes' Theorem

P(BA)=P(AB)P(B)P(A)P(B|A) = \frac {P(A|B)P(B)}{P(A)}

증명: P(BA)=P(AB)P(A)=P(BA)P(A)=P(AB)P(B)P(A)P(B|A) = \frac {P(A \cap B)} {P(A)} =\frac {P(B \cap A)} {P(A)} =\frac {P(A|B)P(B)}{P(A)}

다항일 경우....

P(Aw0,w1,...,wn)=P(w0,w1,...,wnA)P(A)P(w0,w1,...,wn)P(A|w_0, w_1, ... ,w_n)=\frac {P(w_0, w_1, ... , w_n|A) * P(A)}{P(w_0, w_1, ... , w_n)}

문제

나이브 베이즈 정리를 사용한 스팸 메일 필터를 구현했다고 하자. 이메일 10개, 스팸 메일이 3개, 'free'라는 단어가 들어간 메일이 4개가 있다고 하자. 이제 'free'가 들어간 이메일이 스팸 메일인지 아닌지 판단하자.

  • 풀이: 우선 필요한 확률을 계산한다.

p(spam)=310p(spam) = \frac {3}{10}
p(free)=410p(free) = \frac {4}{10}
P(freespam)=23P(free|spam) = \frac {2}{3} (스팸 메일 중 free가 들어간 이메일의 확률)

  • 답: P(spamfree)=P(freespam)P(spam)P(free)P(spam|free) = \frac {P(free|spam)P(spam)}{P(free)}=23310410=0.5= \frac {{\frac {2}{3}} * {\frac {3}{10}}}{{\frac {4}{10}}} = 0.5

Confusion matrix, Precision, Recall, Accuracy, F1-score

분류성능평가지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도) 정리

  • True Positive(TP) : 실제 True인 정답을 True라고 예측 (정답)

  • False Positive(FP) : 실제 False인 정답을 True라고 예측 (오답)

  • False Negative(FN) : 실제 True인 정답을 False라고 예측 (오답)

  • True Negative(TN) : 실제 False인 정답을 False라고 예측 (정답)

  • Precision
    모델이 True라고 분류한 것 중 실제 True인 것의 비율. Positive 정답률

(Precision) = TPTP+FP\frac {TP}{TP + FP}

  • Recall
    실제 True인 것 중 모델이 True라고 예측한 것의 비율. sensitivity, hit rate.

(Recall) = TPTP+FN\frac {TP}{TP + FN}

Precision과 Recall은 trade-off 관계이고 두 지표가 높을수록 좋은 모델이다.

  • Accuracy
    True를 True로, False를 False로 옳게 예측한 경우. 가장 직관적으로 모델의 성능을 나타내는 평가 지표. 그러나 data의 domain이 불균형하면 예측 성능이 낮아진다.

(Accuracy) = TP+TNTP+FN+FP+TN\frac {TP + TN}{TP + FN + FP + TN}

  • F1 Score
    Precision과 Recall의 조화 평균. 데이터 label이 불균형할 때 모델의 성능을 정확히 평가할 수 있고 성능을 하나의 숫자로 표현한다.

(F1-score) = 2 x PrecisionxRecallPrecision+Recall\frac {Precision x Recall}{Precision + Recall}

0개의 댓글