مجموعة البيانات
الخلاصة - ٦
أهمية البيانات
إن مفهوم تعلم الآلة هو عبارة عن بناء نماذج لديها القدرة الإدراكية على التعلم من التجارب السابقة للتنبؤ بالمخرج الصحيح لمهمة محددة.
كما هو معروف تقليديًا بـ (software 1.0) فإن عملية البرمجة تتم بكتابة أسطر من التعليمات البرمجية للآلة باستخدام (if statement) للوصول للمخرج المطلوب،بإعطاء المدخل للبرنامج وانتظار المخرج منه، كما هو موضح في الصورة التالية.
تبين بأن هذه الطريقة التقليدية غير مجدية في حل كثير من المشاكل، ومنها التطبيقات المتعلقة برؤية الحاسب. فظهر نوع جديد من البرمجيات يُعرف بـ(software 2.0) الذي يعتمد على تعلم الآلة وتدريبها لاستخراج المخرج المطلوب وجعلها تقوم بعملية إنشاء نموذج خاص بها بدون برمجة صريحة أي بدون إعطاءها تعليمات، كما يظهر في الرسم التوضيحي في الأسفل. يتم إعطاء الآلة المدخل والمخرج لكي تتعلم ومن ثم تقوم بإنشاء نموذج قادر على تطبيق ما تعلمته سابقًا على مدخلات جديدة لتنبؤ المُخرج لها.
تعتمد عملية تعلم الآلة على مجموعة البيانات بشكل أساسي، فهي المحرك الرئيسي لتدريب وتقييم نماذج تعلم الآلة. حيث تعتبر مجموعة البيانات هي المُدخل والمُخرج لهذه النماذج.
خلال هذه التدوينة ستستعرض مصادر لمجموعات البيانات و أشهر صيغها وما يميز كل صيغة عن الأخرى.
مواقع لمجموعة البيانات
يوجد العديد من المواقع التي تحتوي على مجموعات من البيانات الحقيقية. إليكم بعض هذه المصادر:
ملفات CSV و JSON
توجد العديد من الصيغ لملفات البيانات، إلا أن أشهرها والمتعارف عليها كثيرًا هي الملفات التي تكون بصيغة JSON وCSV. سنتعرف قليلًا على هذه الصيغ ومتى نستخدم كُلا منها.
ملفات بصيغة (CSV (Comma Separated Value:
تعتبر من أبسط أنواع ملفات البيانات تَعرض البيانات بطريقة جدولية يتم فصل الأعمدة عن بعضها البعض بواسطة فاصلة ",“ أو فاصلة منقوطة ";” أو أي شكل آخر. كل سطر جديد في البيانات يمثل الصفوف، الصورة التالية توضح تركيبة ملف البيانات بصيغة CSV.
يحتوي أول صف على أسماء الخصائص (features)، وتحتوي بقية الصفوف والتي تعرف بالسجلات (Records) على قيم هذه الخصائص. ويجب أن تحتوي جميع السجلات على نفس عدد الأعمدة وتأخذ القيمة نوع واحد من البيانات. تستخدم هذه الصيغة للبيانات التي تكون خصائصها تحتوي على قيمة واحدة وما تسمى بـ "flat data”، على سبيل المثال مجموعة البيانات التالية:
كما ذكرنا سابقًا أن ملفات CSV لاتحتوي إلا على البيانات التي تحمل قيمة واحدة، مما يعني أنها لا تدعم البيانات من نوع "sets, array, list"، وهذا ما يميز ملفات JSON وسنتطرق إليها في القسم القادم في هذه التدوينة. لذلك إن كانت هناك حاجة لهذا النوع من البيانات فقد تحتاج إلى ملف آخر يحتوي على بقية البيانات وربط الملفات ببعض. كما أنك ستحتاج إلى ملف آخر لتعريف نوع البيانات، يسمى ملف البيانات الوصفية (Metadata). في هذه الحال من الأفضل استخدام ملفات JSON عوضًا عن إنشاء كل هذه الملفات. واستخدام صيغة CSV للبيانات البسيطة.