تعلّم تحليل البيانات بنفسك خلال 30 يوماً

دقائق القراءة: 10

مقدمة: هل يمكن تعلّم تحليل البيانات في 30 يوماً؟

نعم، يمكن اكتساب أساس قوي في مجال تحليل البيانات خلال 30 يوماً إذا التزمت بخطة يومية واضحة وركّزت على التطبيق العملي. الفكرة هنا ليست التحول إلى عالم بيانات متقدم في شهر واحد، بل الوصول إلى مستوى يمكّنك من فهم البيانات، جمعها، تنظيفها، وتحويلها إلى رؤى قابلة للفهم باستخدام أدوات حديثة مثل Python وJupyter.

وقد طُرحت دورة تعليمية متكاملة على قناة freeCodeCamp.org في YouTube، وتتضمن فيديو تدريبياً، وموقعاً مكملاً، وملفات Jupyter Notebooks تساعدك على التدرّب خطوة بخطوة. إذا اتبعت المسار المقترح بجدية، فستتمكن من بناء قاعدة ممتازة للانطلاق في هذا المجال.

تعلم تحليل البيانات خلال 30 يوماً باستخدام بايثون وبيئة جوبيتر ورسوم البيانات

ما الذي ستتعلمه من دورة تحليل البيانات؟

تهدف هذه الدورة إلى تقديم مدخل عملي وسريع إلى تحليل البيانات المعتمد على Python. وهي مناسبة لمن يملك فهماً أولياً للبرمجة أو معرفة أساسية بكيفية عمل الأكواد البرمجية.

الغاية الأساسية ليست تغطية كل فروع علم البيانات، بل تمكينك من:

  • العثور على مصادر بيانات موثوقة.
  • قراءة البيانات والتعامل معها برمجياً.
  • تنظيف البيانات وتجهيزها للتحليل.
  • استخدام بيئة Jupyter لاستخراج النتائج.
  • إنشاء تصورات بصرية تساعد على فهم الأنماط والاتجاهات.

أبرز المحاور التي تغطيها الدورة

  • تثبيت Python وJupyter.
  • العمل داخل بيئة Jupyter Notebook.
  • الوصول إلى البيانات من خلال المصادر المفتوحة وواجهات API.
  • معالجة البيانات وتحويلها.
  • رسم البيانات بصرياً.
  • فهم النتائج وربطها بالسياق الواقعي.

لماذا لا يكفي مشاهدة الشرح وحدها؟

من أكثر الأخطاء شيوعاً الاعتقاد أن مشاهدة دورة تعليمية كافية لإتقان تحليل البيانات. الحقيقة أن الفهم الحقيقي يبدأ عندما تكتب الكود بنفسك، وترتكب الأخطاء، ثم تحاول إصلاحها.

الخبرة العملية تتكون عندما تواجه مشكلات مثل:

  • أخطاء في كتابة الصياغة البرمجية.
  • استيراد مكتبات بشكل غير صحيح.
  • سوء فهم لطريقة عمل دالة مثل read_csv() أو merge().
  • اختلاف البيئة التشغيلية بين جهاز وآخر.
  • تعطل الكود بسبب تنسيق بيانات غير متوقع.

لذلك، إذا أنهيت الدورة ولم تبدأ بالتجريب الفعلي، فستبقى المعرفة نظرية. أما إذا مارست التحليل بيدك، فستتحول المفاهيم إلى مهارات قابلة للاستخدام.

ما أفضل الأدوات للبدء في تحليل البيانات؟

هناك أدوات عديدة يمكن استخدامها لاستهلاك البيانات وتحليلها، ويعتمد اختيار الأداة المناسبة على احتياجاتك وخبرتك التقنية.

الجداول الممتدة ليست مجرد آلة حاسبة

برامج الجداول مثل Spreadsheets مفيدة جداً، ولا تقتصر على تتبع الميزانيات أو تنفيذ العمليات الحسابية البسيطة. فهي تتيح رسوماً بيانية، ودوال متقدمة، وربطاً بمصادر خارجية.

أدوات المؤسسات القوية

حلول مثل Tableau وSplunk وMicrosoft Power BI ممتازة لتحليل الأرقام وعرض النتائج ومشاركتها مع الفرق.

لماذا يفضّل كثيرون استخدام Python؟

لأن منظومة Python أوسع بكثير من الأدوات المغلقة والمخصصة لمهام بعينها. فهي تمنحك:

  • لغة برمجة كاملة الإمكانات.
  • مكتبات متخصصة للتعامل مع البيانات.
  • مرونة في جلب البيانات وتحويلها وتحليلها وتصويرها.
  • قدرة على بناء حلول مخصصة بدل الاعتماد على واجهات جاهزة فقط.

بعبارة مباشرة: التحدي في Python ليس ما يمكنك فعله، بل ما الذي قد تعجز عن فعله بها.

ما هي بيئة Jupyter ولماذا هي مهمة؟

Jupyter منصة مفتوحة المصدر تتيح لك تشغيل كود Python والتعامل مع البيانات من داخل المتصفح. وهي بيئة مفضلة جداً في تحليل البيانات لأنها تجمع بين الكود والشرح والنتائج في ملف واحد.

كيف كانت البرمجة تتم تقليدياً؟

في السابق، كان المطور يكتب الكود داخل ملف نصي ينتهي غالباً بالامتداد .py، ثم يشغله بالكامل من خلال سطر الأوامر أو محرر برمجي. المشكلة أن أي خطأ في جزء من البرنامج قد يعطل التنفيذ كله، مما يصعّب الفهم والتجربة السريعة.

ما الذي يميز Jupyter Notebooks؟

توفر دفاتر Jupyter مرونة كبيرة، لأنها تسمح لك بتشغيل الكود:

  • سطرًا بسطر.
  • خلية بخلية.
  • أو دفعة واحدة.

وهذا يساعدك على:

  • فهم منطق الكود تدريجياً.
  • اختبار أجزاء محددة دون إعادة تشغيل المشروع كاملاً.
  • استكشاف الأخطاء ومعالجتها بسهولة.
  • مشاركة العمل بشكل تفاعلي عبر الإنترنت.

أنواع Jupyter

تأتي المنصة بعدة أشكال، وأشهرها:

  • Classic Notebook: الإصدار التقليدي والبسيط.
  • JupyterLab: إصدار أحدث يدعم نوافذ وأدوات إضافية والعمل على عدة ملفات داخل تبويب واحد.
  • JupyterHub: إصدار خادمي مخصص لعدة مستخدمين.

وبالنسبة للمبتدئين، فإن Classic Notebook أو JupyterLab كافيان تماماً.

كيف تبني بيئة عمل مناسبة لتحليل البيانات؟

التحقق من تثبيت Python

قبل أي شيء، تحتاج إلى التأكد من وجود Python 3 على جهازك. يمكن فعل ذلك عبر سطر الأوامر باستخدام:

python --version

أو أحياناً:

python3 --version

المهم هو استخدام Python 3 وليس Python 2 لأنه قديم وغير مناسب للمشاريع الحديثة.

لماذا قد تحتاج إلى بيئة افتراضية؟

ليست كل الإصدارات متوافقة بالطريقة نفسها. قد تحتاج مكتبة ما إلى إصدار محدد مثل 3.9، بينما يعمل نظامك على 3.7. التحديث المباشر قد يحل المشكلة، لكنه قد يسبب تعارضات غير مرغوبة في النظام.

لهذا السبب، يُنصح باستخدام بيئة افتراضية معزولة عبر أدوات مثل:

  • venv
  • Docker
  • LXD
  • مثيل سحابي مستقل مثل AWS

البيئة الافتراضية تمنحك حرية تثبيت المكتبات والإصدارات التي تريدها دون العبث بالنظام الأساسي.

تثبيت Jupyter

يمكن تثبيت Jupyter محلياً باستخدام توزيعة Anaconda مع مدير الحزم conda، أو عبر pip إذا كنت تفضّل المسار الأخف. بعد التثبيت، ستتمكن من فتح دفتر جديد مباشرة من المتصفح والبدء في العمل.

كيفية العمل داخل Jupyter Notebook

أهم ما يميز هذه البيئة هو مفهوم الخلايا Cells. كل خلية يمكن أن تحتوي على كود أو نص توثيقي.

تشغيل الخلايا

عند تحديد خلية والضغط على زر التشغيل، يتم تنفيذ محتواها فقط. ويمكن أيضاً استخدام الاختصار Ctrl + Enter لتسريع العمل.

إضافة الخلايا وتحريكها

يمكنك إدراج خلية جديدة بسهولة، أو نقل الخلايا إلى الأعلى والأسفل لإعادة تنظيم التحليل.

الفرق بين خلايا الكود وMarkdown

الخلايا تكون افتراضياً مخصصة للكود، لكن يمكنك تغيير نوعها إلى Markdown لكتابة ملاحظات أو عناوين أو شروحات داخل الدفتر. على سبيل المثال، الرمز # في Markdown يُستخدم لتمثيل عنوان رئيسي.

فهم الذاكرة الداخلية Kernel

أي قيمة أو متغير يتم إنشاؤه يظل محفوظاً داخل ذاكرة Kernel حتى تعيد تشغيلها أو تمسح المخرجات. وهذا مفيد في إعادة اختبار خطوات سابقة أو مقارنة النتائج بعد تعديل جزء من الكود.

المكتبات الأساسية في تحليل البيانات باستخدام Python

عند العمل على مشروع تحليلي، غالباً ستحتاج إلى مكتبات متخصصة. من أبرزها:

  • pandas: للتعامل مع الجداول وإطارات البيانات DataFrames.
  • NumPy: للعمليات الرياضية على المصفوفات والبيانات الكثيفة.
  • matplotlib: لرسم البيانات بصرياً.
  • BLS: مكتبة خارجية تُستخدم في المثال للوصول إلى بيانات مكتب إحصاءات العمل الأمريكي.

غالباً ما يتم استيراد هذه المكتبات بصيغ مختصرة مثل:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import bls

كيف تصل إلى البيانات عبر API؟

أحد أهم جوانب تحليل البيانات الحديثة هو القدرة على جلب البيانات من مصادر حية عبر واجهات API. في المثال التعليمي، تم استخدام بيانات مكتب إحصاءات العمل الأمريكي BLS للإجابة عن سؤال واقعي: هل ارتفعت أجور العمال في الولايات المتحدة خلال العشرين سنة الماضية؟ وإذا ارتفعت، فهل انعكس ذلك فعلاً على مستوى المعيشة؟

فكرة المثال التحليلي

تم الاعتماد على مجموعتي بيانات:

  • مؤشر أسعار المستهلك CPI.
  • بيانات الأجور والرواتب من مؤشر تكلفة التوظيف.

الهدف هو مقارنة نمو الأجور مع تكلفة المعيشة، لأن ارتفاع الرواتب وحده لا يكفي إذا كانت الأسعار ترتفع بوتيرة أعلى.

الحصول على مفتاح API

لبعض الطلبات المتقدمة أو كثيفة الاستخدام، ستحتاج إلى مفتاح API Key. بعد التسجيل، يصلك المفتاح عبر البريد الإلكتروني، ويمكن إضافته إلى متغيرات البيئة على النظام.

مثال على تثبيت مكتبة خارجية

إذا أردت استخدام مكتبة BLS كما في المادة الأصلية، يمكن تثبيتها عبر:

pip install bls

تنظيف البيانات وتجهيزها للمقارنة

عندما تصل البيانات من المصدر، نادراً ما تكون جاهزة للتحليل مباشرة. في المثال المطروح، ظهرت عدة تحديات:

  • بيانات CPI كانت شهرية.
  • بيانات الأجور كانت ربع سنوية.
  • تنسيق التواريخ مختلف بين المجموعتين.
  • الأجور كانت معبّراً عنها كنِسب مئوية، بينما CPI كان قيماً نقطية مباشرة.

استخدام read_csv() وDataFrame

بعد جلب البيانات، يمكن حفظها محلياً بصيغة CSV ثم قراءتها باستخدام pd.read_csv(). هذه الخطوة تسهّل الفحص والتجربة وتكرار التحليل دون الحاجة إلى إعادة طلب البيانات في كل مرة.

توحيد بنية التواريخ

حتى يتمكن Python من مزامنة البيانات بين مجموعتين مختلفتين، يجب توحيد شكل التاريخ. فعلى سبيل المثال، يمكن تحويل الأشهر 03 و06 و09 و12 إلى تمثيل ربعي مثل Q1 وQ2 وQ3 وQ4.

استبعاد الصفوف غير اللازمة

بعد تحويل القيم الشهرية الموافقة لنهاية كل ربع، يتم حذف بقية الصفوف غير الضرورية حتى تصبح بيانات CPI متوافقة مع بيانات الأجور من حيث الإطار الزمني.

التعامل مع مشكلة اختلاف وحدات القياس

هذه من أهم النقاط التقنية في المثال. فبيانات CPI جاءت على شكل قيم مباشرة، بينما بيانات الأجور كانت عبارة عن نسب نمو سنوية مقدرة على أساس ربع سنوي.

لذلك، لا يمكن مقارنتهما كما هما. تم اللجوء إلى تبسيط حسابي تقريبي عبر:

  1. قسمة نسبة النمو على 4 لتحويلها من معدل سنوي إلى تقدير ربعي.
  2. تحويل النسبة المئوية إلى قيمة عشرية.
  3. تطبيق هذه النسبة على قيمة أساس مرجعية لإنشاء سلسلة تقريبية قابلة للمقارنة مع CPI.

صحيح أن هذه المعالجة ليست نموذجاً اقتصادياً مثالياً، لكنها مناسبة لأغراض التعليم ورسم الصورة العامة التاريخية.

إنشاء دالة مخصصة للتحويل

تم استخدام دالة برمجية لمعالجة كل صف في بيانات الأجور، وتحديث القيمة المرجعية تدريجياً. الفكرة هنا مهمة للمبتدئ: أحياناً لا تكفي الدوال الجاهزة، وتحتاج إلى كتابة منطقك الخاص بما يلائم طبيعة البيانات.

دمج مجموعات البيانات باستخدام merge()

بعد تنظيف البيانات وتوحيد شكلها، تأتي خطوة الدمج. هنا يمكن استخدام دالة pd.merge() لربط الجدولين اعتماداً على عمود التاريخ.

هذه الخطوة أساسية لأنها تنقلنا من بيانات منفصلة إلى نموذج موحد يسمح بإجراء المقارنات والرسوم والتحليل الإحصائي.

تصوير البيانات: من الأعمدة إلى الخطوط والنقاط

عرض البيانات بصرياً يساعد كثيراً في التقاط الأنماط التي قد لا تظهر بوضوح في الجداول الخام.

الرسم بالأعمدة Bar Chart

في البداية، يمكن رسم القيم على شكل أعمدة. هذا مفيد، لكنه قد يصبح مزدحماً عندما تكون البيانات كثيرة، خاصة إذا امتدت على سنوات متعددة.

الرسم الخطي Line Chart

غالباً ما يكون الرسم الخطي أفضل في تتبع الاتجاهات الزمنية. وعند تحويل نوع الرسم من bar إلى line، تصبح المقارنة أكثر وضوحاً وسلاسة.

في المثال، أظهر الرسم أن بيانات الأجور كانت في أغلب الفترات أعلى من مؤشر الأسعار، ما يشير إلى نمو الأجور بوتيرة أفضل نسبياً من التضخم في الصورة العامة، مع وجود فترات استثنائية تحتاج إلى تفسير أعمق.

أنواع رسوم أخرى يجب أن تعرفها

المخطط المبعثر Scatter Plot

هذا النوع مفيد لإظهار العلاقة بين متغيرين. وقد استُخدم في مثال آخر لربط نصيب الفرد من الناتج المحلي بدرجات الحرية الاقتصادية. كل نقطة تمثل دولة، وموقعها يوضح العلاقة بين القيمتين.

عندما ترى النقاط تتجه إلى اليمين والأعلى، فهذا يدل غالباً على وجود علاقة إيجابية بين المتغيرين.

إضافة التفاعل عبر plotly

باستخدام مكتبات مثل plotly، يمكنك جعل الرسم تفاعلياً بحيث يظهر اسم الدولة أو تفاصيل إضافية بمجرد تمرير المؤشر على النقطة.

خط الانحدار وقيمة

إذا أردت قياس قوة العلاقة إحصائياً، يمكنك إضافة خط انحدار باستخدام trendline="ols". عندها تحصل على قيمة التي تعطيك مؤشراً رقمياً على مدى ملاءمة النموذج.

كلما اقتربت القيمة من 1 زادت قوة العلاقة. أما القيم المتوسطة، فقد تظل مفيدة بحسب طبيعة البيانات وسياق الدراسة.

المدرج التكراري Histogram

المدرج التكراري ممتاز عندما تريد فهم توزيع البيانات ضمن فئات Bins. لكنه ليس دائماً الخيار الصحيح. ففي مثال توزيع تواريخ ميلاد لاعبي الهوكي، لم يكن Histogram هو الأنسب لأن المطلوب كان عرضاً حرفياً لتوزيع الأشهر، وكان الرسم بالأعمدة أكثر دقة ووضوحاً.

هذه نقطة مهمة في التحليل: اختيار الرسم الخاطئ قد يعطي انطباعاً مضللاً حتى لو كانت البيانات صحيحة.

كيف تفهم الرسوم البيانية في سياق واقعي؟

التحليل الحقيقي لا يتوقف عند إنتاج رسم جميل. بل يبدأ عندما تسأل: لماذا ظهرت هذه القفزة؟ وما الحدث الذي يفسر هذا التغير؟ وهل التحويلات التي أجريتها على البيانات أثرت على صدقية النتيجة؟

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

من الممارسات الذكية أن تقارن الرسوم الناتجة قبل التنظيف وبعده. إذا بقي الاتجاه العام نفسه، فهذا مؤشر جيد على أن المعالجة لم تشوّه الحقيقة الأساسية.

في المثال:

  • ظل اتجاه CPI التصاعدي واضحاً بعد تقليل النقاط الشهرية إلى ربع سنوية.
  • أصبحت بيانات الأجور أكثر نعومة بعد تحويلها من نسب نمو إلى قيم تقريبية، وهو أمر منطقي بسبب اختلاف المقياس.

ربط الشذوذات بالأحداث التاريخية

إذا وجدت نقاطاً أو فترات تبدو غير منسجمة مع النمط العام، فمن الأفضل العودة إلى السياق الاقتصادي أو السياسي أو الاجتماعي. فالأزمات، والركود، والطفرة، وتغيرات السوق قد تكون وراء تلك الانحرافات.

وهنا يتحول تحليل البيانات من مجرد تشغيل مكتبات إلى مهارة تفسيرية تجمع بين التقنية والفهم الواقعي.

خطة عملية لتعلّم تحليل البيانات خلال 30 يوماً

إذا أردت الاستفادة من الفكرة فعلياً، يمكنك تقسيم الشهر إلى مراحل واضحة:

الأسبوع الأول: تأسيس البيئة والمفاهيم

  • تثبيت Python وJupyter.
  • تعلم أساسيات الخلايا وKernel.
  • مراجعة مبادئ البرمجة الأساسية في Python.

الأسبوع الثاني: قراءة البيانات وتنظيفها

  • تعلّم استخدام pandas.
  • العمل على ملفات CSV.
  • تنظيف الأعمدة، وإعادة التسمية، ومعالجة القيم الناقصة.

الأسبوع الثالث: جلب البيانات من الإنترنت وتحليلها

  • التعامل مع API.
  • دمج مجموعات بيانات مختلفة.
  • إجراء مقارنات واستخراج أنماط.

الأسبوع الرابع: التصور البصري والتفسير

  • إنشاء رسوم باستخدام matplotlib أو plotly.
  • تجربة Scatter Plot وHistogram وLine Chart.
  • كتابة استنتاجات منطقية مدعومة بالبيانات.

أفضل نصيحة للمبتدئ في مجال تحليل البيانات

لا تنتظر أن يصبح الكود مثالياً من أول مرة. التقدم في هذا المجال يعتمد على كثرة المحاولة، لا على الكمال. ستخطئ في كتابة الأوامر، وتعيد تشغيل الدفتر مرات عديدة، وتبحث عن حلول لمشكلات تبدو مربكة. هذا طبيعي جداً، بل هو جزء من عملية التعلم نفسها.

الخبرة الحقيقية لا تأتي من مشاهدة شخص آخر يكتب كوداً نظيفاً، بل من لحظات الإرباك التي تمر بها وأنت تحاول أن تجعل بياناتك تعمل كما ينبغي.

الخلاصة التقنية

تعلّم تحليل البيانات خلال 30 يوماً هدف واقعي إذا كان المقصود هو بناء أساس عملي متين، لا الوصول إلى الاحتراف الكامل. الأدوات مثل Python وJupyter وpandas تمنحك بيئة قوية للبدء، لكن القيمة الحقيقية تظهر عندما تتعامل مع بيانات فعلية، وتفهم عيوبها، وتختار الرسم المناسب لها، ثم تربط النتائج بسياقها الواقعي. من الناحية التقنية، أهم مهارة يجب تطويرها مبكراً ليست فقط كتابة الكود، بل القدرة على التفكير النقدي في جودة البيانات، وصحة التحويلات، ومعنى النتائج التي تراها أمامك.

اترك تعليقاً

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