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

آلية عمل K-Means
آلية عمل K-Means
تعمل K-Means وفق الخطوات التالية:
- تهيئة K من المراكز الهندسية العشوائية.
- تعيين كل نقطة بيانات إلى أقرب مركز هندسي.
- إعادة حساب المراكز الهندسية باعتبارها متوسط جميع النقاط في العنقود.
- تكرار الخطوتين 2 و3 حتى تستقر المراكز الهندسية أو يتم الوصول إلى الحد الأقصى لعدد التكرارات.
اختيار عدد العناقيد
اختيار عدد العناقيد
تُعد قيمة K معلمةً مهمة. تشمل الطرق الشائعة لاختيار K ما يلي:
- طريقة الكوع: ارسم مجموع مربعات المسافات داخل العناقيد (WCSS) لقيم مختلفة من K، وابحث عن «نقطة الكوع».
- درجة الصورة الظلية: تقيس مدى وضوح الفصل بين العناقيد.
مجموعة بيانات نموذجية لـ K-Means
مجموعة بيانات نموذجية لـ K-Means
لنفترض أن لدينا مجموعة بيانات تحتوي على نقاط موزعة في فضاء ثنائي الأبعاد. لكل نقطة:
- X: إحداثي على المحور الأفقي.
- Y: إحداثي على المحور الرأسي.
سيجمع K-Means هذه النقاط في عناقيد استنادًا إلى مدى قربها من بعضها.
تنفيذ K-Means في Python
تنفيذ K-Means في Python
سنستخدم الفئة KMeans من مكتبة scikit-learn لتنفيذ الخوارزمية:
from sklearn.cluster import KMeans
import numpy as np
# Example dataset
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# K-Means model
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)تصوير العناقيد
تصوير العناقيد
يمكننا تصوير العناقيد من خلال رسم نقاط البيانات والمراكز:
import matplotlib.pyplot as plt
# Scatter plot of data points
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
# Plot cluster centers
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('K-Means Clustering')
plt.show()مزايا K-Means
مزايا K-Means
يتمتع K-Means بالعديد من الفوائد:
- بسيط وسهل التنفيذ.
- فعّال مع مجموعات البيانات الكبيرة.
- يعمل جيدًا عندما تكون العناقيد محددة بوضوح.
محدوديات K-Means
محدوديات K-Means
تشمل بعض محدوديات K-Means ما يلي:
- حساسيته لمواضع المراكز الأولية.
- صعوبة التعامل مع العناقيد غير الكروية.
- حساسيته للقيم الشاذة والبيانات المشوشة.
ملخص والخطوات التالية
ملخص والخطوات التالية
تناولنا في هذا الدرس ما يلي:
- آلية عمل تجميع K-Means.
- اختيار عدد العناقيد باستخدام طرق مثل طريقة الكوع.
- تنفيذ K-Means وتصويره في Python.
سنطبّق بعد ذلك K-Means على مجموعة بيانات واقعية لاكتساب خبرة عملية.

الأسئلة الشائعة
هل درس «التجميع باستخدام K-Means» مجاني؟
نعم — نص درس «التجميع باستخدام K-Means» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 5 دروس في المجموع.
ماذا ستتعلم في «التجميع باستخدام K-Means»؟
فهم الخطوات بالتفصيل تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 5.
كم من الوقت يستغرق درس «التجميع باستخدام K-Means»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى خوارزميات التجميع
- التجميع باستخدام K-Means
- مشروع التجميع باستخدام K-Means
- أساسيات خفض الأبعاد
- تطبيق خفض الأبعاد