هنگام تلاش برای حل مسائل جدید، افراد معمولا به راه حل های مسائل مشابه که قبلا حل شده اند مراجعه میکنند. (k-nearest neighbor k-NN) یک تکنیک دسته بندی است که از نسخه ای از این متد استفاده میکند. در این روش تصمیم گیری اینکه یک مورد جدید در کدام دسته قرار گیرد با بررسی تعدادی(k) از شبیه ترین موارد یا همسایه ها انجام میشود. تعداد موارد برای هر کلاس شمرده میشوند، و مورد جدید به دسته ای که تعداد بیشتری از همسایه ها به آن تعلق دارند نسبت داده میشود.
محدوده همسایگی (بیشتر همسایه ها در دسته X قرار گرفته اند.
اولین مورد برای بکاربردن k-NN یافتن معیاری برای فاصله بین صفات در داده ها و محاسبه آن است. در حالیکه این عمل برای داده های عددی آسان است، متغیرهای دستهای نیاز به برخورد خاصی دارند. هنگامیکه فاصله بین مواد مختلف را توانستیم اندازه گیریم، میتوانیم از مجموعه مواردی که قبلا دسته بندی شدهاند را بعنوان پایه دسته بندی موارد جدید استفاده کنیم، فاصله همسایگی را تعیین کنیم، و تعیین کنیم که خود همسایه ها را چگونه بشماریم.
K-NN بار محاسباتی زیادی را روی کامپیوتر قرار میدهد زیرا زمان محاسبه بصورت فاکتوریلی از تمام نقاط افزایش مییابد. درحالیکه بهکاربردن درخت تصمیم یا شبکه عصبی برای یک مورد جدید فرایند سریعی است، K-NN نیاز به محاسبه جدیدی برای هر مورد جدید دارد. برای افزایش سرعت K-NN معمولا تمام دادهها در حافظه نگهداری میشوند.
فهم مدلهای K-NN هنگامیکه تعداد متغیرهای پیشبینی کننده کم است بسیار ساده است. آنها همچنین برای ساخت مدلهای شامل انواع داده غیراستاندارد هستند، مانند متن بسیار مفیدند. تنها نیاز برای انواع داده جدید وجود معیار مناسب است.