K-Nearest Neighbours Algorithm in R [الدليل النهائي مع أمثلة]

نشرت: 2020-03-20

تحظى خوارزمية KNN في R بشعبية كبيرة نظرًا لتعدد استخداماتها ووظائفها. لذلك لا بد أنك سمعت باسمها بين الحين والآخر إذا كنت تدرس التعلم الآلي. ولا بد أنك تساءلت ، "ما هو KNN في R؟" أو كيف يعمل؟".

في هذه المقالة ، سنجد إجابات لهذه الأسئلة ونساعدك على فهم هذا الموضوع تمامًا. لذلك دون مزيد من اللغط ، دعنا نتعمق.

جدول المحتويات

ما هي خوارزمية KNN؟

KNN تعني K أقرب الجار. إنها خوارزمية تعلم آلي خاضعة للإشراف تصنف نقاط البيانات إلى فئات مستهدفة وفقًا لميزات نقاط البيانات المجاورة للنقاط.

لنفترض أنك تريد أن يتعرف جهازك على صور التفاح والبرتقال والتمييز بينهما. للقيام بذلك ، ستحتاج إلى إدخال مجموعة بيانات من صور التفاح والبرتقال. بعد ذلك ، سيتعين عليك تدريب نموذج البيانات الخاص بك عن طريق السماح له باكتشاف كل فاكهة من خلال ميزاتها الفريدة. مثل ، يمكنه التعرف على التفاح من خلال لونه الأحمر والبرتقال من خلال لونه.

بعد تدريب نموذج البيانات الخاص بك ، يمكنك اختباره من خلال إعطائه مجموعة بيانات جديدة مع صور أخرى من التفاح والبرتقال. الآن ، ستقوم خوارزمية KNN بفصل التفاح والبرتقال من خلال تصنيفهم وفقًا للسمات التي رصدتها في نموذج التدريب.

سيقارن ميزات نقطة البيانات مع الميزات المجاورة لها لمعرفة مدى تشابهها. وستصنفهم وفقًا لتلك النتائج.

في كثير من الحالات ، ستقوم بتخطيط النقاط على الرسم البياني. ولحساب المسافة بين نقطتين ، ستحتاج إلى استخدام صيغ مختلفة. الطريقة الأكثر شيوعًا لحساب المسافة بين نقطتي بيانات هي المسافة الإقليدية. تقوم بحساب المسافة بغض النظر عن الخصائص أو السمات الموجودة في النقاط.

ميزات خوارزمية KNN

فيما يلي ميزات خوارزمية KNN في R:

  • إنها خوارزمية تعلم خاضعة للإشراف. هذا يعني أنه يستخدم بيانات الإدخال المصنفة لعمل تنبؤات حول إخراج البيانات.
  • إنها خوارزمية تعلم الآلة مباشرة
  • يمكنك استخدام خوارزمية KNN لأنواع متعددة من المشاكل
  • إنه نموذج غير حدودي. هذا يعني أنها لا تضع أي افتراضات حول البيانات ، مما يجعلها مفيدة جدًا في حل المشكلات المتعلقة بالبيانات الحقيقية.
  • يصنف البيانات من خلال مقارنة نقاط البيانات مع النقاط المجاورة لها. بكلمات بسيطة ، يعتمد عمل خوارزمية KNN على تشابه السمات.
  • يقع في فئة الخوارزميات الكسولة. تقوم الخوارزمية الكسولة بحفظ بيانات التدريب بدلاً من تعلم الوظيفة التمييزية من نفس الشيء. تعرف على المزيد حول أنواع خوارزميات التعلم الآلي.
  • يمكنك استخدام KNN لحل مشاكل الانحدار وكذلك التصنيف.

خوارزمية KNN غير متحيزة ، وبسبب الميزات التي ناقشناها أعلاه ، فهي الخيار المفضل للعديد من المشكلات. ومع ذلك ، كل شيء له مشاكله ، و KNN ليست استثناء.

هذه الخوارزمية ليست مفيدة لحل المشاكل المعقدة للغاية. لا يحتوي نموذجها على عملية تجريد أيضًا. للحصول على نموذج مناسب ، ستحتاج إلى بيانات عالية الجودة لأنها قد تفقد رؤى قيمة في بعض الأحيان لأنها خوارزمية كسولة. إنه سريع ، لكنك ستحتاج إلى قضاء قدر كبير من الوقت في تنقية البيانات.

كيف يعمل؟

لفهم كيفية عمل KNN في R ، سنلقي نظرة على مثال آخر.

افترض أن مجموعة البيانات الخاصة بك تحتوي على فئتين. تحتوي الفئة 1 على مستطيلات ، بينما تحتوي الفئة 2 على دوائر. يجب عليك تعيين نقطة البيانات الجديدة التي تدخلها إلى إحدى هاتين الفئتين باستخدام هذه الخوارزمية. للقيام بذلك ، سيتعين عليك أولاً تحديد قيمة "K" للخوارزمية الخاصة بك. تشير K إلى عدد أقرب نقاط الجوار التي ستأخذها الخوارزمية في الاعتبار.

ضع في اعتبارك أنك أدخلت K كـ 4 في هذا المثال. وبالنسبة إلى K = 4 ، فإن الجيران عبارة عن ثلاث دوائر ومستطيل واحد. في هذه الحالة ، ستصنف نقطة البيانات في الفئة 2 لأن عدد الدوائر المحيطة بالنقطة أعلى من المستطيلات.

إذا كان الجيران عبارة عن ثلاثة مستطيلات ودائرة واحدة ، فستكون قد صنفتها في الفئة 1. لقد ناقشنا بالفعل كيف تحسب خوارزمية KNN المسافة بين نقطتين لتحديد أقرب الجيران. يستخدم معادلة المسافة الإقليدية لهذا الغرض.

معادلة المسافة الإقليدية هي كما يلي:

د (ف ، ف) = د (ف ، ف) = ( ف 1 - ف 1 ) 2 + ( ف 2 - ف 2 ) 2 ... ( ف ن - ع ن ) 2

هنا ، p = (p1، p2، ​​p3،…. pn) و q = (q1، q2، q3،… qn). في هذه المعادلة ، تشير 'd' إلى المسافة الإقليدية بين النقطتين p و q.

كما ترى ، الأمر بسيط للغاية. وبساطته تجعله متعدد الاستخدامات للغاية ، وهو ما يجعله أحد أكثر الخوارزميات شيوعًا. يمكنك استخدامه لمجموعة متنوعة من المشاكل.

مثال على KNN في R.

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

يعتمد نجاح أمازون الهائل على العديد من العوامل ، لكن من أبرزها استخدامهم للتقنيات المتقدمة. إحدى هذه التقنيات هي التعلم الآلي. ساعدهم نظام التوصيات الخاص بهم في تحقيق مئات الملايين من الإيرادات. ويستخدم نظام التوصية هذا خوارزمية KNN لهذا الغرض.

اقرأ أيضًا: أفكار مشروع التعلم الآلي

لنفترض أنك اشتريت جينز Wrangler's أسود مع سترة جلدية على أمازون. بعد بضعة أسابيع ، قام شخص آخر بشراء نفس الجينز من أمازون لكنه لم يشتري ذلك الجاكيت الجلدي. سيوصي أمازون هذا الشخص بشراء السترة لأنه أظهر نمط شراء مشابه لنمطك.

لذلك ، يعمل نظام توصيات أمازون بناءً على أنماط شراء الأشخاص. ولفهم هذا التشابه ، يمكنك استخدام خوارزمية KNN على أساس هذا المبدأ. أنت الآن تعرف أساسيات هذه الخوارزمية بالإضافة إلى تطبيقها الواقعي. هناك العديد من الأمثلة الأخرى على استخدامه ، ولكن في الوقت الحالي ، دعنا نلتزم بهذا المثال.

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

أفكار ختامية

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

ستتعلم الكثير عن التعلم الآلي والخوارزميات المختلفة المستخدمة فيه ، بصرف النظر عن جوانبه الأخرى.

ما هي لغة البرمجة R المستخدمة؟

تم إنشاء لغة البرمجة R للحسابات التي تتضمن الإحصائيات وتصور البيانات. اليوم ، يستخدم R على نطاق واسع من قبل الإحصائيين وعلماء البيانات ومحللي البيانات والأعمال. يأتي جوهر R مزودًا بالعديد من الوظائف الإحصائية المضمنة فيه ، لذا فإن مكتبات الطرف الثالث ليست مطلوبة لكثير من تحليل البيانات الأساسية الذي يمكن لـ R تحقيقه. على عكس العديد من لغات برمجة الكمبيوتر الأخرى ، فإن R ليست لغة عامة الغرض. لذلك ، يتم استخدامه بشكل أساسي لتحقيق وظائف محددة تؤديها بشكل جيد للغاية. ومع ذلك ، يتم استخدام R على نطاق واسع من قبل الشركات في جميع الصناعات لجلب رؤى مفيدة من كميات هائلة من البيانات اليومية التي تم إنشاؤها بواسطة المستخدمين.

ما هي مزايا البرمجة مع R؟

تقدم لغة البرمجة R مزايا متنوعة لكل من المبرمجين المبتدئين والخبراء. تشمل فوائده الرئيسية الميزات والسهولة التي يوفرها لبناء نماذج إحصائية وحسابية. بعد ذلك ، R هي لغة برمجة مفتوحة المصدر تدعم الحوسبة الموزعة المتوازية. يمكن لأي شخص استخدامه دون الحاجة إلى الحصول على تراخيص أو رسوم استخدام. إلى جانب ذلك ، تأتي مع مكتبة ضخمة لدعم الوظائف المختلفة ، كما يضيف إطارها المستقل عن النظام الأساسي إلى الراحة. يمكن أيضًا استخدام R في وظائف التطهير الفعال للبيانات ، وكشط الويب ، ومناقشة البيانات ، ويتم استخدامها بشكل شائع لتطوير نماذج التعلم الآلي.

لماذا تسمى KNN خوارزمية المتعلم الكسول؟

تعد خوارزمية K-Nearest Neighbours واحدة من أبسط الخوارزميات المستخدمة في التعلم الآلي. ومع ذلك ، غالبًا ما يطلق عليه اسم المتعلم الكسول. والسبب في ذلك هو أنه عندما تقدم جميع البيانات المتعلقة بالتدريب لهذه الخوارزمية ، فإنها لا تعمل على تدريب نفسها. بدلاً من تعلم الوظائف التمييزية ، فقد حفظت مجموعة بيانات التدريب بأكملها. مع كل إضافة لنقطة بيانات جديدة ، تبحث هذه الخوارزمية عن أقرب جيرانها في مجموعة التدريب بأكملها ، مما يزيد دائمًا من الوقت الذي يستغرقه إجراء التنبؤات. هذا غالبًا ما يجعله مكلفًا من الناحية الحسابية ويستغرق وقتًا طويلاً.