اذهب إلى المحتوى
  • 0

تطبيق خوارزمية  Multinomial Naive Bayes لمهمة تصنيف في Sklearn

Meezo ML

السؤال

Recommended Posts

  • 1

كنصيحة يفضل استخدامه عندما يكون هنالك بيانات منفصلة أي الميزات features تكون مستقلة لا يتعلق حدوث الميزة الأولى بالاخرى مثل عمر الشخص و درجته  في مادة الرياضيات على سبيل المثال.

يتم استخدامه عبر الموديول:

sklearn.naive_bayes

استدعاء المكتبات:

from sklearn.naive_bayes import MultinomialNB

في البداية قمنا باستدعاء المكتبة التي يوجد فيها هذا الموديل.

الشكل العام للموديل:

MNB = MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)

الوسيط الأول alpha هي الهدف من هذا الوسيط هو عند حساب الاحتمالات احد هذه الاحتمالات من الممكن أن يكون صفر وتجنبا لذلك يتم وضع قيمة تسمى قيمة تنعيم  أو تجانس لابلاس لكي لا يكون هناك قيم صفرية.
الوسيط الثاني  fit_prior تأخذ True فقط لكي تعلم الصفوف الاحتمالات السابقه false عكس ذلك. 
الوسيط الثالث class_prior قيم الاحتمالات للصفوف أي تساوي عدد الصفوف يمكن تمريرها كمصفوفة تحوي الاحتمال لكل صف 
طبعا قمت بشرح الشكل العام للموديل ولكن عن طريقة استخدامه سهل جدا فقط بعد أن تقوم بتقسيم الداتا إلى X_train, X_test,  تسطيع كتابة الأتي لعملية التدريب.
الشكل العام للموديل:

MNB = MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)
MNB.fit(X_train, y_train)

حيث الدالة fit يوجد ضمنها جميع العمليات الداخلية لعملية التدريب.
حساب القيم المتوقعة:

y_pred = MNB.predict(X_test)

حساب الكفاءه على الاختبار والتدريب:

print('MNB Train Score is : ' , MNB.score(X_train, y_train))
print('MNB Test Score is : ' , MNB.score(X_test, y_test))

لنأخذ مثال يوضح المصنف.
قمنا باستدعاء المكتبات وبناء عينة مزيفة وكان التصنيف ثنائي أما 1 أو 0.
ثم قمنا بتجريب الموديل على عينة معطاة.

#استدعاء المكتبات
import numpy as np
from sklearn.naive_bayes import MultinomialNB
#تعين داتا دخل مزيفة
X = np.random.random((6, 100))
y = np.array([1, 0, 1, 0, 1, 0])
#بناء الموديل
MNB =MultinomialNB ()
MNB.fit(X, Y)
#تصنيف عينة
print(MNB.predict(X[3:4]))
#النتيجة
#[1]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...