Python에서 조건부 확률을 계산하는 방법


사건 B가 발생한 경우 사건 A 가 발생할 조건부 확률은 다음과 같이 계산됩니다.

P(A|B) = P(A∩B) / P(B)

금:

P(A∩B) = 사건 A 와 사건 B 가 모두 발생할 확률입니다.

P(B) = 사건 B가 발생할 확률.

다음 예에서는 이 공식을 사용하여 Python에서 조건부 확률을 계산하는 방법을 보여줍니다.

예: Python에서 조건부 확률 계산

야구, 농구, 축구, 축구 중 어떤 스포츠를 선호하는지 묻는 설문조사를 300명에게 보낸다고 가정해 보겠습니다.

설문 조사 응답을 보관하기 위해 Python에서 다음 테이블을 만들 수 있습니다.

 import pandas as pd
import numpy as np

#create pandas DataFrame with raw data
df = pd. DataFrame ({' gender ': np. repeat (np. array (['Male', 'Female']), 150),
                   ' sport ': np. repeat (np. array (['Baseball', 'Basketball', 'Football',
                                                'Soccer', 'Baseball', 'Basketball',
                                                'Football', 'Soccer']), 
                                    (34, 40, 58, 18, 34, 52, 20, 44))})

#produce contingency table to summarize raw data
survey_data = pd. crosstab (index=df[' gender '], columns=df[' sport '], margins= True )

#view contingency table
survey_data

sport Baseball Basketball Football Soccer All
gender					
Female 34 52 20 44 150
Male 34 40 58 18 150
All 68 92 78 62 300

관련 : pd.crosstab()을 사용하여 Python에서 분할표를 만드는 방법

다음 구문을 사용하여 배열에서 값을 추출할 수 있습니다.

 #extract value in second row and first column 
survey_data. iloc [1, 0]

[1] 34

개인이 좋아하는 스포츠로 야구를 선호하는 경우 다음 구문을 사용하여 개인이 남성일 확률을 계산할 수 있습니다.

 #calculate probability of being male, given that individual prefers baseball
survey_data. iloc [1, 0]/survey_data. iloc [2, 0]

0.5

그리고 다음 구문을 사용하여 개인이 여성이라는 점을 고려하여 개인이 가장 좋아하는 스포츠로 농구를 선호할 확률을 계산할 수 있습니다.

 #calculate probability of preferring basketball, given that individual is female
survey_data. iloc [0,1]/survey_data. iloc [0, 4]

0.3466666666666667

이 기본 접근 방식을 사용하여 분할표에서 원하는 조건부 확률을 계산할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 확률 관리에 대한 추가 정보를 제공합니다.

총 확률의 법칙
확률 분포의 평균을 찾는 방법
확률 분포의 표준 편차를 찾는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다