البيانات التي نُدخلها إلى النموذج
الدرس 2 من 19 في دورة مقدمة في تعلم الآلة على Coddy.
في تعلم الآلة، تلعب البيانات دوراً حاسماً في تدريب وتطوير النماذج. لتغذية البيانات في نموذج ما، يتم تنظيمها عادةً في تنسيق مهيكل يُعرف باسم مجموعة البيانات (dataset) (وهي DataFrame في pandas).
تتكون مجموعة البيانات من جزأين رئيسيين:
- الميزات (Features) - مجموعة من الأعمدة التي تعبر عن مجموعة من البيانات
- المتغير المستهدف (Target variable) - يمثل المخرجات أو القيمة التي يهدف النموذج إلى التنبؤ بها أو تقديرها.
على سبيل المثال، إليك جدول الطقس (Weather)
| id | degrees (C) | humidity (%) | wind (KM/H) | is_rain |
| 1 | 23 | 5 | 14 | True |
| 2 | 30 | 10 | 17 | False |
| 3 | 15 | 3 | 12 | False |
| 4 | 20 | 12 | 5 | False |
| 5 | 26 | 57 | 23 | True |
بافتراض أننا نريد معرفة ما إذا كانت ستمطر، فإن الميزات هي degrees و humidity و wind، والمتغير المستهدف هو is_rain.
يُرمز للميزات بـ <strong>X</strong>، ويُرمز للمستهدف بـ <strong>y</strong>.
يمكن للمتغير المستهدف (<strong>y</strong>) أن يحتوي على أي نوع من البيانات - رقم، قيمة منطقية (boolean)، سلسلة نصية (string)، إلخ.
خلال عملية التدريب، يستخدم النموذج الميزات كمدخلات، والمتغير المستهدف كحقيقة أرضية (ground truth) أو المخرجات الصحيحة.
بدون متغير مستهدف، لن يكون لدى النموذج طريقة لمعرفة ما إذا كانت تنبؤاته صحيحة أم لا.
هناك العديد من الاختلافات في هيكل مجموعات البيانات:
- ميزات عديدة، متغير مستهدف واحد
- ميزة واحدة، متغير مستهدف واحد
- ميزات عديدة، متغيرات مستهدفة عديدة
- ميزات قليلة، متغير مستهدف واحد أو متعدد
- لا يوجد متغير مستهدف
- بيانات السلاسل الزمنية (Time series data)
- إلخ.
يتضمن التعلم الخاضع للإشراف (Supervised learning) مجموعات بيانات تحتوي على أزواج من المدخلات والمخرجات، حيث تتعلم الخوارزمية كيفية ربط المدخلات بالمتغيرات المستهدفة المقابلة.
لا يتضمن التعلم غير الخاضع للإشراف (Unsupervised learning) متغيرات مستهدفة؛ بدلاً من ذلك، فإنه يبحث عن أنماط أو هيكل في بيانات المدخلات دون أمثلة مصنفة.
من الضروري التأكد من أن المتغير المستهدف مستقل عن الأعمدة الأخرى، حيث أن أي تبعية قد تؤدي إلى تسرب البيانات (data leakage) وتؤدي إلى أداء عالٍ بشكل مضلل أثناء التدريب. يجب أن يتعلم النموذج التنبؤي الحقيقي من ميزات غير مرتبطة مباشرة بالمستهدف، وبالتالي الحفاظ على نزاهة وقابلية تعميم تنبؤات النموذج.
لا يمكن حساب المتغير المستهدف المستقل أو اشتقاقه مباشرة من الأعمدة الأخرى في مجموعة البيانات الخاصة بك؛ بل هو ما تهدف إلى التنبؤ به.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
سهللقد تم تزويدك بملف CSV يسمى galactic_zoo_no_target.csv. لا تحتوي مجموعة البيانات هذه على متغير مستهدف.
في هذا التحدي، ستقوم بإنشاء المتغير المستهدف الخاص بك. قم بإنشاء عمود باسم ComplexityIndex مشتق من الصيغة: WaterCoverage * HabitatDiversity / PlanetMass. بعد ذلك، قم بإزالة الأعمدة WaterCoverage و HabitatDiversity و PlanetMass، حيث يتم تمثيلها الآن بواسطة ComplexityIndex.
لاجتياز التحدي لا تقم بطباعة أي شيء، فنحن نتحقق من المتغير df داخلياً.
جرّب بنفسك
# تم استيراد pandas كـ pd بالفعل
df = pd.read_csv("galactic_zoo_no_target.csv")
# اكتب كودك أدناه
جميع دروس مقدمة في تعلم الآلة
تدرّب بنفسك: مترجم Python عبر الإنترنت