Menu
CoddyTech
flag Ar iconالعربيةdown icon

الأرقام المكتوبة بخط اليد

جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 57 من 58.

تقرأ آلة الفرز في مكتب البريد أرقام الرموز البريدية المكتوبة بخط اليد من المسوح الضوئية ذات الأبعاد 8 في 8 التي تعرّفت عليها في درس «Digits at a Glance»، load_digits:

عشرون رقمًا مكتوبًا بخط اليد في صفين، من 0 إلى 9 بقلم كاتبين مختلفين، مرسومة كمسوح ضوئية رمادية صغيرة ذات أشكال مربعة؛ يبدو بعضها شبيهًا جدًا بأرقام أخرى

يتنافس مرشحان على الوظيفة: خوارزمية أقرب الجيران k-NN، باستخدام قيمة k التي يقترحها أحد المهندسين، وغابة عشوائية مكوّنة من 100 شجرة.

هذه المرة، للأخطاء أهمية. يحتاج المكتب إلى الفائز الأكثر إنصافًا، ودرجته على عمليات المسح غير المرئية، وأكثر حالات الالتباس شيوعًا لديه، لذا تُحال هذه الأرقام إلى شخص.

challenge icon

التحدي

صعب

يقرأ البرنامج قيمة k التي يُدخلها المستخدم؛ ويُعدّ الكود المبدئي مخططًا ذا عنوان.

  1. افصل ربعًا للاختبار مع الحفاظ على التوزيع الطبقي، باستخدام random_state=0.
  2. تحقق من صحة k-NN باستخدام قيمة k تلك وغابة من 100 شجرة (random_state=0)، مع 5 طيات، على صفوف التدريب. اطبع متوسط كل منهما (3 منازل عشرية) والفائز.
  3. درّب النموذج الفائز واطبع دقته على الاختبار.
  4. اطبع أكبر خطأ في مصفوفة الالتباس للاختبار، ثم ارسم المصفوفة على ax واعرضها.

لجهاز آخر والقيمة 3:

k-NN: CV accuracy 0.979
Random forest: CV accuracy 0.968
Winner: k-NN
Test accuracy: 0.976
Most confused: 7 read as 2 (3 times)

بعد ذلك، يعرض Coddy مصفوفتك.

جرّب بنفسك

import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay

digits = load_digits()
X = digits.data
y = digits.target
k = int(input())

fig, ax = plt.subplots()
ax.set_title("Test Digits")

# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التعلّم الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت