0%
علم البيانات باستخدام Python

علم البيانات باستخدام Python

دليل شامل لاستخدام Python في مشاريع علم البيانات.

I

InSkillCoach

· دقيقة

علم البيانات باستخدام Python

أصبحت Python اللغة المرجعية في علم البيانات بفضل منظومتها الغنية من المكتبات المتخصصة. يقدّم لك هذا المقال الأدوات الأساسية للبدء في علم البيانات باستخدام Python.

منظومة علم البيانات في Python

توفّر Python مجموعة متكاملة من الأدوات لكل مرحلة من مراحل عملية علم البيانات:

  • معالجة البيانات: Pandas، NumPy
  • التصور البصري: Matplotlib، Seaborn، Plotly
  • تعلّم الآلة: Scikit-learn، TensorFlow، PyTorch
  • التحليل الإحصائي: SciPy، StatsModels
  • معالجة اللغات الطبيعية: NLTK، spaCy
  • بيئات التطوير: Jupyter Notebook، Google Colab

تثبيت المكتبات الأساسية

ابدأ بتثبيت المكتبات الأساسية:

pip install numpy pandas matplotlib seaborn scikit-learn jupyter

معالجة البيانات باستخدام Pandas

تُعدّ Pandas المكتبة التي لا غنى عنها لمعالجة البيانات في Python:

import pandas as pd
import numpy as np

# إنشاء DataFrame
data = {
    'Nom': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'Ville': ['Paris', 'Lyon', 'Marseille', 'Bordeaux'],
    'Salaire': [45000, 55000, 60000, 70000]
}

df = pd.DataFrame(data)
print(df.head())

# تصفية البيانات
jeunes = df[df['Age'] < 35]
print(jeunes)

# الإحصاءات الوصفية
print(df.describe())

# التجميع والتلخيص
par_ville = df.groupby('Ville').agg({
    'Salaire': ['mean', 'min', 'max'],
    'Age': 'mean'
})
print(par_ville)

التصور البصري للبيانات

التصور البصري ضروري لفهم بياناتك:

import matplotlib.pyplot as plt
import seaborn as sns

# نمط التصور البصري
sns.set(style="whitegrid")

# توزيع الأعمار
plt.figure(figsize=(10, 6))
sns.histplot(df['Age'], bins=10, kde=True)
plt.title('Distribution des âges')
plt.xlabel('Âge')
plt.ylabel('Fréquence')
plt.show()

# العلاقة بين العمر والراتب
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Age', y='Salaire', data=df)
plt.title('Relation entre âge et salaire')
plt.show()

# متوسط الراتب حسب المدينة
plt.figure(figsize=(10, 6))
sns.barplot(x='Ville', y='Salaire', data=df)
plt.title('Salaire moyen par ville')
plt.show()

تعلّم الآلة باستخدام Scikit-learn

تبسّط Scikit-learn تنفيذ خوارزميات تعلّم الآلة:

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# إعداد البيانات
X = df[['Age']]  # المتغير المستقل
y = df['Salaire']  # المتغير التابع

# التقسيم إلى مجموعتي التدريب والاختبار
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# إنشاء النموذج وتدريبه
model = LinearRegression()
model.fit(X_train, y_train)

# التنبؤات
y_pred = model.predict(X_test)

# تقييم النموذج
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"Coefficient: {model.coef_[0]:.2f}")
print(f"Intercept: {model.intercept_:.2f}")
print(f"Erreur quadratique moyenne: {mse:.2f}")
print(f"Coefficient de détermination (R²): {r2:.2f}")

# تصور التنبؤات
plt.figure(figsize=(10, 6))
plt.scatter(X_test, y_test, color='blue', label='Données réelles')
plt.plot(X_test, y_pred, color='red', linewidth=2, label='Prédictions')
plt.title('Régression linéaire: Âge vs Salaire')
plt.xlabel('Âge')
plt.ylabel('Salaire')
plt.legend()
plt.show()

التحليل الاستكشافي للبيانات (EDA)

يُعدّ التحليل الاستكشافي للبيانات مرحلة حاسمة لفهم بياناتك قبل بناء النماذج:

# مصفوفة الارتباط
plt.figure(figsize=(10, 8))
correlation = df.corr()
sns.heatmap(correlation, annot=True, cmap='coolwarm', linewidths=0.5)
plt.title('Matrice de corrélation')
plt.show()

# Pairplot لتصور العلاقات بين المتغيرات
sns.pairplot(df)
plt.suptitle('Relations entre les variables numériques', y=1.02)
plt.show()

# Boxplot لاكتشاف القيم الشاذة
plt.figure(figsize=(10, 6))
sns.boxplot(x='Ville', y='Salaire', data=df)
plt.title('Distribution des salaires par ville')
plt.show()

Jupyter Notebook: البيئة المثالية

يُعدّ Jupyter Notebook البيئة المفضلة لدى علماء البيانات:

# تشغيل Jupyter Notebook
jupyter notebook

مزايا Jupyter:

  • الجمع بين الشيفرة البرمجية والتصورات البصرية والنص التوضيحي
  • التنفيذ على مستوى الخلايا لتطوير تكراري
  • سهولة مشاركة التحليلات
  • دعم صيغ غنية (Markdown وLaTeX وHTML)

الخاتمة

توفّر Python منظومة متكاملة وناضجة لعلم البيانات. وبإتقان هذه الأدوات الأساسية ستتمكن من:

  • استيراد بياناتك وتنظيفها بكفاءة
  • إنشاء تصورات بصرية غنية بالمعلومات
  • بناء نماذج تعلّم الآلة وتقييمها
  • عرض نتائجك بطريقة واضحة ومقنعة

علم البيانات باستخدام Python مجال واسع ويتطور باستمرار. واصل الاستكشاف والتعلّم لتبقى على اطلاع بأحدث التطورات والتقنيات.

InSkillCoach

نبذة عن InSkillCoach

خبير في التدريب والتقنيات

مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.

الشهادات:

  • AWS Certified Solutions Architect – Professional
  • شهادات Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
1.7k
315

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!