Meezo ML نشر 12 يونيو 2021 أرسل تقرير نشر 12 يونيو 2021 كيف نقوم بتطبيق خوارزمية K-Means باستخدام مكتبة Sklearn؟ اقتباس
1 Ali Haidar Ahmad نشر 12 يونيو 2021 أرسل تقرير نشر 12 يونيو 2021 لزيادة الفائدة أود إلقاء مراجعة صغيرة على هذه الخوارزمية قبل أن أعرض لك كيفية تطبيقها: K-Means طريقة لعمل تقسيم للبيانات الغير معنونة أي unlabeled data يتم أولاً تحديد عدد المجموعات المطلوب Clusters تقوم الخوارزمية بتحديد عدد من النقاط العشوائية وسط النقاط تسمي cluster centroid ويكون عددها هو نفس عدد المجموعات المطلوب ثم يقوم بتقسيم نقاط العينة عبر المراكز يقوم بعمل تغيير في اماكن المراكز , و يعيد الخطوة , حتي يصل للشكل الأمثل وهو يستخدم في التعلم بلا إشراف. في Sklearn يتم استخدامها عبر الموديول cluster.KMeans. #استدعاء المكتبة from sklearn.cluster import KMeans في البداية قمنا باستدعاء المكتبة التي يوجد فيها هذا الموديل #الشكل العام للموديل sklearn.cluster.KMeans(n_clusters=8, init='k-means++', n_init=10, random_state=None, copy_x=True, n_jobs=None, algorithm='auto’) البارمتر الأول n_clusters وهو عدد العناقيد المراد تكوينها البارمتر الثاني init مصفوفه ابعادها عدد الفيتشرز ضرب عدد العناقيد ولتهيئتها يوجد طريقتين الأولى random يتم اختيار مراكز العناقيد الأوليه بشكل عشوائي من الصفوف في الداتا و k-means++ يتم اختيار المراكز الأوليه بطريقه ذكيه لتسريع التقارب البامتر الثالث n_init عدد المرات التي ستعمل فيها الخوارزميه مع مراكز عناقيد مختلفه البارمتر الرابع random_state للتحكم بآلية التقسيم البارمتر الخامس copy_x في حال ضبطه على True سوف يأخذ نسخة من البيانات ولن يتم التعديل عليها أي أن البيانات تعود كما أخذت أما في حال false سوف يتم التعديل على البيانات الاصليه البارمتر السادس n_jobs عدد المعالجات التي تعمل بالتوازي وبتالي كلما زاد العدد زاد التسريع ,يوضع -1 للدلاله على عمل كامل المعالجات البارمتر السابع algorithm الخوارزميه التي تستخدمها kmean ويفضل وضع auto لترك kmeans تقرر المناسب لها طبعا قمت بشرح الشكل العام للموديل ولكن عن طريقة استخدامه سهل جدا فقط بعد أن تقوم بتقسيم الداتا إلى X_train,X_test تسطيع كتابة الأتي لعملية التدريب #الشكل العام للموديل KMeansM=KMeans(n_clusters=8, init='k-means++', n_init=10, random_state=None, copy_x=True, n_jobs=None, algorithm='auto’) KMeansM.fit(X_train) حيث الدالة fit يوجد ضمنها جميع العمليات الداخلية لعملية التدريب يوجد دالة أخرى تستخدم لغرض التنبؤ كالاتي #حساب القيم المتوقعة y_pred = KMeansModel.predict(X_test) حيث قمنا بحساب كل سطر من داتا الاختبار لأي عنقود يتبع نستطيع حساب دقة الموديل أو كفاءته على التدريب والاختبار عن طريق التابع score ويكون وفق الشكل #طباعة الكفاءه على التدريب والاختبار ومراكز العناقيد print('Train Score is : ' , KMeansM.score(X_train)) print('Test Score is : ' , KMeansM.score(X_test)) print('centers are : ' , KMeansM.cluster_centers_) #استدعاء المكتبات from sklearn.cluster import KMeans #الشكل العام للموديل KMeansM=sklearn.cluster.KMeans(n_clusters=8, init='k-means++', n_init=10, random_state=None, copy_x=True, n_jobs=None, algorithm='auto’) KMeansM.fit(X_train) #طباعة الكفاءه على التدريب والاختبار ومراكز العناقيد print('Train Score is : ' , KMeansM.score(X_train)) print('Test Score is : ' , KMeansM.score(X_test)) print('centers are : ' , KMeansM.cluster_centers_) #حساب القيم المتوقعه y_pred = KMeansModel.predict(X_test) 1 اقتباس
السؤال
Meezo ML
كيف نقوم بتطبيق خوارزمية K-Means باستخدام مكتبة Sklearn؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.