Sara Mohammed9 نشر 9 يونيو 2023 أرسل تقرير نشر 9 يونيو 2023 (معدل) ممكن برنامج عن bayesian network (الاحتمالات بلغة بايثون) تم التعديل في 9 يونيو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 9 يونيو 2023 أرسل تقرير نشر 9 يونيو 2023 هناك مكتبة Python المعروفة باسم "pgmpy" لإنشاء وتحليل شبكات بايزية (Bayesian Networks)، حيث تُعتبر pgmpy واحدة من المكتبات الشهيرة والقوية في مجال الاحتمالات والنمذجة الاحتمالية باستخدام الشبكات البايزية. لتثبيت المكتبة استخدمي الأمر التالي: pip install pgmpy وسأوضح لك بمثال بسيط كيفية إنشاء شبكة بايزية باستخدام pgmpy: from pgmpy.models import BayesianModel from pgmpy.factors.discrete import TabularCPD # إنشاء النموذج البايزي model = BayesianModel([('A', 'B'), ('C', 'B')]) # إنشاء الجداول الاحتمالية الشرطية (Conditional Probability Distributions - CPDs) cpd_a = TabularCPD(variable='A', variable_card=2, values=[[0.6], [0.4]]) cpd_c = TabularCPD(variable='C', variable_card=2, values=[[0.7], [0.3]]) cpd_b = TabularCPD(variable='B', variable_card=2, values=[[0.1, 0.2, 0.3, 0.4], [0.9, 0.8, 0.7, 0.6]], evidence=['A', 'C'], evidence_card=[2, 2]) # ربط الجداول الاحتمالية الشرطية مع النموذج model.add_cpds(cpd_a, cpd_c, cpd_b) # التحقق من صحة النموذج model.check_model() والمثال يبين كيفية إنشاء شبكة بايزية بثلاثة أجهزة (A و B و C)، وتعيين الاحتمالات المشروطة لكل جهاز، وباستطاعتك استكشاف المزيد من وظائف pgmpy للتحقق من القيود والحوسبة والرسم البياني للشبكة وغيرها الكثير، وعليك بالتعديل بالطبع بما يناسبك أنت. اقتباس
0 عبدالباسط ابراهيم نشر 12 يونيو 2023 أرسل تقرير نشر 12 يونيو 2023 بالطبعيمكن استخدام مكتبة PyMC3 في لغة Python لإنشاء وتحليل Bayesian Networks. فيما يلي مثال بسيط يستخدم مكتبة PyMC3 لإنشاء Bayesian Network لنموذج التشخيص الطبي البسيط: import pymc3 as pm import numpy as np # تعريف البيانات X = np.array([ [1, 1, 0, 0, 0], [1, 1, 1, 0, 0], [0, 1, 1, 1, 0], [0, 0, 1, 1, 1], [0, 0, 0, 1, 1] ]) # تعريف النموذج with pm.Model() as model: # تعريف المتغيرات a = pm.Bernoulli('a', p=0.5) b = pm.Bernoulli('b', p=0.5) c = pm.Bernoulli('c', p=0.5) d = pm.Bernoulli('d', p=0.5) e = pm.Bernoulli('e', p=0.5) # تحديد العلاقات البينية بين المتغيرات ab = pm.Deterministic('ab', a & b) bc = pm.Deterministic('bc', b & c) cd = pm.Deterministic('cd', c & d) de = pm.Deterministic('de', d & e) # تحديد النموذج obs = pm.Bernoulli('obs', p=de, observed=X[:,4]) # تحديد الخوارزمية المستخدمة للتحليل trace = pm.sample(10000) في هذا المثال، تم تعريف Bayesian Network بسيط يحتوي على متغيرات عشوائية بيرنولي (Bernoulli) وعلاقات بينها. ثم تم تحديد النموذج باستخدام PyMC3 وتحليل النموذج باستخدام خوارزمية العينة العشوائية MCMC (Markov Chain Monte Carlo). تم تحديد النموذج بحيث يكون المتغير e هو المراد التنبؤ به، وذلك عن طريق تحديد العلاقات البينية بين المتغيرات وتحديد المتغير النهائي المراد تنبؤه. في هذا المثال، تم تحديد المتغير e باعتباره المتغير النهائي المراد تنبؤه، وتم تحليل النموذج باستخدام خوارزمية MCMC للحصول على توزيع الاحتمالات الشاملة (posterior distribution) للمتغير e. بمجرد الحصول على توزيع الاحتمالات الشاملة للمتغير e، يمكن استخدامه لإجراء تنبؤات حول قيم المتغير e بناءً على البيانات المتاحة. كما توجد مكتبات أخرى مثل PyBN pgmpy BayesPy OpenBayes اقتباس
السؤال
Sara Mohammed9
ممكن برنامج عن bayesian network (الاحتمالات بلغة بايثون)
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.