2023. 7. 3. 13:56ㆍ카테고리 없음
https://www.youtube.com/watch?v=me--WQKQQAo
나이브 베이즈 알고리즘은 넷플릭스에서도 사용하는 알고리즘으로 사용자의 추천 알고리즘이다.
빌게이츠도 이 알고리즘을 되게 강조했다고 한다.
인간처럼 사고하는 알고리즘이다.
꼭 알아야 하는 수학적 개념이 확률과 통계이다.
https://www.youtube.com/watch?v=KueAHu7iFNE
conditional probability(조건부 확률).
https://doctorinformationgs.tistory.com/107
- 100이라는 숫자 중에 하나를 뽑는다. 1/100
- 100이라는 숫자 중 하나를 뽑을건데, 1의자리의 수가 5이다. 1/10
- 100이라는 숫자 중 하나를 뽑을건데, 짝수다. 1/2
likelihood(가능성, 우도) :
예를 들면 물건을 구매할까? 하지 않을까? 할 때 어떤 현상을 체크하는 것.(점원에게 말을 걸까? 안걸까?)
https://jinseob2kim.github.io/probability_likelihood.html
Posterior Probability(사후 확률) :
어떤 현상이 관측됐을 때, 특정 class에서 발생했을 확률.
예시.
prior probability(사전확률)
B : not B = 2 : 8
베이즈 업데이트 : 사전 확률을 관찰해서 사후 확률로 업데이트 하는 것.
베이즈 추정 : 결과로 부터 원인을 추정하는 것.
암 키트 추정하기.
여기서 likelihood는 '실제로 암에 걸린 사람이 키트 검사에서 양성 결과를 받을 확률'을 의미하고
사후확률은 '키트검사에서 양성 결과를 받은 사람이 실제로 암에 걸릴 확률'을 의미한다.
# # 주어진 조건
P_Cancer = 0.001
P_No_Cancer = 1 - P_Cancer
P_Positive_Kit_Positive = 0.95
P_Positive_Kit_Negative = 1-P_Positive_Kit_Positive
P_Negative_Kit_Negative = 0.98
P_Negative_Kit_Positive = 1-P_Negative_Kit_Negative
print('-----Likelihood-----')
print('암걸린 사람이 암키트에 양성이라고 나올 확률 : ', P_Cancer)
print('암걸린 사람이 암키트에 음성이라고 나올 확률 : ', P_No_Cancer)
print('걸리지 않은 사람이 암키트에 양성이라고 나올 확률 : ', P_Negative_Kit_Positive)
print('걸리지 않은 사람이 암키트에 음성이라고 나올 확률 : ', P_Negative_Kit_Negative)
print('-----Posterior Probability-----')
print('양성결과를 받은 사람이 실제로 암에 걸릴 확률 : ', (P_Cancer*P_Positive_Kit_Positive)/(P_Cancer*P_Positive_Kit_Positive+P_No_Cancer*P_Negative_Kit_Positive))
print('양성결과를 받은 사람이 실제로 암에 걸리지 않을 확률 : ', (P_No_Cancer*P_Negative_Kit_Positive)/(P_Cancer*P_Positive_Kit_Positive+P_No_Cancer*P_Negative_Kit_Positive))
print('음성결과를 받은 사람이 실제로 암에 걸릴 확률 : ', (P_Cancer*P_Positive_Kit_Negative)/(P_Cancer*P_Positive_Kit_Negative+P_No_Cancer*P_Negative_Kit_Negative))
print('음성결과를 받은 사람이 실제로 암에 걸리지 않을 확률 : ', (P_No_Cancer*P_Negative_Kit_Negative)/(P_Cancer*P_Positive_Kit_Negative+P_No_Cancer*P_Negative_Kit_Negative))