علم البيانات باستخدام Python
دليل شامل لاستخدام Python في مشاريع علم البيانات.
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
خبير في التدريب والتقنيات
مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.
الشهادات:
- AWS Certified Solutions Architect – Professional
- شهادات Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش