Meezo ML نشر 18 يونيو 2021 أرسل تقرير نشر 18 يونيو 2021 ماهي ال AffinityPropagation و كيف يتم تطبيقها في Sklearn؟ اقتباس
1 Ali Haidar Ahmad نشر 18 يونيو 2021 أرسل تقرير نشر 18 يونيو 2021 هي طريقة لعمل تقسيم للبيانات الغير معنونة unlabeled data ويستخدم في التعلم بلا إشراف.. يقوم AffinityPropagation بإنشاء المجموعات عن طريق إرسال الرسائل بين أزواج العينات حتى تصل إلى مرحلة التقارب يتم بعد ذلك وصف الداتا بعدد صغير من النماذج والتي تم اعتبارها الأكثر تمثيلاً للعينات الأخرى (مثلا لدينا 5 تفاحات حمراء نعتبر أن تفاحة حمراء واحدة ممثلة عن ال5 تفاحات ولكن يجب أن تكون في هذه التفاحة الصفات الأقرب للمثالية) تعتبر الرسائل المرسلة بين الأزواج مدى تماثل عينة واحدة لتكون ممثلاً للعينات الأخرى، يتم تحديث النتائج من الأزواج الأخرى بشكل متكرر حتى نصل إلى مرحلة التقارب واعتماد الأزواج النهائية. يتم استخدامها عبر الموديول sklearn.cluster. استدعاء المكتبات: from sklearn.cluster import AffinityPropagation في البداية قمنا باستدعاء المكتبة التي يوجد فيها هذا الموديل. #الشكل العام للموديل: AP = AffinityPropagation(damping=0.5, max_iter=200,copy=True,preference=None,affinity='euclidean',verbose=0) الوسيط الأول damping يأخذ قيمة بين 0.5 و 1 يمثل مدى الحفاظ على القيمة الحالية بالنسبة للقيم الواردة من الرسائل وذلك لتجنب التفاوت في القيم العددية عند تحديث هذه القيم. الوسيط الثاني max_iter أكبر عدد للتكرارات. الوسيط الثالث copy قيمة بوليانية إذا كان false فإنه سوف يتم العمل على نسخة من البيانات الأصلية أي تعديل على البيانات سوف يكون دائم أما إذا كان True تؤخذ نسخة من البيانات. الوسيط الرابع preference مصفوفة تمثل وزن العينة حيث يتم اختيار العينات ذات الوزن الأكبر كنماذج أو ممثل عن العينات المماثلة الأخرى وإذا لم يتم تمرير شيئ يتم اعتبار المتوسط هو الوزن لكل قيمة. الوسيط الخامس affinity قيمة التقارب يتم استخدام المسافة الأقليدية لحساب التقارب ’euclidean’ أو المسافة المحسوبة سابقا ‘precomputed’ الوسيط السادس verbose قيمة بوليانية إذا كان false وكان هناك خرج فلا يظهر أما True يظهر الخرج. طبعا قمت بشرح الشكل العام للموديل ولكن عن طريقة استخدامه سهل جدا فقط بعد أن تقوم بتقسيم الداتا إلى X_train, X_test تسطيع كتابة الأتي لعملية التدريب. الشكل العام للموديل: AP = AffinityPropagation(damping=0.5, max_iter=200,copy=True,preference=None,affinity='euclidean',verbose=0) AP.fit(X_train) حيث الدالة fit يوجد ضمنها جميع العمليات الداخلية لعملية التدريب. يوجد دالة أخرى تستخدم لغرض التنبؤ كالاتي: نستطيع فيها حساب قيم التقسيم على التدريب والاختبار عن طريق التابع predict ويكون وفق الشكل: طباعة الخرج على الاختبار والتدريب.. y_pred_train = AP.predict(X_train) y_pred_test = AP.predict(X_test) print('AP Train data are : ' ,y_pred_train) print('AP Test data are : ' ,y_pred_test) لنأخذ مثال يوضح الموديل استدعاء المكتبات: from sklearn.cluster import AffinityPropagation import numpy as np تعين داتا دخل مزيفة X = np.array([[0, 4], [3, 5], [1, 1],[2, 3], [5, 5], [4, 2]]) بناء الموديل: AP = AffinityPropagation(damping=0.5, max_iter=200) AP.fit(X) طباعة تصنيف العينة: AP.predict([[0, 0], [4, 4]]) النتيجة: array([1, 0], dtype=int64) اقتباس
السؤال
Meezo ML
ماهي ال AffinityPropagation و كيف يتم تطبيقها في Sklearn؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.