1. مقدمة
تاريخ التعديل الأخير: 10/05/2024
ما هي Kaggle؟
Kaggle هو أكبر تقنيات الذكاء الاصطناعي منتدى تعلُّم الآلة هو المنصة المثالية لمحبّي علوم البيانات وتعلُّم الآلة من جميع المستويات للارتقاء بأحدث التقنيات والتقنيات. اكتشف مستودعًا كبيرًا من مجموعات البيانات ودفاتر الملاحظات والنماذج المدربة مسبقًا لبدء مشروعك التالي. يمكنك المشاركة في المسابقات والتعلّم من الدورات التدريبية والتواصل مع منتدى متنوع يضم أكثر من 18 مليون مستخدم من جميع أنحاء العالم. سواء كنت مبتدئًا أو محترفًا متمرسًا، فإن Kaggle هو المكان المناسب لصقل مهاراتك، والبقاء في الصدارة، والتعاون في المشروعات المتطورة.
ما الذي ستنشئه
في هذا الدرس التطبيقي، ستقوم بإنشاء منافسة kaggle وإعدادها وإطلاقها. ستستعرض تجربة المنافس وتفهم أفضل الممارسات لإجراء مسابقة جذابة.
المعلومات التي ستطّلع عليها
- فهم كيفية إنشاء وإدارة منافسة Kaggle من جانب المضيف
- التنقل في تجربة المنافس، من الاستكشاف إلى الإرسال
- التعرّف على أفضل الممارسات لإجراء مسابقة تفاعلية
يركز هذا الدرس التطبيقي على إنشاء منافسة بسرعة ويستفيد من مكتبة المنافسة المتنامية لدى Kaggle.
المتطلبات
- متصفح ويب حديث
- معرفة أساسية بلغة بايثون
2. بدء الإعداد
إنشاء حساب Kaggle
قم بزيارة موقع Kaggle الإلكتروني (https://www.kaggle.com/) وانقر فوق "Register" (تسجيل) لإنشاء حساب مجاني.
إثبات ملكية حسابك
- في أعلى يسار الصفحة، انقر على صورة ملفك الشخصي.
- انقر على "ملفك الشخصي"
- انقر على "الإعدادات" الزر على الجانب الأيمن من محتوى الملف الشخصي
- ضمن "التحقق من الهاتف" اتّباع التعليمات لإثبات ملكية حسابك
3- إنشاء المنافسة الأولى
نقدّم لك نماذج المسابقات من إنشاء الذكاء الاصطناعي
"المسابقات التي يتم إنشاؤها باستخدام الذكاء الاصطناعي" هي ميزة جديدة في Kaggle تتيح للمستخدمين إنشاء مسابقات تعلُّم الآلة بسرعة وسهولة. وتستفيد هذه التكنولوجيات من الذكاء الاصطناعي لإنشاء مجموعات بيانات اصطناعية تحاكي الخصائص الإحصائية لمجموعات البيانات الحالية بدون أن تحتوي على أي معلومات تحدّد الهوية الشخصية.
إليك آلية العمل:
- اختيار نموذج: يمكنك الاختيار من قائمة النماذج استنادًا إلى مهام تعلُّم الآلة المختلفة (مثل التصنيف أو الانحدار).
- ينشئ الذكاء الاصطناعي (AI) مجموعة بيانات: ينشئ الذكاء الاصطناعي في Kaggle مجموعة بيانات جديدة لمنافسك بناءً على النموذج الذي تختاره. وهي تشبه مجموعة البيانات الأصلية ولكنها تستخدم مجموعة فرعية من الخصائص ولها توزيعات خصائص مختلفة قليلاً.
- تخصيص المنافسة: أدخِل التفاصيل الأساسية، مثل اسم المسابقة ووصفها ومخططها الزمني. يمكنك أيضًا اختيار إعدادات الخصوصية لمنافسيك.
- الإطلاق: بعد الانتهاء من التفاصيل وتحديد عملية الإطلاق، تكون جاهزًا لإطلاق المنافسة.
وتعمل هذه الميزة على تبسيط عملية إنشاء المنافسة، ما يتيح للمزيد من المستخدمين الوصول إليها وتمكينهم من التركيز على جوانب تعلُّم الآلة بدلاً من إعداد مجموعة البيانات.
إنشاء مسابقة
انتقِل إلى https://www.kaggle.com/competitions/new، وانقر على "مسابقة جديدة يتم إنشاؤها باستخدام الذكاء الاصطناعي"
حدد "الانحدار باستخدام مجموعة بيانات عمر السلطعون" المنافسة.
تفاصيل المسابقة
املأ اسمًا وصفيًا وعنوانًا فرعيًا. على سبيل المثال، يمكنك استخدام "<YourName>'s Test Crab Competition" (مسابقة السلطعون التجريبية من <اسمك>) كعنوان و"إنشاء منافستي الأولى لمعرفة كيفية عملها" كعنوان فرعي. لاحظ أنه يتم ملء عنوان URL للمسابقة تلقائيًا استنادًا إلى العنوان.
إذن الوصول والوصول
نحتاج الآن إلى ضبط إذن الوصول إلى المسابقة وإذن الوصول إليها.
مستوى الرؤية
- علنية: منافسيك مرئية لأي شخص على Kaggle. ستظهر في نتائج البحث، حيث يمكن لأي شخص مهتم الانضمام إليها.
- خاصة: يتم إخفاء المسابقة من العرض العلني. لن يظهر هذا الاسم في عمليات البحث، ولن يتمكّن من المشاركة سوى الأشخاص الذين تدعوهم أنت على وجه التحديد.
مَن يمكنه الانضمام
- أي شخص: هذه سياسة الباب المفتوح. يمكن لأي شخص على Kaggle الانضمام إلى المنافسة.
- الأشخاص الذين لديهم رابط فقط: هذه الميزة حصرية أكثر. سيتم إنشاء رابط خاص، ويمكن فقط للمستخدمين الذين لديهم هذا الرابط الانضمام.
- قائمة عناوين البريد الإلكتروني المقيّدة: هذا هو الخيار الأكثر تحكّمًا. عليك تقديم قائمة بعناوين بريد إلكتروني أو نطاقات محدَّدة (مثل @yourschool.edu)، ويمكن فقط للمستخدمين الذين لديهم هذه العناوين الانضمام.
وسنتحدث أكثر عن إعداد تفعيل دفاتر الملاحظات والنماذج لاحقًا. في الوقت الحالي، تأكَّد من أنّ هذا الإعداد مفعَّل. بالنسبة إلى نموذج المنافسين، يُرجى ضبط هذه الإعدادات على خاص والأشخاص الذين لديهم الرابط فقط.
اقرأ البنود ووافق عليها ثم انقر على "إنشاء مسابقة".
4. فهم منافسيك وتهيئتها
وراء الكواليس، أنشأنا منافسة جديدة تمامًا تضم مجموعة بيانات فريدة. لنجري مراجعة سريعة لإعدادات المسابقة.
علامة تبويب "المضيف"
تحتوي علامة تبويب المضيف على كل ما تحتاجه كمضيف لتهيئة منافسيك بشكل صحيح. يمكنك الاطّلاع تحديدًا على قائمة الصفحات على يسار الصفحة:
التفاصيل الأساسية
يتضمن هذا القسم ما يلي:
- بنود عامة
- الخصوصية وإمكانية الوصول المراجِع
- المخطط الزمني
- النقاط الفِرق
لقد تناولنا قسمي "الإعدادات العامة" و"الخصوصية" عند إطلاق المسابقة.
المخطط الزمني
تاريخ انتهاء المسابقة يراعي المنطقة الزمنية.
النتائج الفريق
النتيجة يسمح لك قسم الفريق بالتحكم في عدد الأشخاص الذين يمكنهم الانضمام إلى الفريق، وعدد المرات التي يمكنهم فيها الإرسال كل يوم، وعدد المهام التي يجب عليهم اختيارها للتقييم النهائي.
الصور
تتيح لك ميزة "الصور" تخصيص البانر والصورة المصغّرة للمنافسة. سيؤثر هذا على الصفحة الرئيسية للمسابقة وكذلك على إدخال بطاقة بيانات المنافسة.
المضيفون
هنا يمكنك إضافة مستخدمي Kaggle الآخرين كمضيف لمنافستك. وسيكون لدى المضيفين الآخرين حق الوصول الكامل إلى منافسيك (بما في ذلك الإطلاق).
مقياس التقييم
علامة التبويب "مقياس التقييم" هي جوهر المنافسة. عند إنشاء منافسة من البداية، تحتاج هنا إلى التفكير بعناية في مقياس التقييم (أو النتيجة) الذي تريد استخدامه، وتحميل ملف الحل الخاص بك، وتحديد تقسيم الاختبار العام/الخاص، وتقديم نموذج إرسال. ومع ذلك، نظرًا لاستخدامنا منافسة تم إنشاؤها، لا نحتاج إلى تنفيذ أي إجراء من ذلك.
مقياس النقاط
يحدد هذا التقييم كيفية تقييم الإرسال مقابل ملف الحل. يحتوي كل مقياس على وثائق ورموز فعلية متاحة.
ملف الحلّ
بما أنّنا نستخدم منافسة تم إنشاؤها، هذا الملف فريد للمنافسين.
ويتيح لك تحليل عيّنات الحلول تعديل مقدار ملف الحلّ المُستخدَم لتقييم عمليات الإرسال أثناء المنافسة (لوحة الصدارة العامة) مقابل عدد الصفوف المستخدَمة لتحديد لوحة الصدارة النهائية. أثناء المنافسة، سيتم السماح للمستخدمين باختيار (بناءً على إعداد "المنشورات الخاصة التي تم تقييمها") التي سيتم استخدامها في قائمة الصدارة النهائية (تسمى "لوحة الصدارة الخاصة" هنا).
تضمن هذه العملية عدم مكافأة المنافسين مقابل الإفراط في التخصيص أو الإغراق بطلبات الإرسال.
عمليات الإرسال إلى وضع الحماية
ويسمح ذلك لمضيفي المسابقة بضمان عمل النتائج على النحو المتوقع، كما يسمح لهم بوضع "معيار" الطلبات للمنافسين للمقارنة بها. ستظهر عمليات إرسال مقاييس الأداء هذه على قائمة الصدارة.
الفِرق المحتوى الذي أرسلته
أثناء المنافسة، يتيح ذلك للمضيفين تنزيل جميع النتائج، بالإضافة إلى إدارة الفرق. قبل بدء المنافسة، هذا فارغ.
قائمة التحقّق الخاصة بالإطلاق
سيتم تناول ذلك في القسم التالي.
5- إطلاق المنافسة
من أعلى صفحة المسابقة، انقر على "قائمة التحقق للإطلاق" .
قائمة التحقّق الخاصة بالإطلاق
تعرض قائمة التحقق من الإطلاق الخطوات المطلوبة التي يجب اتخاذها قبل بدء المسابقة. بما أننا بدأنا بالفعل من نموذج مسابقة، فقد تم إكمال معظم هذه الخطوات بالفعل! تتبقى مهمتان فقط، وهما تحديد موعد نهائي وتحديث قواعد المنافسة.
ضبط الموعد النهائي
انقر أولاً على السهم بجانب "تحديد الموعد النهائي". تستمر المسابقات عادةً لمدة شهرين على الأقل. تبلغ مدة المسابقة سنة واحدة كحدّ أقصى.
تعديل القواعد
يجب تعديل قواعد المسابقة من النموذج التلقائي قبل إطلاقها. إذا كنت تدير هذه المسابقة لفصل أو مجموعة، فهذا مكان جيد لوضع أي معلومات حول التوقعات.
إطلاق
نحن جاهزون للإطلاق! انطلق وأطلق المنافسة! أنت الآن جاهز للانضمام إلى المنافسين!
6- تجربة المنافس
الآن بعد أن أطلقت المنافسة، دعنا نلقي نظرة على شكل تجربة المنافس. وسوف نغطي الانضمام إلى المسابقة وإرسال المشاركات. لهذا، يمكنك الانضمام إلى مسابقة Google IO Demo هنا: https://www.kaggle.com/competitions/google-io-demo-competition
الانضمام إلى المسابقة
بعد الانتقال إلى الصفحة الرئيسية للمسابقة، انقر على "الانضمام إلى المسابقة" في أعلى اليسار ثم قراءة القواعد والإقرار بها.
تقديم أول عملية إرسال
انتقِل إلى علامة تبويب الرمز وانقر على "دفتر ملاحظات جديد". سيؤدي هذا إلى فتح دفتر ملاحظات سيسمح لك بتقديمه إلى المسابقة.
أولاً، سنقرأ بيانات القطار والاختبار
# قراءة بيانات الاختبار والتدريب
قطار = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')
اختبار = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')
لنلقِ نظرة على البيانات.
# إلقاء نظرة على بعض البيانات
train.head()
لنقم بإعداد البيانات للتدريب. في هذه الحالة، نستبعد الجنس لأنه ليس قيمة رقمية. (تلميح: معرفة كيفية تضمين هذا من شأنه أن يحسن أداء نموذجك).
# استبعاد النتائج من بيانات الاختبار
البيانات = train.drop(columns=[‘Age', ‘Sex'])
الإجابات = القطار[‘Age']
ثم ننشئ نموذجًا. في هذه الحالة، نصيغ نموذجًا عشوائيًا للغابات.
# عملية استيراد للنموذج
من sklearn.model_selection استيراد station_test_split
من sklearn.ensemble الاستيراد من SpamForestRegressor
من sklearn.metrics استيراد mean_absolute_error
النموذج = RAMForestRegressor()
# تدريب على النموذج
model.fit(data, answers)
إنشاء إرسال:
尃predictions = model.predict(test.drop(columns=[‘Sex']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submit.to_csv(‘submission.csv', index=False)
بعد ذلك يمكنك الإرسال إلى المسابقة من خلال تحديد "إرسال إلى المسابقة" في القائمة الجانبية اليمنى.
نصائح لإدارة منافسة كبيرة
- تأكد من تضمين دفتر ملاحظات للمبتدئين ينشئ عملية تقديم أساسية
- تشجيع استخدام المناقشات ومشاركة دفاتر الملاحظات في وقت مبكر من المنافسة
- الاستمتاع بوقتك