1. 베이즈 정리
A 사건이 일어났을 때 B 사건이 일어날 확률을 계산 할때 (1) 사건들이 서로 독립인 경우와 (2) 사건들이 서로 영향을 미치는 경우를 구분해야 합니다. (2)인 경우 B 사건이 일어날 확률은 높아져야 하기 때문입니다. 이것을 조건부 확률이라고 합니다.
A와 B가 연달아 일어날 확률은 P(A) * P(B|A) 로 계산할 수 있으며, P(A) 는 사건 A가 먼저 일어났다는 의미에서 사전확률 P(B|A)는 사건B가 나중에 일어났다는 의미에서 사후확률이라고 합니다.
2. 나이브 베이즈
나이브 베이즈는 주로 텍스트마이닝에서 많이 사용됩니다.
텍스트 분석을 할 때, 어떠한 특정 단어가 나타날 확률을 일일이 구할 수 없으므로 모두 같다고 생각을 하고,
특정 단어가 있을 때 그것이 어떠한 분류에 속할지 조건부 확률을 구하는 것과 관련된 것이 나이브 베이즈 입니다.
예를 들어 콜센터 문의 내용 중 '금리'라는 단어가 있을 때 이 문서가 대출과 관련이 되어 있을 확률을 구하려면, 계산식은 다음과 같습니다.
P(대출|'금리') = P('금리'|대출) * P(대출) / P('금리')
단어가 1개만 있는 경우에 사용할 수 있는 계산입니다.
그런데, 만약 단어가 여러개 한꺼번에 고려할 때에는 위의 식을 사용할 수 없습니다.
이때 나이브 베이즈는 '구할 수 없는 확률은 동일하다'고 가정합니다.
예를 들어 '금리', '문의', '변동' 등의 단어가 나타났을 때 이것이 대출관련일 확률과 인플레이션 관련 문서일 확률을 구하려면 다음과 같은 계산식을 활용할 수 있습니다.
P(대출관련 | X) = P(대출관련) * P('금리'|대출관련) * P('문의'|대출관련) * P('변동'|대출관련)
P(인플레이션 관련 | X) = P(인플레이션 관련) * P('금리'|인플레이션 관련) * P('문의'|인플레이션 관련) * P('변동'|인플레이션 관련)
그리고 이 두 가지 확률을 비교해서 더 높은 쪽으로 예측을 하는 것입니다.
이것은 두 가지 분류로 예측하는 경우이고, 멀티클래스 옵션을 사용하면 나이브 베이즈로 2가지 확률이 아니라 여러 가지 분류를 할 수 있습니다.
model = MultinomialNB()
나이브 베이즈는 긍정/부정 예측에도 활용할 수 있고, 간단하면서 쉬워서 많이 활용이 됩니다.
'IT,SW,Data,Cloud,코딩' 카테고리의 다른 글
[자격증 공부] Salesforce Certified Marketing Cloud Administrator 정보 및 시험 준비, 그리고 합격 후기 (14) | 2022.04.29 |
---|---|
[AWS 공부] AWS 솔루션 살펴보기 + AWS 웹서버 아키텍쳐 및 로드밸런싱 기초 내용 (0) | 2022.04.26 |
주성분분석(PCA)와 밀도기반 군집분석(DBSCAN) (0) | 2022.02.22 |
텍스트마이닝 (0) | 2022.02.17 |
SVM 알고리즘과 분류기, SVR 알고리즘 (0) | 2022.02.10 |
군집분석 Clustering (0) | 2022.02.08 |
KNN(K-Nearest Neighbor) (0) | 2022.02.03 |
[초보자용 Git 설명] Git 기본 개념 및 Git Flow 관련 용어 이해하기 (0) | 2022.02.01 |
댓글