728x90
Conditional Probability(조건부 확률) |
- 사건 A가 발생했다는 조건에 사건 B가 발생할 확률
- 사건 A가 발생했을때 사건 B의 조건부 확률
- P(B|A)=P(B∩A)P(A)
- 특징
- P(B|A)≠P(A|B)
- P(A∩B)=P(B)P(A|B)=P(A)P(B|A)
- P(A|B)=P(A∩B)P(B)=P(A)P(B|A)P(B)
- 사건 B가 발생했을때 사건 A가 발생할 확률을 사건 A가 발생했을때 사건 B가 발생할 확률로 알아낼수 있다.
- P(B|A) 로 P(A|B) 를 알아낼수 있다.
Examples |
- A를 구매한 사람에게 B를 구매하라고 추천하는게 좋을까?
- P(A)=0.7,P(B)=0.6,P(A∩B)=0.5
- A를 구매한 사람이 B를 구매할 확률 : P(B|A)=P(A∩B)P(A) = 0.50.7=0.714
- B를 구매할 확률 : P(B)=0.6
- 결론 : A를 구매하고 B를 구매하는것이 그냥 B를 구매하는 확률보다 높다. -> 추천하는것이 좋다!
- A를 구매한 사람이 B를 구매할 확률로 B를 구매한사람이 A를 구매할 확률을 구할수 있다.
- B를 구매한사람이 A를 구매할 확률 : P(A|B)=P(A)P(B|A)P(B)=0.7∗0.7140.6=0.833
Q. 아이폰 구매자에게 아이패드 구매도 추천하는 것이 맞을까?
import pickle
with open('purchase_apple (1).pkl', 'rb') as file:
data = pickle.load(file)
여기까지는 기본으로 주어진 데이터
예시로 리스트 인덱스 [:2]번까지만 보자면
data[:2]
[{'customer_id': 10023, 'iPhone': 1, 'iPad': 1},
{'customer_id': 10044, 'iPhone': 0, 'iPad': 1}]
고객의 아이디와 아이폰 및 아이패드 구매 여부.
이제 총 구매고객 , 아이폰만 구매한 고객, 아이패드만 구매한 고객, 아이폰과 아이패드 모두 구매한 고객의 수를
알아보도록 하자.
total = len(data) #len(data)하면 list의 데이터 개수와 같으니까
iphone = ipad = iphone_ipad = 0
for user in data:
iphone += data[iPhone]
ipad += data[iPad]
if (user[iPhone]==1) and (user[iPad]==1):
iphone_ipad += 1
total, iphone, ipad, iphon_ipad
(3593, 1798, 1510, 1291)
P ( iPhone) : 전체 인원 중 iPhone 구매한 사람 비율
p_iPhone = round(iphone / total, 4)
P ( iPad) : 전체 인원 중 iPad 구매한 사람 비율
p_iPad = round(ipad / total, 4)
P ( iPhone_iPad) : 전체 인원 중 iPhone & iPad 모두 구매한 사람 비율
p_iPhone_iPad = round(iphone_ipad / total, 4)
p_iPhone, p_iPad, p_iPhone_iPad
(0.5004, 0.4203, 0.3593)
※ P (iPad | iPhone) : 아이폰 구매한 사람 중에 아이패드를 구매한 사람
round(p_iPhone_iPad / p_iPhone, 4)
0.718
아이폰 구매자 중 아이패드도 구매한 사람인 비율 10명중 7명꼴
둘다 가지고 있는 사람이 많은 건 아니지만
아이폰만 산 사람들 중에서 70%는 아이패드를 가지고 있네..
그럼 아이폰 구매자들한테 아이패드 구매도 추천해볼만 하지 않나 ?ㅋㅋ
728x90