المزيد من مقالات التعلم العميق بدون برمجة...مقالات التعلم العميق بدون برمجة

معالجة البيانات بدون برمجة باستخدام Knime

اقرأ في هذا المقال
  • مقدمة لتنظيف البيانات ومعالجتها باستخدام Knime
  • الاستنتاج

مقدمة لتنظيف البيانات ومعالجتها باستخدام Knime

Python و SQL و R و Julia هي بعض لغات البرمجة الشائعة المستخدمة في تحليل البيانات من قبل علماء البيانات والمحللين على مستوى العالم. هناك مجموعات من البرامج مثل Alteryx و Knime التي تحتوي على IDE (بيئة تطوير متكاملة) حيث يمكن لعشاق البيانات والخبراء التقنيين ذوي الخلفية البرمجية القليلة العمل على بياناتهم لاستخراج معلومات مفيدة منها. الميزة الرئيسية لهذه IDE، والتي تسمى البرمجة المرئية (visual programming)، تسمح للمستخدم بتصور تدفق البيانات من المعلومات الأولية إلى المعلومات والنماذج المعالجة وحتى المخرجات النهائية ذات المعنى. في هذه المقالة سأقدم مقدمة موجزة عن البرمجة المرئية باستخدام Knime باستخدام بيانات Fitbit الصحية المتاحة من Kaggle.

سيتم استخدام نهج Extract → Load → Transform في هذا التمرين. تم بالفعل “استخراج extracted ” البيانات التي تم تنزيلها. سوف يتم التحميل والتحويل باستخدام Knime.

 

إدخال ومعالجة بسيطة للبيانات. المصدر: لقطة من Knime IDE

تُستخدم عقدة “CSV reader” لتحميل البيانات إلى منصة Knime من مصدرها. هناك عقد مشابهة مثل Excel reader و JSON reader و Table Readerو Web reader. في هذه المقالة سأركز على CSV reader. تحتوي نافذة الوصف في Knime IDE وكذلك الوثائق في Knime Hub على مزيد من المعلومات حول كل عقدة إدخال بيانات مستخدمة في Knime.

لإدخال البيانات ، انقر بزر الماوس الأيمن على CSV reader واختر “Configure” من الخيارات options. في نافذة Configure التي تفتح، يمكنك اختيار الملف الذي تريد استيراده كملف CSV من موقع المصدر.

تصفية الأعمدة أثناء إدخال البيانات. المصدر: لقطة من Knime IDE

إذا كنت معتادًا على البيانات، يمكنك النقر فوق علامة التبويب “Transformation” في نافذة ” Configure” واختيار الأعمدة التي تريد إدخالها. بهذه الطريقة لن تضطر إلى التعامل مع المعلومات غير الضرورية أثناء معالجة البيانات الكبيرة في حال كنت تقوم ببناء النماذج وما إلى ذلك. في المثال أعلاه، اخترت أعمدة ” Total Steps” و “Total Distance” و ” Calories ” بمفردها واترك البقية.

عقدة Column Filter. المصدر: لقطة من Knime IDE

هناك طريقة أخرى لاختيار الأعمدة وهي استخدام عقدة “Column Filter“. تظهر نافذة التكوين لهذه العقدة هنا. كلتا الطريقتين في اختيار الأعمدة جيدة؛ ومع ذلك، فإن علامة التبويب “Transformation” من نافذة CSV readerتمنحك نظرة ثاقبة لنوع بياناتك كما تسمح لك بتحريك الأعمدة الخاصة بك بحيث يتم ترتيبها بالتنسيق الذي يناسبك. يمكن الاطلاع على الجدول النهائي عن طريق النقر بزر الماوس الأيمن على ” Column Filter” واختيار “Filtered table “.

عقدة Column Rename. المصدر: لقطة من Knime IDE

عقدة أخرى مفيدة لإدخال البيانات هي عقدة ” Column Rename“. كما يوحي الاسم، فإنه يسمح لك بتغيير أسماء أعمدة بيانات الإدخال إلى أسماء متغيرة سهلة (تشبه إلى حد كبير البرمجة) لنموذجك. هذا لا يغير أسماء الأعمدة في الملف المصدر على الإطلاق. هنا، أقوم بتغيير أسماء الأعمدة لـ “TotalSteps” و “TotalDistance” إلى ” Steps” و ” Distance” على التوالي.

ربط الجداول. المصدر: لقطة من Knime IDE

في المثال الخاص بي، استخدمت عقدتين CSV reader لقراءة البيانات من مصدرين. الآن وقد تم تعديل الإدخال ليكون له نفس الأعمدة، يمكن ضم هذين الجدولين لإنشاء جدول إخراج واحد لمعالجة البيانات لدينا. يتم استخدام عقدة Concatenate لهذا الغرض. يمكنك اختيار ما إذا كان من الممكن تخطي القيم المكررة في الجداول أو إلحاقها بقيمة أو إذا فشل التنفيذ. ثانيًا، يمكنك اختيار ما إذا كنت تريد تقاطع أعمدة أو اتحاد أعمدة. باختيار التقاطع intersection، سترى فقط الأعمدة التي تتطابق فيها البيانات بينما في اتحاد Union الأعمدة، يتم دمج جميع البيانات معًا لتزويدك بجدول متسلسل.

تصفية الصفوف في الجدول. المصدر: لقطة من Knime IDE

الآن وقد تمت تصفية البيانات حسب الأعمدة ودمجها، فإن آخر معالجة سنفعلها هي تنظيف البيانات لإزالة أي صفوف حيث تكون الخطوات هو 0. يمكن استخدام عقدة “Row Filter” لهذا الغرض. تحتوي عقدة filter على خيارات متنوعة لتضمين أو استبعاد الصفوف بناءً على نوع الصف ورقم الصف وقيمة الصف ومعرف الصف. لقد اخترت ” Steps” كعمود وصفوف مستبعدة حيث تكون القيمة 0. كما ترى، يمكنك استخدام هذه العقدة لتصفية الصفوف في عمود واحد فقط. لفلترة أعمدة متعددة، بدلاً من استخدام عدة عُقد لتصفية الصف، يمكنك استخدام عقدة “Rule based Row Filter “. سيسمح لك ذلك بكتابة تعليمات بسيطة لتصفية أعمدة متعددة.

مصفوفة الارتباط Correlation Matrix من عقدة Linear Correlation. المصدر: لقطة من Knime IDE

عقدة الارتباط الخطي Linear Correlation هي عقدة تصور تمنحك مقياسًا للارتباط بين الأعمدة المختلفة في بياناتك. يتيح لك ذلك معرفة كيف سيؤثر التغيير في أحد الأعمدة على بيانات أو إخراج عمود آخر. مصفوفة الارتباط الموضحة هنا هي ناتج عقدة Linear Correlation. ترتبط الخلايا الزرقاء الداكنة ارتباطًا وثيقًا بينما الخلايا الزرقاء الفاتحة لها ارتباط أقل. إذا كانت أي خلية حمراء، فسيكون لها علاقة عكسية بين المتغيرات (أعمدة X و Y) في تلك الخلية. يشير الصليب (X) إلى عدم وجود ارتباط.

ناتج عقدة مخطط التبعثر Scatter Plot. المصدر: لقطة من Knime IDE

تسمح لك عقدة مخطط مبعثر Scatter Plot بالتخطيط على عمود بآخر. لا يسمح بمحور ثانوي. يظهر ناتج عقدة Scatter Plot أعلاه. يمكنك تخصيص المخطط بالتسميات والعنوان والعناوين الفرعية ويسمح لك Knime أيضًا باختيار العرض مع الأعمدة الأخرى في المحور X و Y. يسمح هذا بعرض أسرع للعلاقة بين الأعمدة المختلفة بدلاً من الاضطرار إلى إنشاء عقدة منفصلة لكل مخطط.

الاستنتاج

تهدف هذه المقالة إلى إعطاء مقدمة موجزة عن إدخال البيانات وتحويلها في Knime. Knime هي أداة برمجة مرئية قوية يمكنها مستودع ضخم من العقد والميزات المتاحة من خلال IDE و Knime hub. مع القليل من البرمجة المطلوبة، يسمح Knime للمستخدمين بالعمل مع بياناتهم وإنشاء نماذج ونشر نماذج التعلم الآلي والتعلم العميق على بياناتهم للمعالجة السريعة بدلاً من الاضطرار إلى كتابة كل شيء باستخدام Python أو R أو SQL. في حين أن Python و R و SQL هي مهارات أساسية مطلوبة لعلم البيانات، فإن Knime يوفر بديلاً ممتازًا لأولئك الذين ليسوا مرتاحين للبرمجة ومع ذلك يحتاجون إلى اتخاذ قرارات بناءً على مخرجات النموذج.

بواسطة
towardsdatascience
المصدر
Codeless Data Processing with Knime

د. علاء طعيمة

كلية علوم الحاسوب وتكنولوجيا المعلومات / جامعة القادسية / العراق

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى