0Pricing
Learn AI with Python · درس

مشروع التجميع باستخدام K-Means

تطبيقه على مجموعة بيانات واقعية

مشروع التجميع باستخدام K-Means درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 3 من أصل 5. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 5 دروس في المجموع.

مشروع تجميع K-Means

مشروع تجميع K-Means

في هذا المشروع، سنطبق تجميع K-Means على مجموعة بيانات من العالم الحقيقي: تجزئة العملاء. والهدف هو تجميع العملاء استنادًا إلى أنماط إنفاقهم.

مشروع التجميع باستخدام K-Means — رسم توضيحي 1

نظرة عامة على مجموعة البيانات

نظرة عامة على مجموعة البيانات

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

  • معرّف العميل: معرّف فريد لكل عميل.
  • العمر: عمر العميل.
  • الدخل السنوي: الدخل السنوي بآلاف الدولارات.
  • درجة الإنفاق: درجة تُحدَّد بناءً على سلوك العميل وأنماط إنفاقه (1–100).

الخطوة 1: استيراد مجموعة البيانات والمكتبات

الخطوة 1: استيراد مجموعة البيانات والمكتبات

سنبدأ باستيراد المكتبات اللازمة وتحميل مجموعة البيانات:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())

الخطوة 2: المعالجة المسبقة للبيانات

الخطوة 2: المعالجة المسبقة للبيانات

سنختار السمات ذات الصلة بالتجميع العنقودي، وسنطبّع البيانات إذا لزم الأمر. في هذا المشروع، سنستخدم الدخل السنوي ودرجة الإنفاق:

# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])

الخطوة 3: تحديد العدد الأمثل للعناقيد

الخطوة 3: تحديد العدد الأمثل للعناقيد

نستخدم طريقة الكوع للعثور على العدد الأمثل للعناقيد، وذلك برسم مجموع مربعات المسافات داخل العنقود (WCSS) لقيم مختلفة من K:

wcss = []
for i in range(1, 11):
    kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
    kmeans.fit(X)
    wcss.append(kmeans.inertia_)

plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()

الخطوة 4: تطبيق تجميع K-Means

الخطوة 4: تطبيق تجميع K-Means

استنادًا إلى طريقة الكوع، نختار العدد الأمثل للعناقيد (مثلًا K=5) ونلائم نموذج K-Means:

kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)

# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())

الخطوة 5: تصور العناقيد

الخطوة 5: تصور العناقيد

يمكننا رسم العناقيد في مساحة ثنائية الأبعاد لملاحظة مدى تباعدها:

plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()

الخطوة 6: تفسير العناقيد

الخطوة 6: تفسير العناقيد

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

  • العنقود 1: دخل مرتفع، وإنفاق مرتفع.
  • العنقود 2: دخل منخفض، وإنفاق منخفض.
  • العنقود 3: دخل متوسط، وإنفاق مرتفع.

تحديات التجميع العنقودي في العالم الحقيقي

تحديات التجميع العنقودي في العالم الحقيقي

على الرغم من قوة التجميع العنقودي، تواجه تطبيقاته في العالم الحقيقي تحديات مثل:

  • مجموعات البيانات عالية الأبعاد.
  • البيانات المشوشة أو غير المكتملة.
  • تفسير نتائج التجميع العنقودي بطريقة مفيدة.

الملخص والخطوات التالية

الملخص والخطوات التالية

في هذا المشروع، قمنا بما يلي:

  • استكشفنا مجموعة بيانات من العالم الحقيقي.
  • طبّقنا التجميع باستخدام K-Means وتصورنا النتائج.
  • فسّرنا العناقيد لفهم سلوك العملاء.

بعد ذلك، سنتعلم تقنيات تقليل الأبعاد مثل PCA وt-SNE.

مشروع التجميع باستخدام K-Means — رسم توضيحي 10

الأسئلة الشائعة

هل درس «مشروع التجميع باستخدام K-Means» مجاني؟

نعم — نص درس «مشروع التجميع باستخدام K-Means» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 5 دروس في المجموع.

ماذا ستتعلم في «مشروع التجميع باستخدام K-Means»؟

تطبيقه على مجموعة بيانات واقعية تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟

لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 5.

كم من الوقت يستغرق درس «مشروع التجميع باستخدام K-Means»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟

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

جميع الدروس في هذه الدورة

  1. مقدمة إلى خوارزميات التجميع
  2. التجميع باستخدام K-Means
  3. مشروع التجميع باستخدام K-Means
  4. أساسيات خفض الأبعاد
  5. تطبيق خفض الأبعاد
← العودة إلى Learn AI with Python