Meezo ML نشر 17 يونيو 2021 أرسل تقرير نشر 17 يونيو 2021 كيفية تطبيق معيار f1-score في مكتبة Sklearn لقياس كفاءة نموذج؟ اقتباس
1 Ali Haidar Ahmad نشر 17 يونيو 2021 أرسل تقرير نشر 17 يونيو 2021 أولاً يجب أن تحذر فهذا المعيار يستخدم مع مهام التصنيف Classification. وهو يجمع بين المعيارين precision و recall ويحقق توازن بين قيمتهما. إن f1score هي قيمة تساوي: f1score = 2 * (precision * recall) / (precision + recall) قيمة f1 تكون بين ال 0 و 1 وكلما زادت القيمة كلما كان أداء النموذج أدق. يتم استخدامها عبر الموديول: sklearn.metrics.f1_score ويمكنك تطبيقها بالشكل التالي: from sklearn.metrics import f1_score # f1_score(y_true, y_pred,average='micro') F1Score = f1_score(y_test, y_pred, average='micro') print('F1 Score is : ', F1Score) 1 اقتباس
1 ريم المهدي نشر 18 يونيو 2021 أرسل تقرير نشر 18 يونيو 2021 يعرف ايضاً F1 Score ب balanced F-score أو F-measure و يستخدم في حالة مشاكل تصنيف البيانات لقياس دقة و كفاءة النموذج و يعتبر أكثر شمولاً من Precision و Recall لأنهما قد يقدمان نتائج غير دقيقة، مثلاً في حالة عدم التوزيع المتساوي للأصناف Imbalanced classes وهي حالة معظم التصنفيات الحقيقية على أرض الواقع. from sklearn.metrics import f1_score #sklearn تحميل الدالة من مكتبة #تجهيز البيانات، تقسيمهاو تدريب النموذج بالإضافة بإختباره f1_score(y_true, y_pred) #تمرير القيم الناتجة من النموذج و الحقيقية للدالة يمكنك إستخدام F1 score دون تمرير parameter في حال كان التصنيف لصنفين فقط binary is the default ولكن في حال كان التصنيف يتضمن أكثر من صنفين يمكننا أن نمرر إحدى القيم لحساب المتوسط: {‘micro’, ‘macro’, ‘samples’,’ weighted’, ‘binary’} يمكنك الرجوع للمثال السابق. كما يمكننا أن نقوم بإستخدام دالة precision_recall_fscore_support والتي ترجع قيم كل من precision، recall،F1score بالإضافة لمعامل رابع يسمي support، القيمة الثالثة الراجعة من الدالة هي قيمة F1 score، راجع المثال التالي: precision_recall_fscore_support(y_true, y_pred, average='macro') لاحظ انه في هذا المثال حددنا نوع F1 score و هو عبارة عن macro. والتي تعني حساب الدقة لكل صنف على حدة و من ثم إيجاد القيمة المتوسطة لها، وهي طريقة لا تأخذ في الحسبان التوزيع غير المتساوي للأصناف. لا تنسى أن تقوم بإستدعاء الدالة عن طريق مكتبة sklearn كالتالي: from sklearn.metrics import precision_recall_fscore_support الطريقة الأخرى للحصول على قيم الF1 score هي بإستخدام دالة classification_report و التي تقوم بإستخراج نتائج الدقة للنموذج في شكل جدول متكامل و المحتوية على F1 score. راجع المثال التالي: from sklearn.metrics import classification_report print(classification_report(y_true, y_pred, labels=mylabels)) الدالة تستقبل قيم النموذج، القيم الحقيقية المتوقع التنبؤ بها، و اخيراً التصنفيات، هذه الدالة تعطي ناتج F1 score في شكل مفصل و محتوي على الدقة محسوبة بثلاث طرق macro، micro، weighted. 1 اقتباس
0 Zainab Aljofe نشر 27 أبريل أرسل تقرير نشر 27 أبريل بتاريخ On 18/6/2021 at 22:16 قال ريم المهدي: يعرف ايضاً F1 Score ب balanced F-score أو F-measure و يستخدم في حالة مشاكل تصنيف البيانات لقياس دقة و كفاءة النموذج و يعتبر أكثر شمولاً من Precision و Recall لأنهما قد يقدمان نتائج غير دقيقة، مثلاً في حالة عدم التوزيع المتساوي للأصناف Imbalanced classes وهي حالة معظم التصنفيات الحقيقية على أرض الواقع. from sklearn.metrics import f1_score #sklearn تحميل الدالة من مكتبة #تجهيز البيانات، تقسيمهاو تدريب النموذج بالإضافة بإختباره f1_score(y_true, y_pred) #تمرير القيم الناتجة من النموذج و الحقيقية للدالة يمكنك إستخدام F1 score دون تمرير parameter في حال كان التصنيف لصنفين فقط binary is the default ولكن في حال كان التصنيف يتضمن أكثر من صنفين يمكننا أن نمرر إحدى القيم لحساب المتوسط: {‘micro’, ‘macro’, ‘samples’,’ weighted’, ‘binary’} يمكنك الرجوع للمثال السابق. كما يمكننا أن نقوم بإستخدام دالة precision_recall_fscore_support والتي ترجع قيم كل من precision، recall،F1score بالإضافة لمعامل رابع يسمي support، القيمة الثالثة الراجعة من الدالة هي قيمة F1 score، راجع المثال التالي: precision_recall_fscore_support(y_true, y_pred, average='macro') لاحظ انه في هذا المثال حددنا نوع F1 score و هو عبارة عن macro. والتي تعني حساب الدقة لكل صنف على حدة و من ثم إيجاد القيمة المتوسطة لها، وهي طريقة لا تأخذ في الحسبان التوزيع غير المتساوي للأصناف. لا تنسى أن تقوم بإستدعاء الدالة عن طريق مكتبة sklearn كالتالي: from sklearn.metrics import precision_recall_fscore_support الطريقة الأخرى للحصول على قيم الF1 score هي بإستخدام دالة classification_report و التي تقوم بإستخراج نتائج الدقة للنموذج في شكل جدول متكامل و المحتوية على F1 score. راجع المثال التالي: from sklearn.metrics import classification_report print(classification_report(y_true, y_pred, labels=mylabels)) الدالة تستقبل قيم النموذج، القيم الحقيقية المتوقع التنبؤ بها، و اخيراً التصنفيات، هذه الدالة تعطي ناتج F1 score في شكل مفصل و محتوي على الدقة محسوبة بثلاث طرق macro، micro، weighted. السلام عليكم ممكن سؤال اني مشروع تخرجي كشف التسلل بالديب ليرنك واريد مساعده 1 اقتباس
0 Mustafa Suleiman نشر 27 أبريل أرسل تقرير نشر 27 أبريل بتاريخ 2 ساعة قال Zainab Aljofe: السلام عليكم ممكن سؤال اني مشروع تخرجي كشف التسلل بالديب ليرنك واريد مساعده وعليكم السلام، ما التسلل المراد اكتشافه؟ هل المقصود مجال الأمن السيبراني، من أجل تحسين دقة وكفاءة أنظمة كشف التسلل التقليدية؟ وأرجو توضيح السؤال والمطلوب لمساعدتك. اقتباس
0 Zainab Aljofe نشر 27 أبريل أرسل تقرير نشر 27 أبريل بتاريخ 3 دقائق مضت قال Mustafa Suleiman: وعليكم السلام، ما التسلل المراد اكتشافه؟ هل المقصود مجال الأمن السيبراني، من أجل تحسين دقة وكفاءة أنظمة كشف التسلل التقليدية؟ وأرجو توضيح السؤال والمطلوب لمساعدتك. نعم اني طالبة امن سيبراني مشروع تخرجي Intrusion detection system using deep learing عندي اشكال بالجزء العملي مداعرف شلون طلعtesting هو الكود عندي بس مو اني كتبته لذالك مدااعرف اطلعه بتاريخ 16 دقائق مضت قال Mustafa Suleiman: وعليكم السلام، ما التسلل المراد اكتشافه؟ هل المقصود مجال الأمن السيبراني، من أجل تحسين دقة وكفاءة أنظمة كشف التسلل التقليدية؟ وأرجو توضيح السؤال والمطلوب لمساعدتك. يعني اريد افهم التطبيق العملي وشلون طلعت الاكيورسي وال F1 Score وprecision و Recall اقتباس
0 Mustafa Suleiman نشر 27 أبريل أرسل تقرير نشر 27 أبريل بتاريخ 9 دقائق مضت قال Zainab Aljofe: نعم اني طالبة امن سيبراني مشروع تخرجي Intrusion detection system using deep learing عندي اشكال بالجزء العملي مداعرف شلون طلعtesting هو الكود عندي بس مو اني كتبته لذالك مدااعرف اطلعه استخدمي وظيفة load_dataset() من sklearn لتحميل مجموعة بيانات كشف التسلل، وهناك مجموعات بيانات كشف التسلل العامة المتاحة، مثل CICIDS2017 أو CSE-CICIDS. بعد ذلك استخدمي وظيفة train_test_split() لتقسيم البيانات إلى مجموعات تدريب واختبار، وتأكدي من أن مجموعات التدريب والاختبار متوازنة من حيث توزيع الفئات (هجمات وتصرفات طبيعية). ثم معالجة البيانات وإنشاء الإختبارات وتقييم النموذج، وستحتاجين إلى التالي: StandardScaler(): تطبيع البيانات. OneHotEncoder(): ترميز البيانات الفئوية. CountVectorizer(): تحليل ترددات الكلمات. TfidfVectorizer(): تحويل وثائق النص إلى ميزات TF-IDF. accuracy_score(): حساب دقة النموذج. recall_score(): حساب معدل الكشف (TPR). precision_score(): حساب الدقة. ستجدي هنا مرجع جيد لك، وبيانات تدريب وإختبار ونموذج للكود في الصفحة 132: https://drive.google.com/file/d/1jU0pIHpAOjk_1e4COwZwn5ilcNISxo1Y/view 1 اقتباس
0 Zainab Aljofe نشر 27 أبريل أرسل تقرير نشر 27 أبريل الكود موجود كامل متنفذ والاكيورسي 99% بس المشروع مو اني سويته من النت لذالك مااعرف شلون طلعت النتائج وهسه دااكتب بالبحث واكيد احتاج اكتب المعادلات والشرح والخوارزميات وشلون اتنفذ بتاريخ 11 دقائق مضت قال Mustafa Suleiman: استخدمي وظيفة load_dataset() من sklearn لتحميل مجموعة بيانات كشف التسلل، وهناك مجموعات بيانات كشف التسلل العامة المتاحة، مثل CICIDS2017 أو CSE-CICIDS. بعد ذلك استخدمي وظيفة train_test_split() لتقسيم البيانات إلى مجموعات تدريب واختبار، وتأكدي من أن مجموعات التدريب والاختبار متوازنة من حيث توزيع الفئات (هجمات وتصرفات طبيعية). ثم معالجة البيانات وإنشاء الإختبارات وتقييم النموذج، وستحتاجين إلى التالي: StandardScaler(): تطبيع البيانات. OneHotEncoder(): ترميز البيانات الفئوية. CountVectorizer(): تحليل ترددات الكلمات. TfidfVectorizer(): تحويل وثائق النص إلى ميزات TF-IDF. accuracy_score(): حساب دقة النموذج. recall_score(): حساب معدل الكشف (TPR). precision_score(): حساب الدقة. ستجدي هنا مرجع جيد لك، وبيانات تدريب وإختبار ونموذج للكود في الصفحة 132: https://drive.google.com/file/d/1jU0pIHpAOjk_1e4COwZwn5ilcNISxo1Y/view الكود موجود كامل متنفذ والاكيورسي 99% بس المشروع مو اني سويته من النت لذالك مااعرف شلون طلعت النتائج وهسه دااكتب بالبحث واكيد احتاج اكتب المعادلات والشرح والخوارزميات وشلون اتنفذ بتاريخ 12 دقائق مضت قال Zainab Aljofe: الكود موجود كامل متنفذ والاكيورسي 99% بس المشروع مو اني سويته من النت لذالك مااعرف شلون طلعت النتائج وهسه دااكتب بالبحث واكيد احتاج اكتب المعادلات والشرح والخوارزميات وشلون اتنفذ الكود موجود كامل متنفذ والاكيورسي 99% بس المشروع مو اني سويته من النت لذالك مااعرف شلون طلعت النتائج وهسه دااكتب بالبحث واكيد احتاج اكتب المعادلات والشرح والخوارزميات وشلون اتنفذ تم تدريب النموذج DNN حتى تكشف البيانات نورمل او ابنورمل اذا تكدر اساعدني بفهم الجزء العملي او ترسل مصادر تخص المشروع اقتباس
السؤال
Meezo ML
كيفية تطبيق معيار f1-score في مكتبة Sklearn لقياس كفاءة نموذج؟
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.