Logo

تسليم المشروع النهائي

11 دقيقة قراءة
شرائح الدرس

تعلم الآلة، الأسبوع 11

تسليم المشروع النهائي

اجمع مراحل عشرة أسابيع، وسلم المشروع، ونافس على أفضل مشروع.

هذا هو القسم الأخير من المقرر، ولا يتضمن خوارزمية جديدة. فالأسبوع 11 في الخطة هو التسليم النهائي (final submission) لمشروع فريقك: الشيفرة (code)، وفيديو، والمقترح (proposal)، والعرض التقديمي (presentation)، وشعار (logo)، مع واجهة مستخدم (user interface) إضافية. تعرض هذه الجلسة الإرشادية القصيرة كل مخرج (deliverable) من مخرجات التسليم، وتبين كيف بنت مراحل المشروع (project milestones) في الأسابيع من 1 إلى 10 معظمه بالفعل، وتسمي الموضوعات التي تتركها الخطة لتستكشفها بعد المقرر.

الأهداف

في نهاية هذا القسم يجب أن تكون قادرا على:

  • سرد المخرجات الخمسة المطلوبة للتسليم النهائي، والمخرج الإضافي الواحد.
  • تحديد مرحلة الأسبوع التي أنتجت كل جزء من تسليمك.
  • مراجعة تقدم فريقك مقابل قائمة التسليم (submission checklist)، وتخطيط العمل المتبقي.
  • تخطيط فيديو للمشروع مدته 5 دقائق بالضبط.
  • تسمية الموضوعات الثلاثة التي تقترحها الخطة للدراسة بعد المقرر: SVM وGBMs والانحدار الخطي المتعدد (multiple linear regression).

موقع الدرس من المقرر

ليس للأسبوع 11 في الخطة دفتر (notebook) ولا مجموعة بيانات (dataset). وله جزءان:

  • التسليم النهائي للمشروع. تذكر الخطة ستة بنود (items): شيفرة المشروع في مستودع (repository) على GitHub، وفيديو للمشروع مدته 5 دقائق، ومقترح المشروع، والعرض التقديمي للمشروع، وشعار المشروع، وإضافة إلى ذلك واجهة مستخدم للمشروع (للهاتف المحمول أو الويب أو سطح المكتب).
  • مسابقة المقرر (course competition). تختار الخطة أفضل المشاريع فائزة في مسابقات المقرر.

انتهى كل أسبوع سابق بمرحلة للمشروع. ولم تكن هذه المراحل واجبات منفصلة: فقد أنتجت كل مرحلة منها جزءا من التسليم النهائي. واليوم تجمع هذه الأجزاء معا.

الجزءما نفعلهالزمن
1المخرجات الستة15 دقيقة
2من مراحل الأسابيع إلى التسليم10 دقائق
3المسابقة وموضوعات المستقبل5 دقائق
4تمرين: المراجعة النهائية لفريقك30 دقيقة

الجزء 1: المخرجات الستة

قائمة التسليم

#المخرجما تسلمهمطلوب
1شيفرة المشروعمستودع على GitHub يضم دفترك وبياناتكنعم
2فيديو المشروعفيديو مدته 5 دقائقنعم
3مقترح المشروعالمقترح الذي كتبه فريقك في الأسبوع 2نعم
4العرض التقديمي للمشروعالشرائح التي عرضتها في الأسابيع من 8 إلى 10نعم
5شعار المشروعشعار للمشروعنعم
6واجهة المستخدم للمشروعواجهة للهاتف المحمول أو الويب أو سطح المكتبإضافي

1. شيفرة المشروع في مستودع على GitHub

المستودع هو المكان الذي يتحقق فيه القارئ من أن نتائجك حقيقية. ويجب أن يضم:

  • الدفتر، أو الدفاتر، التي تعمل من أولها إلى آخرها: تحميل البيانات في الأسبوع 1، والاستكشاف والتنظيف في الأسبوع 3، والخصائص (features) والمتغير الهدف (target variable) في الأسبوع 4، والنماذج في الأسابيع من 5 إلى 7.
  • مجموعة البيانات، أو رابطا إليها إذا كانت أكبر من أن ترفع.
  • ملف README قصيرا: المشكلة، ومجموعة البيانات، وطريقة تشغيل الدفتر، ودرجة (score) كل نموذج على مجموعة الاختبار (test split) نفسها.

قبل أن ترفع الشيفرة، أعد بدء بيئة التشغيل (runtime) وشغل كل خلية من البداية. ويجب أن يكون كل رقم في ملف README وفي شرائحك وفي الفيديو رقما يطبعه الدفتر.

2. فيديو المشروع، 5 دقائق

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

3. مقترح المشروع

كتبته في الأسبوع 2: الفكرة أو الورقة البحثية، ومجموعة البيانات بصفوفها وأعمدتها وهدفها (target)، والرسوم البيانية الأولى. اقرأه مرة أخرى وتحقق من أنه ما زال يصف المشروع الذي بنيته. وإذا تغيرت مجموعة البيانات أو الهدف منذ الأسبوع 2، فاذكر ذلك في المقترح.

4. العرض التقديمي للمشروع

عرضت المشروع وناقشته في الأسابيع من 8 إلى 10. أضف إلى الشرائح ما تعلمته من النقاش، ودرجاتك النهائية. وحافظ على بنية المناقشات: الفكرة، والبيانات، والخصائص والهدف، والنموذج وطريقة تقييمه، وما كنت ستحسنه.

5. شعار المشروع

الشعار هو البند الجديد في الأسبوع 11: لم تنتجه أي مرحلة سابقة. استخدمه في الشريحة الأولى من العرض التقديمي، وفي بداية الفيديو، وفي أعلى ملف README، لتبدو الثلاثة مشروعا واحدا.

6. إضافة: واجهة مستخدم للمشروع

واجهة للهاتف المحمول أو الويب أو سطح المكتب تتيح للمستخدم تجربة النموذج. وهي غير مطلوبة، لكنها تعرض النموذج وهو يعمل على مدخلات جديدة، وهذا بالضبط ما تحتاج إليه تجربة حية (demo) قوية في الفيديو.

الجزء 2: من مراحل الأسابيع إلى التسليم

مراحل الأسابيع من 1 إلى 10

الأسبوعموضوع القسممرحلة المشروعالمخرج الذي تغذيه
1عمليات Pandas المتقدمةفريق من 3 أعضاء مع فكرة مشروع، أو من 2 مع ورقة بحثيةكلها
2Matplotlib وSeabornمقترح المشروع أو الورقة البحثية3 المقترح
3الانحدار الخطياستكشاف البيانات وتنظيفها1 الشيفرة
4الانحدار اللوجستياستخراج الخصائص وتحديد المتغير الهدف1 الشيفرة
5أقرب الجيرانتنفيذ نموذج تعلم الآلة1 الشيفرة
6أشجار القرار والغابة العشوائيةتنفيذ نموذج تعلم الآلة1 الشيفرة
7Naive Bayesتنفيذ نموذج تعلم الآلة1 الشيفرة
8التجميع بخوارزمية k-meansالعروض والمناقشات4 العرض التقديمي، 2 الفيديو
9التوصيات المعتمدة على المحتوىالعروض والمناقشات4 العرض التقديمي، 2 الفيديو
10تحليل المشاعرالعروض والمناقشات4 العرض التقديمي، 2 الفيديو
11التسليم النهائيالشيفرة، والفيديو، والمقترح، والعرض التقديمي، والشعاركلها

قائمة التسليم التفاعلية

تقسم القائمة المخرجات الخمسة المطلوبة إلى 13 بندا، وتعطي كل بند الأسبوع الذي تنتجه مرحلته:

المخرجالبنودالأسابيع
1 الشيفرةتحميل مجموعة البيانات باستخدام pandas؛ استكشاف البيانات وتنظيفها؛ اختيار الخصائص والهدف؛ تنفيذ النماذج (KNN والأشجار وNaive Bayes)؛ رفع الشيفرة إلى مستودع على GitHub1؛ 3؛ 4؛ 5 إلى 7؛ 11
2 الفيديوالتدرب على القصة في العروض؛ تسجيل فيديو مدته 5 دقائق8 إلى 10؛ 11
3 المقترحفريق مع فكرة أو ورقة بحثية؛ كتابة المقترح مع الرسوم البيانية؛ مراجعة المقترح وإرفاقه1؛ 2؛ 11
4 العرض التقديميعرض المشروع ومناقشته؛ تجهيز الشرائح النهائية8 إلى 10؛ 11
5 الشعارتصميم الشعار11

وواجهة المستخدم الاختيارية هي البند رقم 14، خارج البنود الـ13.

افتح أداة قائمة التسليم بملء الشاشة. اضغط تشغيل لتتبع فريقا ملتزما بالخطة من الأسبوع 1 إلى الأسبوع 11 وتشاهد حلقة التقدم تمتلئ، أو ضع علامة على بنود فريقك.

مثال محلول 1: كم أنجز الفريق بنهاية الأسبوع 10؟

سؤال. التزم فريق بكل مرحلة من الأسبوع 1 إلى الأسبوع 10. كم بندا من البنود الـ13 المطلوبة أنجزه بالفعل عند بداية الأسبوع 11؟

الخطوة 1: البنود المنجزة في الأسابيع من 1 إلى 10. راجع الجدول أعلاه بندا بندا، واحتفظ بكل بند يكون آخر أسبوع له هو 10 أو ما قبله:

الأسبوعالبنود المنجزة
1تحميل مجموعة البيانات باستخدام pandas؛ فريق مع فكرة أو ورقة بحثية
2كتابة المقترح مع الرسوم البيانية
3استكشاف البيانات وتنظيفها
4اختيار الخصائص والهدف
7تنفيذ النماذج (KNN والأشجار وNaive Bayes)
10التدرب على القصة في العروض؛ عرض المشروع ومناقشته

فهذه 2 + 1 + 1 + 1 + 1 + 2 = 8 بنود. ولا ينهي الأسبوعان 5 و6 أي بند وحدهما: فبند النماذج يمتد من الأسبوع 5 إلى الأسبوع 7، ويكتمل عندما يكتمل النموذج الثالث.

الخطوة 2: النسبة. 8 من 13 بندا تساوي 8 / 13 = 0.6154، لذا تعرض الحلقة 62%.

الخطوة 3: ما يتبقى للأسبوع 11. 13 - 8 = 5 بنود: رفع الشيفرة إلى مستودع على GitHub، وتسجيل الفيديو ومدته 5 دقائق، ومراجعة المقترح وإرفاقه، وتجهيز الشرائح النهائية، وتصميم الشعار.

بنت المراحل ما يقارب ثلثي التسليم. فالأسبوع 11 للإنهاء، لا للبدء.

مثال محلول 2: خطة فيديو مدته 5 دقائق

سؤال. قسم مدة الفيديو، وهي 5 دقائق، إلى خمسة أجزاء تتبع بنية عرضك التقديمي.

الخطوة 1: التحويل. 5 دقائق = 5 x 60 = 300 ثانية.

الخطوة 2: إعطاء كل جزء زمنه. النماذج هي جوهر المشروع، لذا تأخذ الجزء الأطول:

الجزءالثوانيمنإلى
المشكلة والبيانات450:000:45
التنظيف والخصائص والهدف600:451:45
النماذج ودرجاتها901:453:15
تجربة حية: الدفتر أو الواجهة603:154:15
ما تعلمته، وما يأتي بعد ذلك454:155:00

الخطوة 3: التحقق من المجموع. 45 + 60 + 90 + 60 + 45 = 300 ثانية، أي 5 دقائق بالضبط. ويبدأ كل جزء حيث ينتهي الجزء الذي قبله.

الجزء 3: المسابقة وموضوعات المستقبل

مسابقة المقرر

تختار الخطة أفضل المشاريع فائزة في مسابقات المقرر. والتسليم الكامل الصادق هو أساس المشروع القوي:

  • سلمت المخرجات الخمسة المطلوبة كلها، والواجهة مكافأة إضافية فوقها.
  • يستطيع كل عضو في الفريق شرح كل خطوة، لا الجزء الخاص به فقط.
  • الأرقام في الشرائح وملف README والفيديو هي الأرقام التي يطبعها الدفتر.
  • يذكر العرض التقديمي شيئا واحدا لم ينجح، وما تعلمته منه.

نقاط إضافية لاستكشافها في المستقبل

تسمي الخطة ثلاثة موضوعات لاستكشافها بعد المقرر. وكل منها امتداد لشيء أنجزته بالفعل:

الموضوعيبني علىالفئة (class) في scikit-learn
الانحدار الخطي المتعددالأسبوع 3: الانحدار الخطي مع أكثر من خاصية واحدة؛ فدفتر الأسبوع 3 يتنبأ بالسعر من خمس خصائص بالفعلLinearRegression
SVM (آلات المتجهات الداعمة، support vector machines)الأسابيع من 4 إلى 7: مصنف (classifier) آخر يعمل بنمط fit وpredict وscore نفسهSVC
GBMs (آلات التعزيز التدرجي، gradient boosting machines)الأسبوع 6: طريقة أخرى لدمج أشجار قرار كثيرة في نموذج واحدGradientBoostingClassifier

وإذا جربت أحدها على بيانات مشروعك، فقارنه بنماذجك الأخرى على مجموعة الاختبار نفسها، كما فعلت في الأسابيع من 5 إلى 7.

الأخطاء الشائعة

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

الخلاصة

  1. للتسليم النهائي خمسة مخرجات مطلوبة: الشيفرة في مستودع على GitHub، وفيديو مدته 5 دقائق، والمقترح، والعرض التقديمي، والشعار. وواجهة المستخدم إضافية.
  2. أنتجت مراحل الأسابيع من 1 إلى 10 معظمه: فالفريق الملتزم بالخطة يبدأ الأسبوع 11 وقد أنجز 8 من بنود القائمة الـ13.
  3. ينهي الأسبوع 11 خمسة بنود: رفع الشيفرة، وتسجيل الفيديو، ومراجعة المقترح، وإكمال الشرائح، وتصميم الشعار.
  4. احسب زمن الفيديو بالثواني: 300 ثانية في المجموع.
  5. بعد المقرر، استكشف SVM وGBMs والانحدار الخطي المتعدد على بياناتك.

التمارين

نحو 30 دقيقة. حاول حل كل مهمة قبل أن تقرأ إجابتها في نهاية الصفحة.

التمرين 1: تحديد أسبوع المرحلة (نحو 5 دقائق)

لكل عمل مما يلي، اذكر الأسبوع الذي أنتجته مرحلته:

  1. تسمية المتغير الهدف لمشروعك.
  2. اختيار K لنموذج KNN بحلقة الكوع (elbow loop).
  3. مقارنة درجة التدريب (training score) ودرجة الاختبار (test score) لشجرة قرار.
  4. الاختيار بين MultinomialNB وGaussianNB لخصائصك.
  5. عرض فكرتك في جملتين أو ثلاث، وتسمية مجموعة البيانات.

التمرين 2: حساب زمن فيديو (نحو 5 دقائق)

خطط فريق لأربعة أجزاء من فيديو: 30 ثانية، و75 ثانية، و105 ثوان، و50 ثانية. والجزء الخامس والأخير هو التجربة الحية.

  1. كم ثانية تتبقى للتجربة الحية إذا كان يجب أن تكون مدة الفيديو 5 دقائق بالضبط؟
  2. في أي وقت، بالدقائق والثواني، تبدأ التجربة الحية؟

التمرين 3: المراجعة النهائية لفريقك (نحو 20 دقيقة)

  1. افتح أداة قائمة التسليم وضع علامة على كل بند أنجزه فريقك فعلا.
  2. اكتب البنود التي ما زالت ناقصة.
  3. أعط كل بند ناقص مسؤولا واحدا في الفريق وتاريخا قبل الموعد النهائي للتسليم.
  4. اكتب خطتك الخاصة لفيديو من 5 أجزاء، وتحقق من أن مجموع الأجزاء 300 ثانية.

الإجابات

الإجابة 1

العملالأسبوعالمرحلة
تسمية المتغير الهدف4استخراج الخصائص وتحديد المتغير الهدف
اختيار K لنموذج KNN بحلقة الكوع5تنفيذ النموذج، باستخدام KNN
درجة التدريب مقابل درجة الاختبار لشجرة6تنفيذ النموذج، باستخدام أشجار القرار والغابة العشوائية
MultinomialNB أو GaussianNB7تنفيذ النموذج، باستخدام Naive Bayes
الفكرة ومجموعة البيانات في جمل قليلة2مقترح المشروع أو الورقة البحثية

الإجابة 2

  1. تستهلك الأجزاء الأربعة 30 + 75 + 105 + 50 = 260 ثانية، لذا تحصل التجربة الحية على 300 - 260 = 40 ثانية.
  2. تبدأ التجربة الحية بعد 260 ثانية، أي بعد 4 دقائق و20 ثانية، عند 4:20، وتنتهي عند 5:00.

الإجابة 3

لا توجد إجابة واحدة: فالأمر يعتمد على فريقك. وللمرجعية، يبدأ الفريق الذي التزم بكل مرحلة الأسبوع 11 وقد أنجز 8 من البنود الـ13 المطلوبة، والبنود المتبقية، وعددها 5، هي: الشيفرة المرفوعة إلى المستودع، والفيديو، والمقترح بعد مراجعته، والشرائح النهائية، والشعار. وأي بند ناقص آخر يأتي من مرحلة سابقة، فأعطه مسؤولا أولا. وتكون خطة الفيديو صحيحة عندما يكون مجموع أجزائها 300 ثانية بالضبط.