Bilişim dünyasına kaliteli, özgün ve Türkçe içerikler kazandırmayı hedefleyen bir platform..

friends friends friends

Bayesian Network

# pip install pgmpy pandas scikit-learn

import pandas as pd
from pgmpy.models import BayesianNetwork
from pgmpy.estimators import MaximumLikelihoodEstimator
from pgmpy.inference import VariableElimination

# Örnek veri seti
data = pd.DataFrame({
    'Age': ['Young', 'Young', 'Old', 'Old', 'Old', 'Young'],
    'BMI': ['Normal', 'High', 'High', 'High', 'Normal', 'Normal'],
    'Smoking': ['No', 'Yes', 'Yes', 'No', 'Yes', 'No'],
    'Hypertension': ['No', 'No', 'Yes', 'Yes', 'Yes', 'No']
})

print(data)

# Bayesian Network yapısı
# Age ---> Hypertension
# BMI ---> Hypertension
# Smoking ---> Hypertension

model = BayesianNetwork([
    ('Age', 'Hypertension'),
    ('BMI', 'Hypertension'),
    ('Smoking', 'Hypertension')
])

# Modeli eğit
model.fit(data, estimator=MaximumLikelihoodEstimator)

# Çıkarım sistemi
inference = VariableElimination(model)

# Tahmin
result = inference.query(
    variables=['Hypertension'],
    evidence={
        'Age': 'Old',
        'BMI': 'High',
        'Smoking': 'Yes'
    }
)

print(result)

Kod çalışınca şöyle çıktı alırsın:

P(Hypertension) Yes : 0.85 No : 0.15

Model, "Yaşlı + yüksek BMI + sigara içen bireyin hipertansiyon olasılığı yüksek" şeklinde çıkarım yapar.

 
0 Beğeni
Makine Öğrenmesi
Önceki Yazı

Radial Basis Function (RBF)

08 May. 2026 tarihinde yayınlandı.
Sonraki Yazı

Akademik Makale Taslak

08 May. 2026 tarihinde yayınlandı.
arrow