مجموعة البيانات
الخلاصة - ٦
أهمية البيانات
إن مفهوم تعلم الآلة هو عبارة عن بناء نماذج لديها القدرة الإدراكية على التعلم من التجارب السابقة للتنبؤ بالمخرج الصحيح لمهمة محددة.
كما هو معروف تقليديًا بـ (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 للبيانات البسيطة.
ملفات (JSON (JavaScript Object Notation:
تعتبرمن أشهر صيغ الملفات وتتميز بدعمها للبيانات التي تحتوي على فروع وطبقات متعددة مثل الشجرة. كما أن كتابة الملفات التي بصيغة JSON تشبه طريقة كتابة الكائن "Object" في لغة الجافا سكربت.
تتمثل تركيبة ملفات JSON في تكوينها من مجموعة من الرموز (Notation)، كل رمز منها يحمل دلالة ووظيفة معينة: فالأقواس "{ }" تستخدم لإنشاء الكائنات، وأما الأقواس المربعة "[ ]" فتستخدم لإنشاء المصفوفات "arrays".
ولتمثيل البيانات نحتاج إلى الأسماء أو المفاتيح "names/keys" والقيم "values". حيث يحمل المفتاح اسم الميزة أو الخاصية ويكون داخل علامة تنصيص مثل "job"، "rc"، "steps"، أما القيم فتمثل مقدار كل خاصية مثل A", 8”.
وهنا توضيح لطريقة انشاء الكائن "Object" في ملفات JSON.
بإمكان الخصائص أن تحمل أكثر من قيمة وبأنواع مختلفة وتكون داخل مصفوفة "array" أو كائن "Object"، على سبيل المثال في الصورة التالية نجد أن قيمة الخطوات "steps" عبارة عن مصفوفة كل عنصر فيها عبارة عن “Object” يحمل أنواع مختلفة من البيانات كـ “integer” و “String”.
تدعم ملفات JSON جميع أنواع البيانات وتستخدم نفس الطريقة في لغة الجافا سكربت لتعريف البيانات، فعلى سبيل المثال عند كتابة بيانات "String" لابد من كتابتها داخل علامة التنصيص هكذا "Alkhulasa2019". في المثال التالي أحضرنا جزء من مجموعة البيانات الشهيرة Yelp لتوضيح كيفية كتابة البيانات بأنواعها في ملفات JSON.
تتميز ملفات JSON بتمييز أنواع البيانات مما يسهل في عمليات التحليل. أخيرًا إذا كانت البيانات تحتاج لملفات تدعم التمثيل الشجري وبحاجة لتعريف نوع البيانات فـ JSON هو أفضل خيار لتمثيلها.