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

السؤال

Recommended Posts

  • 1
نشر

هي طريقه تكافئ طريقة KMeans الفرق الوحيد هو أنه يتم تقسيم الداتا إلى أجزاء ومن ثم تطبيق KMeans لتسريع العملية.
يتم استخداه عبر الموديول  cluster.MiniBatchKMeans
#استدعاء المكتبات

from sklearn.cluster import MiniBatchKMeans

في البداية قمنا باستدعاء المكتبة التي يوجد فيها هذا الموديل
#الشكل العام للموديل

MiniBatchKMeansModel=MiniBatchKMeans(n_clusters=8,init='k-means++',batch_size=100,
                                     compute_labels=True,random_state=None,
                                     max_no_improvement=10)

البارمتر الأول n_clusters وهو عدد العناقيد المراد تكوينها 
البارمتر الثاني init مصفوفه ابعادها عدد الفيتشرز ضرب عدد العناقيد ولتهيئتها يوجد طريقتين الأولى random يتم اختيار مراكز العناقيد الأوليه بشكل عشوائي من الصفوف في الداتا 
و k-means++ يتم اختيار المراكز الأوليه بطريقه ذكيه لتسريع التقارب
البارمتر الثالثbatch_size وهو يمثل حجم كل جزء مقسم
البارمتر الرابع compute_labels عند إعطاءه القيمه True يقوم بحساب عدد العناقيد بمجرد أن يصل أحد الأجزاء إلى التقارب 
البارمتر الخامس  random_state للتحكم بآلية التقسيم
البارمتر السادس max_no_improvement تحديد العدد الأعظمى لعدد الأجزاء المتتاليه التي لا تحسن في التقارب عن طريق التوقف المبكر عند وضعها None تتعطل هذه المهمه
طبعا قمت بشرح الشكل العام للموديل ولكن عن طريقة استخدامه سهل جدا فقط بعد أن تقوم بتقسيم الداتا إلى X_train,X_test  تسطيع كتابة الأتي لعملية التدريب
#الشكل العام للموديل:

MiniBatchKMeansModel = MiniBatchKMeans(n_clusters=8, init='k-means++',
                                      batch_size=100,compute_labels=True,
                                       random_state=None,max_no_improvement=10)

MiniBatchKMeansModel.fit(X_train)

حيث الدالة fit يوجد ضمنها جميع العمليات الداخلية لعملية التدريب  
يوجد دالة أخرى تستخدم لغرض التنبؤ كالاتي
#حساب القيم المتوقعة:

y_pred = MiniBatchKMeansModel.predict(X_test)

حيث قمنا بحساب كل سطر من داتا الاختبار  لأي عنقود يتبع
نستطيع حساب دقة الموديل أو كفاءته  على التدريب والاختبار عن طريق التابع score ويكون وفق الشكل
#طباعة الكفاءه على التدريب والاختبار ومراكز العناقيد

print('Train Score is : ' , MiniBatchKMeansModel.score(X_train))
print('Test Score is : ' , MiniBatchKMeansModel.score(X_test))
print('centers are : ' , MiniBatchKMeansModel.cluster_centers_)

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...