Python'da bayes teoremi nasıl uygulanır?
Bayes teoremi iki A ve B olayı için aşağıdakileri belirtir :
P(A|B) = P(A)*P(B|A) / P(B)
Altın:
- P(A|B): B olayı verildiğinde A olayının meydana gelme olasılığı.
- P(B|A): A olayının meydana geldiği göz önüne alındığında, B olayının meydana gelme olasılığı.
- P(A): A olayının olasılığı.
- P(B): B olayının olasılığı.
Örneğin havanın bulutlu olma olasılığının %40 olduğunu varsayalım.
Ayrıca belirli bir günde yağmur yağma olasılığının %20 olduğunu varsayalım.
Ayrıca yağmurlu bir günde bulutlu olma olasılığının %85 olduğunu varsayalım.
Belirli bir günde dışarısı bulutluysa, o gün yağmur yağma ihtimali nedir?
Çözüm :
- P(bulutlu) = 0,40
- P(yağmur) = 0,20
- P(bulutlu | yağmur) = 0,85
Böylece şunları hesaplayabiliriz:
- P(yağmur | bulutlu) = P(yağmur) * P(bulutlu | yağmur) / P(bulutlu)
- P(yağmur | bulutlu) = 0,20 * 0,85 / 0,40
- P(yağmur | bulutlu) = 0,425
Belirli bir günde dışarısı bulutluysa, o gün yağmur yağma ihtimali %42,5’tir .
Bayes teoremini Python’da uygulamak için aşağıdaki basit fonksiyonu oluşturabiliriz:
def bayesTheorem (pA, pB, pBA): return pA * pBA / pB
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: Python’da Bayes teoremi
Aşağıdaki olasılıkları bildiğimizi varsayalım:
- P(yağmur) = 0,20
- P(bulutlu) = 0,40
- P(bulutlu | yağmur) = 0,85
P(yağmur | bulutlu) hesaplamak için aşağıdaki sözdizimini kullanabiliriz:
#define function for Bayes' theorem def bayesTheorem (pA, pB, pBA): return pA * pBA / pB #define probabilities pRain = 0.2 pCloudy = 0.4 pCloudyRain = 0.85 #use function to calculate conditional probability bayesTheorem(pRain, pCloudy, pCloudyRain) 0.425
Bu bize, belirli bir günde dışarısı bulutluysa, o gün yağmur yağma ihtimalinin 0,425 veya %42,5 olduğunu söyler.
Bu, daha önce manuel olarak hesapladığımız değerle eşleşiyor.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Python’da Koşullu Olasılık Nasıl Hesaplanır?
Python’da beklenen değer nasıl hesaplanır
Python’da kırpılmış ortalama nasıl hesaplanır