اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

ده البيانات المستخدما

وده الكود

from pandas import read_csv
from sklearn.cluster import KMeans

data = read_csv("Customer.csv")

kmeans_model = KMeans(n_clusters=5 , init='k-means++' , random_state=33 , algorithm='auto')

fit = kmeans_model.fit(data)

print(f"KMeans centers are: {fit.cluster_centers_}")
print(f"Kmeans labels are: {fit.labels_}")
print(f"Kmeans intertia is: {fit.inertia_}")

 

Customer.csv

Recommended Posts

  • 0
نشر

المشكلة هي أن قيمة المعلمة algorithm في دالة KMeans يجب أن تكون إما 'lloyd' أو 'elkan'. لكن في الكود الخاص بك تم تعيينها إلى 'auto'، ، لحل هذه المشكلة يجب تعديل الكود لتغيير قيمة المعلمة algorithm إلى 'lloyd' أو 'elkan'. 

بالنسبة للفرق بينهما خوارزمية ليويد (Lloyd's algorithm) تعتبر الطريقة الكلاسيكية والأساسية لتنفيذ خوارزمية K-Means، وتعرف أيضا بـ "Forgy's algorithm".

و تعتمد على تحديث المراكز  من خلال تعيين كل نقطة إلى أقرب مركز، ومن ثم تحديث مراكز الكتل بناء على متوسط النقاط المخصصة لكل مركز.

عادة ما تكون أسرع في الحالات التي تكون فيها الأبعاد قليلة.

بالنسبة لخوارزمية إلكان (Elkan's algorithm) تعتبر تحسينا لخوارزمية ليويد الكلاسيكية، وتستخدم حدودا ثلاثية لتقليل عدد الحسابات المطلوبة عند تعيين النقاط إلى المراكز، يمكن أن تكون أسرع في الحالات التي تحتوي على عدد كبير من الأبعاد أو عدد كبير من المجموعات.

استخدام أي من الخوارزميتين يعتمد على طبيعة البيانات والأداء المطلوب. في معظم الحالات، خوارزمية ليويد تكون كافية وتعمل بكفاءة. إذا كانت البيانات تحتوي على عدد كبير من الأبعاد أو كانت هناك حاجة لتحسين الأداء، يمكن تجربة خوارزمية إلكان.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...