본문 바로가기

Python/▶ Python

②일차 Quiz - 아이폰과 아이패드

728x90

Conditional Probability(조건부 확률)

  • 사건 A가 발생했다는 조건에 사건 B가 발생할 확률
  • 사건 A가 발생했을때 사건 B의 조건부 확률
  • P(B|A)=P(BA)P(A)
  • 특징
    • P(B|A)P(A|B)
    • P(AB)=P(B)P(A|B)=P(A)P(B|A)
    • P(A|B)=P(AB)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(AB)=0.5
    • A를 구매한 사람이 B를 구매할 확률 : P(B|A)=P(AB)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.70.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

'Python > ▶ Python' 카테고리의 다른 글

TIL ④일차  (0) 2023.01.05
TIL ③일차  (0) 2023.01.04
②일차 Quiz - 윤년, Fizzbuzz, left-shift  (0) 2023.01.03
TIL ②일차  (2) 2023.01.03
TIL ①일차  (0) 2023.01.02