#تصوير_البيانات
شرح مبسط عن أشهر مكتبات استكشاف البيانات بلغة #بايثون (Python)
🚩ملاحظة: أغلب الأشكال تفاعلية لذلك آمل التوقف قليلًا عند كل شكل.
🚩PyGWalker
من أشهر مكتبات تصوير البيانات خلال عام 2023. حيث تعمل على تحويل البيانات إلى تطبيق تفاعلي لاستكشاف البيانات، وهي مشابه للوحة powerBI
يميزها واجهة السحب والإسقاط كما هو واضح بالشكل المرفق، ولكن ليست مرنه للأنماط القابلة لتخصيص.
@py4all@python_ar@ipython_@pythonat1
#تنظيف_البيانات
Data cleaning
تنظيف البيانات أو تنقية البيانات
هنا سوف نتعرف على عملية تنظيف البيانات وأنواع مشكلات البيانات وأهمية تنظيفها!!
تعتبر من أهم المراحل في ��ملية إدارة البيانات التي يجب التركيز عليها بعد استلام البيانات.
الغرض:
يستخدم التنبؤ (Forecasting) في التخطيط الاستراتيجي والميزانية وتخصيص الموارد وإدارة المخاطر. يساعد الشركات على اتخاذ قرارات مستنيرة بناءً على البيانات التاريخية والإسقاطات ��لإحصائية.
بينما يمكن استخدام (Predictions) في التنبؤ بالطقس أو التنبؤات الرياضية أو تنبؤات السوق، حيث تلعب الآراء أو الافتراضات الذاتية دورًا مهما في التنبؤ.
الفرق بين مصطلحات التنبؤ (Forecasting and Predictions) في #علم_البيانات
في الوقت الحالي ومع ظهور التقنيات الحديثة، أصبحت الشركات تعتمد على التنبؤ كأدوات رئيسية لقيادة وتوجيه عمليات صنع القرار.
وكثيرا ما تستخدم مصطلحات التنبؤ والتوقع(Forecasting and Predictions) بالتبادل، ولكن لها اختلافات واضحة مهمة من أجل فهم التخطيط الدقيق واتخاذ قرارات صحيحة وتحديد أهداف واقعية.
هنا سوف نتعرف على كلاً منهما من حيث التعريف والافتراضات والدقة والغرض:
الدقة:
يهدف التنبؤ (Forecasting) إلى تقديم تقدير أكثر دقة للنتائج المستقبلية.
بينما يمكن أن تكون (Predictions) أقل دقة بسبب العوامل الخارجية التي قد تؤثر على النتيجة واعتمادها على الحكم الذاتي والافتراضات.
تحليل السلسلة الزمنية (Time Series Analysis) أحد أهم الموضوعات التي يجب تعلمها في #علم_البيانات
وهو أسلوب إحصائي يتعامل مع البيانات المرتبة حسب الزمن. ويستخدم بشكل شائع لتحليل وتفسير الاتجاهات والأنماط والعلاقات داخل البيانات التي يتم تسجيلها بمرور الوقت.
لذلك فهم وتطبيق تحليل السلاسل الزمنية يسمح للمحللين بالتنبؤ بشكل أفضل بالقيم المستقبلية، واكتشاف الحالات الشاذة، واستخلاص رؤى من البيانات التي تختلف مع مرور الوقت.
بعض الطرق المستخدمة في هذا المجال:
1- نماذج (ARIMA): هي طريقة قوية تجمع بين التنظيم الذاتي والاختلاف والمتوسطات المتحركة، وهي فعاله لبيانات السلاسل الزمنية الثابتة.
2- نموذج التجانس الأسي (Exponential Smoothing):
تستخدم طرق ETS، بما في ذلك Holt-Winters، المتوسطات المرجحة للملاحظات السابقة للتنبؤ بالقيم المستقبلية كالتنبؤ بالتكلفة، ويتكيف مع التغيرات في أنماط البيانات وهو مناسب لمختلف خصائص السلاسل الزمنية. هذا النموذج مناسب للبيانات التي ليس لها اتجاه أو موسمية. ومع ذلك، قد لا يعمل بشكل جيد إذا أظهرت البيانات أنماطاً معقدة أو تغييرات مفاجئة.
3- نموذج Prophet:
تم تطويره بواسطة Facebook، للتنبؤ بالملاحظات اليومية التي تعرض أنماطًا على مقاييس زمنية مختلفة كالعطلات والمناسبات الخاصة والموسمية.
4- Long Short-Term Memory (LSTM) Networks:
أحد طرق التعلم العميق، تعتبر LSTMs فعالة في التقاط الأنماط المعقدة والتبعيات في بيانات السلاسل الزمنية. وهي مفيدة بشكل خاص عند التعامل مع العلاقات غير الخطية والتبعيات طويلة الأجل.
5- Seasonal-Trend decomposition using LOESS (STL):
هي طريقة قوية تتحلل بيانات السلاسل الزمنية إلى مكونات مثل الاتجاه والموسمية والبواقي. هذه الطريقة توفر فهمًا أوضح للأنماط الأساسية من خلال تحليل هذه المكونات بشكل منفصل.
من خلال #تصوير_البيانات يستطيع محلل البيانات الوصول إلى بياناته لرؤية وفهم واكتشاف الأنماط و الحالات الشاذة والعلاقات و الاتجاهات، هنالك أشكال كثيره يمكن استخدامها لتمثيل وتصوير البيانات لكل منها نقاط قوة وحالات خاصة.
لخصت بعضاً منها في صفحة واحدة (تكلمت عنها بالتفصيل في ثريد سابق).
🚩الحل لتجنب أو تقليل تسرب البيانات؟
يمكنك تقليل تسرب البيانات في التعلم الآلي بعدة طرق مختلفة:
من خلال تقسيم بياناتك إلى مجموعات فرعية للتدريب والاختبار قبل أي م��الجة مسبقة. والحفاظ على التسلسل الزمني في بيانات السلاسل الزمنية.
يمكن استخدام أحد الطرق التالية:
train_test_split
cross-validation methods
pipeline of scikit learn
في الختام، لكي تستفيد الشركات والمؤسسات من التعلم الآلي، من الضروري التخفيف من تسرب البيانات. هذا لا يعزز دقة النموذج فحسب، بل يعزز أيضًا عملية صنع القرار، مما يؤدي إلى نتائج موثوقة.
تسرب البيانات (Data leakage)
تعتبر أحد المشكلات الرئيسية في النماذج التنبؤية للتعلم الآلي، خاصة للمبتدئين، وذلك عندما يكون آداء خوارزمية التعلم الآلي جيد على بيانات التدريب والاختبار ولكنها تعطينا أداءً ضعيفًا عند تطبيقها على بيانات جديدة.
أحد أسباب الأداء الضعيف لنموذج على البيانات الجديدة هو تسرب البيانات.
🚩كيف يحدث تسرب البيانات؟
1⃣ يمكن أن يحدث تسرب البيانات في التعلم الآلي بطرق مختلفة خلال مرحلة معالجة البيانات وإعدادها لبناء النموذج. وذلك عندما نطبق طرق التحويل (transformations) أو المعالجة المسبقة (preprocessing) على مجموعة البيانات بأكملها قبل تقييم أداء النموذج.
على سبيل المثال، إذا قمت بعمل (normalize) لمجموعة البيانات بأكملها قبل تقسيمها، فإنك تقوم بخلط المعلومات عن غير قصد. (هنا النموذج يتعلم من بيانات التدريب والاختبار معاً).
2⃣ أيضًا هندسة المتغيرات (feature engineering)، حيث أن إنشاء متغيرات جديدة من مجموعة البيانات الكاملة قبل تقسيمها قد يتضمن رؤى من بيانات الاختبار، مما قد يؤدي إلى تسرب البيانات.
3⃣ أيضًا يجب أن تكون على دراية بتقسيم البيانات غير السليم، حيث لا يتم تقسيم البيانات بدقة أثناء التدريب والاختبار.
4⃣ أيضاً استخدام مصادر خارجية لم يتم التحقق منها يمكن أن يقدم معلومات تنبؤية، مما يضر بسلامة النموذج.
سيؤدي تطبيق تقنيات المعالجة المسبقة على مجموعة البيانات بأكملها إلى تعلم وتدريب النموذج ليس فقط على مجموعة التدريب ولكن أيضًا على مجموعة الاختبار. وكما نعلم أن مجموعة الاختبار يجب أن تكون ��ديدة وغير مرئية من قبل لأي نموذج.