Meezo ML نشر 14 يونيو 2021 أرسل تقرير نشر 14 يونيو 2021 هل يمكن تطبيق خوارزمية Nearest Neighbors في التعليم بدون إشراف unsupervised learning ؟ وإذا كان بإمكاننا تطبيقها فكيف نقوم بذلك باستخدام مكتبة Sklearn؟ اقتباس
0 Ali Haidar Ahmad نشر 14 يونيو 2021 أرسل تقرير نشر 14 يونيو 2021 نعم يمكن ذلك. وفي Sklearn يتم استخدامها عبر الموديول: neighbors.NearestNeighbors وهي طريقة تستخدم في التعليم غير الخاضع للإشراف هو شبيه بالتصنيف ولكن نقطة الاختلاف أنه في التصنيف كان يدخل في عملية تحديد المثال لأي صنف ينتمني هي جيران هذا المثال عبر الاكثريه أما في التعليم غير الخاضع للإشراف فلا يوجد output كما نعلم لذلك هنا يتم اعطاء نصف قطر ويتم تحديد عدد جيران ويكون هذا المثال ينتمي إلى الجار الأقرب له. استدعاء المكتبات: rom sklearn.neighbors import NearestNeighbors في البداية قمنا باستدعاء المكتبة التي يوجد فيها هذا الموديل الشكل العام للموديل: NearestN=NearestNeighbors(n_neighbors=5, radius=1.0,algorithm='auto',p=2, n_jobs=None) NearestN.fit(X_train) الوسيط الأول n_neighbors عدد الجيران المستخدم في عملية التقسيم أي يتم اختيار أقرب خمس جيران مثلاً ثم يتم الحكم بينهم. الوسيط الثاني radius نصف القطر المستخدم في عملية التقسيم. الوسيط الثالث algorithm نوع الخوارزمية الذي يستخدمها NearestNeighbors لحساب أقرب جار وهي ‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’ ولكن ينصح باعتماد auto لكي يتم اختيار أفضل خوارزمية. الوسيط الرابع p الطاقة لمقياس مينكوفسكي حيث عندما تساوي 1 يكون حساب المسافة عن طريق قانون منهاتن للمسافات وعندما تساوي 2 يتم الحساب عن طريق المسافة الإقليدية وفي الحالة الافتراضية يتم استخدام مينكوفسكي. الوسيط الخامس n_jobs عدد المعالجات التي تعمل بالتوازي وبتالي كلما زاد العدد زاد التسريع ,يوضع -1 للدلاله على عمل كامل المعالجات طبعا قمت بشرح الشكل العام للموديل ولكن عن طريقة استخدامه سهل جدا فقط بعد أن تقوم بتقسيم الداتا إلى X_train, X_test, تسطيع كتابة الأتي لعملية التدريب. الشكل العام للموديل: NearestN=NearestNeighbors(n_neighbors=5, radius=1.0, algorithm='auto',p=2, n_jobs=None) NearestN.fit(X_train) حيث الدالة fit يوجد ضمنها جميع العمليات الداخلية لعملية التدريب. لنأخذ مثال يوضح الموديل أكثر . في هذا المثال قمنا بأخذ عينة مزيفm وبعد ذلك قمنا بتدريب NearestNeighborsl عليها وبعد ذلك قمنا باستخدام الدالة المعرفة في الموديل radius_neighbors التي تستخدم لحساب الجيران الأقرب لنقطة معينة أو لعينة معينة ومن ثم طباعة النتائج. استدعاء المكتبات: import numpy as np from sklearn.neighbors import NearestNeighbors عينة مزيفة: NearestN = NearestNeighbors(n_neighbors=2, radius=0.4) NearestN .fit(samples) إيجاد الجيران لنصف قطر 0.4 و العينة المدخلة: NearestNeighborsModel = NearestNeighborsModel .radius_neighbors( [[0, 0, 1.4]], 0.5, return_distance=False) طباعة الجيران: print(np.asarray(nbrs)) # 4 أي أن الجار القريب للعينة [[1.4, 0, 0]] وبنصف قطر 0.5 هي العينة الرابعة [1, 0, 0] على اعتبار أن اندكس المصفوفة يبدأ من الصفر 1 اقتباس
السؤال
Meezo ML
هل يمكن تطبيق خوارزمية Nearest Neighbors في التعليم بدون إشراف unsupervised learning ؟ وإذا كان بإمكاننا تطبيقها فكيف نقوم بذلك باستخدام مكتبة Sklearn؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.