bayes Teorisi python code, Bayes’ theorem python

Merhaba,

Bu yazıda bayes teorisiden kısaca bahsedip, bir soru ile python kod bloğunda gösterimini yapacağız.( Kod derleme için Google hizmeti olan colab kullanabilirsiniz)

Bu teorem bir sonucun sebebini bulurken sonucun hangi olasılıkla hangi sebepten kaynaklandığını bulmaya yardımcı olur. Bu teorem koşullu olasılıktan faydalanır.

Formül: P(A|B) = P(B|A) . P(A) / P(B)

Problem :Bir araştırmaya göre her 20 araçtan 1 tanesi, fren ile ilgili ortaya çıkan belli bir hataya düşmekte ve tam güvenilir olmamasına rağmen yapılan hata test sonuçlarına göre, fren bozukluğu olan bir aracın hata testi %60 pozitif, sorunsuz çalışan araç için ise %5 pozitif sonuç vermektedir. Bu bilgilere göre fren testi pozitif olan aracın gerçekten freninin bozuk olma olasılığı nedir? (P(A|B)?( Pozitif çıkan fren testinin bozuk çıkma olasılığı)

Çözüm :P(A) : Aracın freninin bozuk olma olasılığı = 1/20

P(B) : Testin pozitif çıkması olasılığı = 1/20 * 0.60 + 19/20 * 00.5 = 155/2000

P(B|A) : Freni bozuk aracın testinin pozitif çıkma olasılığı = 0.60

P(A|B)=P(B|A)*P(A)/P(B) => (0.60 * 1/20) / (155/2000) = 0.306 =~ %3.1 bulunur.

Python Kod

class bayes:
  def __init__(self, numOfSampleSpace, count,positiveTest,smoothCount):
    self.numOfSampleSpace = numOfSampleSpace
    self.count = count
    self.positiveTest = positiveTest
    self.smoothCount = smoothCount
  def bayesTheoryCalc(self):    
      pa = count/numOfSampleSpace
      pb = pa*(positiveTest/100) +(numOfSampleSpace- count)*smoothCount/100
      pba = positiveTest/100
      pab = pba*pa /pb
      print("Sonuç:", pab)
numOfSampleSpace = int(input("Toplam örnek uzay: "))      # 20
count= int(input("Kaç adet?: "))                          # 1
positiveTest= int(input("Freni bozuk hata testi pozitif ?: "))      # Yüzde 60
smoothCount = int(input("Freni sorunsuz araç adet başarılı test?: "))      #Yüzde 5
calc = bayes(numOfSampleSpace,count,positiveTest,smoothCount)
calc.bayesTheoryCalc()
 
Çıktı:
bayes teorisi
 
 
 

Soru ve iletişim için  iletişim  formundan  bana ulaşabilirsiniz.

İlerleyen yazılarda görüşmek üzere.

Oğuz ALTUNTAŞ © 2020

error: Oğuz ALTUNTAŞ © 2020