يقدم نظام بايثون البيئي مجموعة واسعة من الأدوات لعلماء البيانات. بالنسبة للمبتدئين، قد يكون من الصعب التمييز بين أدوات علم البيانات الأساسية والأدوات “اللطيفة”. في هذه المقالة، سأرشدك إلى مكتبات بايثون الأكثر شيوعًا لعلم البيانات.
مكتبات بايثون للحصول على البيانات
يبدأ علم البيانات بالبيانات. للقيام بتحليل البيانات أو النمذجة باستخدام بايثون، عليك أولاً استيراد بياناتك. يمكن تخزين البيانات بتنسيقات مختلفة، ولكن لحسن الحظ قام مجتمع بايثون بتطوير العديد من الحزم للحصول على بيانات الإدخال. دعونا نرى أي مكتبات بايثون هي الأكثر شيوعًا لاستيراد البيانات وإعدادها.
CSV
يعد CSV (القيم المفصولة بفواصل) تنسيقًا شائعًا لتخزين البيانات الجدولية بالإضافة إلى استيراد البيانات وتصديرها. للتعامل مع ملفات CSV، تحتوي بايثون على وحدة CSV مدمجة. على سبيل المثال، إذا كنت بحاجة إلى قراءة البيانات من ملف CSV، فيمكنك استخدام دالة csv.reader()
، والتي تتكرر بشكل أساسي عبر صفوف ملف CSV. إذا كنت تريد تصدير البيانات إلى تنسيق CSV، فيمكن للدالة csv.writer()
التعامل مع هذا الأمر.
JSON
JSON، أو JavaScript Object Notation، هو تنسيق قياسي لتخزين البيانات النصية وتبادلها. على الرغم من أنها مستوحاة من مجموعة فرعية من لغة برمجة JavaScript، إلا أن JSON لا تعرف اللغة – فأنت لا تحتاج إلى معرفة JavaScript للعمل مع ملفات JSON.
لتشفير وفك تشفير بيانات JSON، تحتوي بايثون على وحدة مدمجة تسمى json. بعد استيرادها، ستتمكن من قراءة مستندات JSON باستخدام التابع json.load()
أو تحويل بياناتك إلى ملفات JSON باستخدام التابع json.dump()
.
openpyxl
إذا كانت بياناتك مخزنة بشكل أساسي في برنامج Excel، فستجد مكتبة openpyxl مفيدة جدًا. لقد وُلد لقراءة وكتابة مستندات Excel. تدعم المكتبة ملفات xlsx، xlsm، xltx، وxltm. على النقيض من الحزم المذكورة أعلاه، فإن openpyxl ليس مدمجًا في بايثون؛ ستحتاج إلى تثبيته قبل استخدامه.
تتيح لك هذه المكتبة قراءة جداول بيانات Excel، واستيراد بيانات محددة من ورقة معينة، وإلحاق البيانات بجدول البيانات الموجود، وإنشاء جداول بيانات جديدة تحتوي على صيغ وصور ومخططات.
Scrapy
إذا كانت البيانات التي تريد استخدامها موجودة على الويب، فإن بايثون لديها العديد من الحزم التي ستحصل عليها بطريقة سريعة وبسيطة. Scrapy هي مكتبة شعبية مفتوحة المصدر للزحف إلى مواقع الويب واستخراج البيانات المنظمة.
باستخدام Scrapy، يمكنك، على سبيل المثال، SCRAPE TWITTER للتغريدات من حساب معين أو باستخدام علامات التصنيف المحددة. وقد تتضمن النتيجة الكثير من المعلومات التي تتجاوز التغريدة نفسها؛ قد تحصل على جدول بأسماء المستخدمين، وأوقات التغريدات والنصوص، وعدد الإعجابات، وإعادات التغريد، والردود، وما إلى ذلك. وبخلاف تجريف الويب، يمكن أيضًا استخدام Scrapy لاستخراج البيانات باستخدام واجهات برمجة التطبيقات.
إن سرعة ومرونة Scrapy تجعل منه أداة رائعة لاستخراج البيانات المنظمة التي يمكن معالجتها واستخدامها في مشاريع علوم البيانات المختلفة.
Beautiful Soup
تعد Beautiful Soup مكتبة شائعة أخرى للحصول على البيانات من الويب. تم إنشاؤه لاستخراج معلومات مفيدة من ملفات HTML وXML، بما في ذلك تلك ذات البنية والبنية غير الصالحة.
عند تشغيل مستند HTML من خلال Beautiful Soup، تحصل على كائن BeautifulSoup
الذي يمثل المستند كبنية بيانات متداخلة. ثم يمكنك التنقل بسهولة في بنية البيانات هذه للحصول على ما تحتاجه، على سبيل المثال. نص الصفحة، وعناوين URL للروابط، وعناوين محددة، وما إلى ذلك.
مرونة مكتبة Beautiful Soup رائعة. التحقق من ذلك إذا كنت بحاجة إلى العمل مع بيانات الويب.
مكتبات بايثون لمعالجة ونمذجة البيانات
بعد الحصول على بياناتك، ستحتاج إلى تنظيفها وإعدادها للتحليل والنمذجة. دعونا نستعرض مكتبات بايثون التي تساعد علماء البيانات في إعداد البيانات وبناء نماذج التعلم الآلي والتدريب عليها.
pandas
بالنسبة لأولئك الذين يعملون مع البيانات الجدولية في بايثون، فإن الباندا هي الخيار الأول لتحليل البيانات ومعالجتها. إحدى ميزاته الرئيسية هي إطار البيانات، وهو هيكل بيانات مخصص للبيانات ثنائية الأبعاد. تحتوي كائنات إطار البيانات على صفوف وأعمدة تمامًا مثل الجداول في Excel.
تحتوي مكتبة الباندا على مجموعة ضخمة من الأدوات لتنظيف البيانات ومعالجتها وتحليلها وتصورها. مع الباندا، يمكنك:
- إضافة وحذف وتحديث أعمدة إطار البيانات.
- التعامل مع القيم المفقودة.
- فهرسة إطارات البيانات وإعادة تسميتها وفرزها ودمجها.
NumPy
NumPy هي مكتبة بايثون أساسية لعلوم البيانات. وهي مصممة لإجراء عمليات عددية باستخدام صفائف ذات أبعاد n. تقوم المصفوفات بتخزين قيم من نفس نوع البيانات. يعمل توجيه NumPy للمصفوفات على تحسين الأداء بشكل كبير وتسريع سرعة عمليات الحوسبة.
باستخدام NumPy، يمكنك إجراء عمليات المصفوفة الأساسية والمتقدمة (مثل الإضافة والضرب والتقطيع وإعادة التشكيل والفهرس)، وإنشاء أرقام عشوائية، وتنفيذ إجراءات الجبر الخطي، وتحويلات فورييه، والمزيد.
SciPy
SciPy هي مكتبة أساسية للحوسبة العلمية. إنها مبنية على NumPy وتستفيد من فوائد تلك المكتبة للعمل مع المصفوفات.
باستخدام SciPy، يمكنك تنفيذ مهام البرمجة العلمية مثل حساب التفاضل والتكامل والمعادلات التفاضلية العادية والتكامل العددي والاستيفاء والتحسين والجبر الخطي والحسابات الإحصائية.
scikit-learn
مكتبة بايثون الأساسية لتعلم الآلة، تركز scikit-learn على نمذجة البيانات بعد تنظيفها وإعدادها (باستخدام مكتبات مثل NumPy وpandas). هذه أداة فعالة للغاية لتحليل البيانات التنبؤية. علاوة على ذلك، فهي صديقة للمبتدئين، مما يجعل تعلم الآلة باستخدام لغة بايثون في متناول الجميع.
باستخدام بضعة أسطر فقط من التعليمات البرمجية، يتيح لك scikit-learn إنشاء نماذج تعلم الآلة وتدريبها على الانحدار والتصنيف والتجميع وتقليل الأبعاد والمزيد. وهو يدعم الخوارزميات مثل أجهزة ناقل الدعم (SVM) وغيرها الكثير.
PyTorch
PyTorch هو إطار عمل مفتوح المصدر للتعلم العميق تم إنشاؤه بواسطة مختبر أبحاث الذكاء الاصطناعي التابع لفيسبوك. تم إنشاؤه لتنفيذ الشبكات العصبية المتقدمة والأفكار البحثية المتطورة في الصناعة والأوساط الأكاديمية.
مثل scikit-Learn، تركز PyTorch على نمذجة البيانات. ومع ذلك، فهو مخصص للمستخدمين المتقدمين الذين يعملون بشكل أساسي مع الشبكات العصبية العميقة. تعد PyTorch أداة رائعة يمكنك استخدامها عندما تحتاج إلى نموذج تعلم آلي جاهز للإنتاج وسريع وفعال وقابل للتطوير ويمكنه العمل مع بيئة موزعة.
TensorFlow
TensorFlow هي مكتبة أخرى مفتوحة المصدر لتطوير وتدريب نماذج التعلم الآلي. يُعد TensorFlow، الذي أنشأه فريق Google Brain، منافسًا رئيسيًا لـ PyTorch في تطوير تطبيقات التعلم العميق.
كان لدى TensorFlow وPyTorch بعض الاختلافات الرئيسية، لكنهما اعتمدا الآن العديد من الميزات الجيدة عن بعضهما البعض. كلاهما إطاران ممتازان لبناء نماذج التعلم العميق. عندما تسمع عن معماريات الشبكات العصبية المتطورة لاكتشاف الكائنات، أو التعرف على الوجه، أو توليد اللغة، أو روبوتات الدردشة، فمن المحتمل جدًا أنه تم برمجتها باستخدام مكتبات PyTorch أو Tensorflow.
مكتبات بايثون لتصور البيانات
بالإضافة إلى تحليل البيانات والنمذجة، تعد بايثون أيضًا أداة رائعة لتصور البيانات. فيما يلي بعض مكتبات بايثون الأكثر شيوعًا والتي يمكنها مساعدتك في إنشاء تصورات بيانات مفيدة وغنية بالمعلومات وتفاعلية وجذابة.
matplotlib
هذه مكتبة قياسية لإنشاء تصورات البيانات في بايثون. وهو يدعم إنشاء رسوم بيانية أساسية ثنائية الأبعاد مثل المخططات الخطية، والرسوم البيانية، والمخططات المبعثرة، والمخططات الشريطية، والمخططات الدائرية، بالإضافة إلى تصورات متحركة وتفاعلية أكثر تعقيدًا.
مكتبة matplotlib مرنة أيضًا فيما يتعلق بالتنسيق والتصميم؛ يمكنك اختيار كيفية عرض التسميات والشبكات وما إلى ذلك. ومع ذلك، أحد العيوب الرئيسية لـ matplotlib هو أنه يتطلب من علماء البيانات كتابة الكثير من التعليمات البرمجية لإنشاء مخططات معقدة وجذابة بصريًا.
seaborn
على الرغم من أنها مبنية على matplotlib، إلا أن مكتبة seaborn تتمتع بواجهة عالية المستوى تمكن المستخدمين من رسم رسوم بيانية إحصائية جذابة وغنية بالمعلومات في بضعة أسطر فقط من التعليمات البرمجية – تركيبه الموجز وميزاته المتقدمة تجعله أداة التصور المفضلة لدي.
بفضل المجموعة الموسعة من المرئيات ومجموعة السمات المضمنة، يمكنك إنشاء مخططات احترافية حتى لو كنت جديدًا جدًا في تشفير تصورات البيانات. استفد من ميزات Seaborn الشاملة لإنشاء خرائط حرارية ومؤامرات للكمان ومؤامرات مشتركة وشبكات متعددة المؤامرات والمزيد.
Bokeh
يعد Bokeh أداة رائعة لإنشاء تصورات تفاعلية داخل المتصفحات. مثل Seaborn، فهو يسمح لك ببناء قطع معقدة باستخدام أوامر بسيطة. ومع ذلك، فإن تركيزها الرئيسي هو على التفاعل.
باستخدام Bokeh، يمكنك ربط المخططات وعرض البيانات ذات الصلة أثناء المرور فوق نقاط بيانات محددة وتضمين عناصر واجهة مستخدم مختلفة وما إلى ذلك. إن قدراته التفاعلية الواسعة تجعل Bokeh أداة مثالية لإنشاء لوحات المعلومات والرسوم البيانية للشبكة والمرئيات المعقدة الأخرى.
Plotly
Plotly هي مكتبة تصورية أخرى تعتمد على المتصفح. يقدم العديد من الرسومات الجاهزة المفيدة، بما في ذلك:
- المخططات الأساسية (مثل المخططات المبعثرة، المخططات الخطية، المخططات الشريطية، المخططات الدائرية، المخططات الفقاعية)
- المخططات الإحصائية (على سبيل المثال، أشرطة الخطأ، المخططات المربعة، الرسوم البيانية).
- المخططات العلمية (مثل المخططات الكنتورية والخرائط الحرارية).
- الرسوم البيانية المالية (مثل السلاسل الزمنية ومخططات الشموع اليابانية).
- الخرائط (مثل إضافة الخطوط والمناطق المملوءة والفقاعات والخرائط الحرارية إلى الخرائط الجغرافية).
- مخططات ثلاثية الأبعاد (مثل مخططات التشتت، مخططات السطح).
فكر في استخدام Plotly إذا كنت تريد إنشاء رسوم بيانية تفاعلية وبجودة.
تعرف على المزيد حول مكتبات علوم البيانات في بايثون
الآن بعد أن تعرفت على مكتبات بايثون المتاحة لعلم البيانات، لا تكن غريبًا عنها! لإتقان مهاراتك في علم البيانات، ستحتاج إلى الكثير من التدريب. أوصي بالبدء بدورات تفاعلية، حيث يتم الجمع بين شرح المفاهيم الأساسية وتحديات البرمجة.
اكتشاف المزيد من بايثون العربي
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.