📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
لذلك يمكن استخدام المقطع البرمجي التالي لتسطيح (Flatten) كل صورة في متجه أحادي البعد، فكل صورة الآن ممثلة كمتجه رقمي مسطح قيمته 3 × 100 × 100 = 30,000 قيمة.
نوع: محتوى تعليمي
X_train_flat = np.array([img.flatten() for img in X_train])
X_test_flat = np.array([img.flatten() for img in X_test])
X_train_flat[0].shape
نوع: محتوى تعليمي
(30000,)
نوع: محتوى تعليمي
يمكن استخدام هذا التنسيق المسطح مع أي خوارزمية تصنيف قياسية دون بذل أي جهد إضافي لهندسة خصائص تبويبة أخرى، وسيوضح القسم التالي مثالاً على هندسة الخصائص لبيانات صورة، ويستخدم المقطع البرمجي التالي مصنف بايز الساذج (Naive Bayes – NB) الذي استخدم أيضاً لتصنيف البيانات النصية في الوحدة الثالثة:
نوع: محتوى تعليمي
from sklearn.naive_bayes import MultinomialNB # imports the Naive Bayes Classifier
model_MNB = MultinomialNB()
model_MNB.fit(X_train_flat,y_train) # fits the model on the flat training data
نوع: محتوى تعليمي
MultinomialNB()
نوع: محتوى تعليمي
from sklearn.metrics import accuracy_score # used to measure the accuracy
pred = model_MNB.predict(X_test_flat) # gets the predictions for the flat test set
accuracy_score(y_test,pred)
نوع: محتوى تعليمي
0.36046511627906974
نوع: محتوى تعليمي
يعرض المقطع البرمجي التالي مصفوفة الدقة (Confusion Matrix) الخاصة بالنتائج لإعطاء رؤية إضافية:
نوع: محتوى تعليمي
%%capture
!pip install scikit-plot
import scikitplot
نوع: محتوى تعليمي
scikitplot.metrics.plot_confusion_matrix(y_test, # actual labels
pred, # predicted labels
title = "Confusion Matrix",
cmap = "Purples",
figsize = (10,10),
x_tick_rotation = 90,
normalize = True # to print percentages
)
نوع: METADATA
وزارة التعليم
Ministry of Education
2023 - 1447
205
📄 النص الكامل للصفحة
لذلك يمكن استخدام المقطع البرمجي التالي لتسطيح (Flatten) كل صورة في متجه أحادي البعد، فكل صورة الآن ممثلة كمتجه رقمي مسطح قيمته 3 × 100 × 100 = 30,000 قيمة.X_train_flat = np.array([img.flatten() for img in X_train])
X_test_flat = np.array([img.flatten() for img in X_test])
X_train_flat[0].shape(30000,)يمكن استخدام هذا التنسيق المسطح مع أي خوارزمية تصنيف قياسية دون بذل أي جهد إضافي لهندسة خصائص تبويبة أخرى، وسيوضح القسم التالي مثالاً على هندسة الخصائص لبيانات صورة، ويستخدم المقطع البرمجي التالي مصنف بايز الساذج (Naive Bayes – NB) الذي استخدم أيضاً لتصنيف البيانات النصية في الوحدة الثالثة:from sklearn.naive_bayes import MultinomialNB # imports the Naive Bayes Classifier model_MNB = MultinomialNB()
model_MNB.fit(X_train_flat,y_train) # fits the model on the flat training data MultinomialNB()from sklearn.metrics import accuracy_score # used to measure the accuracy pred = model_MNB.predict(X_test_flat) # gets the predictions for the flat test set accuracy_score(y_test,pred)0.36046511627906974يعرض المقطع البرمجي التالي مصفوفة الدقة (Confusion Matrix) الخاصة بالنتائج لإعطاء رؤية إضافية:%%capture
!pip install scikit-plot import scikitplot scikitplot.metrics.plot_confusion_matrix(y_test, # actual labels pred, # predicted labels title = "Confusion Matrix",
cmap = "Purples",
figsize = (10,10),
x_tick_rotation = 90,
normalize = True # to print percentages
)2023 - 1447
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هو الغرض الرئيسي من تسطيح (Flatten) الصور في متجه أحادي البعد باستخدام المقطع البرمجي المذكور؟
الإجابة: الغرض الرئيسي هو تمثيل كل صورة كمتجه رقمي مسطح يمكن استخدامه مباشرة مع خوارزميات التصنيف القياسية دون الحاجة لهندسة خصائص إضافية.
الشرح: تسطيح الصورة يحولها من مصفوفة ثنائية الأبعاد (أو ثلاثية الأبعاد إذا كانت ملونة) إلى متجه أحادي البعد، مما يسهل إدخالها كمدخلات لمعظم نماذج التعلم الآلي التي تتوقع بيانات مدخلة بهذا الشكل.
تلميح: فكر في كيف يمكن معالجة الصور لكي تتوافق مع متطلبات العديد من خوارزميات تعلم الآلة.
ما هو عدد القيم التي يحتوي عليها المتجه المسطح لصورة أبعادها 3 × 100 × 100 بكسل؟
الإجابة: يحتوي المتجه المسطح على 30,000 قيمة.
الشرح: إذا كانت أبعاد الصورة هي الارتفاع × العرض × القنوات (للصور الملونة)، فإن العدد الإجمالي للبكسلات (أو القيم) هو حاصل ضرب هذه الأبعاد. في هذه الحالة، 100 × 100 × 3 = 30,000.
تلميح: لحساب العدد الإجمالي للقيم، قم بضرب الأبعاد الثلاثة للصورة.
ما هي خوارزمية التصنيف التي تم استخدامها كمثال لمعالجة البيانات المسطحة للصور؟
الإجابة: تم استخدام مصنف بايز الساذج (Naive Bayes – NB)، وتحديداً نموذج `MultinomialNB` من مكتبة `scikit-learn`.
الشرح: المقطع البرمجي يستورد `MultinomialNB` من `sklearn.naive_bayes` ويستخدمه لتدريب النموذج (`model_MNB.fit`) على البيانات المسطحة.
تلميح: ابحث عن اسم النموذج المحدد الذي تم استيراده واستخدامه لتدريب النموذج.
ما هو المقياس الذي تم استخدامه لتقييم أداء نموذج تصنيف الصور؟
الإجابة: تم استخدام `accuracy_score` لقياس دقة النموذج.
الشرح: الدالة `accuracy_score` من `sklearn.metrics` تقارن بين التسميات الفعلية (`y_test`) والتنبؤات التي قام بها النموذج (`pred`) وتحسب نسبة المطابقة.
تلميح: ما هي الوظيفة التي تحسب نسبة التنبؤات الصحيحة مقارنة بالإجمالي؟
ما هو الغرض من عرض مصفوفة الدقة (Confusion Matrix)؟
الإجابة: الغرض من عرض مصفوفة الدقة هو توفير رؤية إضافية حول أداء النموذج، توضح بشكل تفصيلي كيفية تصنيف النموذج لكل فئة، بما في ذلك الأخطاء (التنبؤ الخاطئ).
الشرح: مصفوفة الدقة تقدم تفاصيل حول عدد الحالات التي تم تصنيفها بشكل صحيح لكل فئة، وعدد الحالات التي تم تصنيفها بشكل خاطئ (False Positives و False Negatives)، مما يساعد على فهم نقاط ضعف النموذج.
تلميح: فكر في ماذا تعطينا معلومات إضافية تتجاوز مجرد النسبة المئوية للدقة الإجمالية.