X
تبلیغات
رایتل

FER: Facial Expression Recognition

K نزدیک ترین همسایه (K-nearest neighbour)

الگوریتم نزدیکترین همسایگی برای طبقه بندی یا classification  رگرسیون regression  کاربرد دارد . این راهکار در فاز آموزش شامل تعداد نقاط آموزشی با کلاس یا برچسب مشخص می باشد و پس از آن برای نمونه های جدید در فاز تست ، کلاس خروجی بر اساس آرای k  تا از نزدیکترین همسایه هایش مشخص می شود که اگر k=1  باشد کلاس نمونه بر اساس کلاس نزدیکترین همسایه تعیین می شود.

در متلب برای ایجاد یک مدل طبقه بندی knn  تابع مناسب تعریف شده و می توان از آن استفاده نمود به طور مثال قطعه کد زیر :

  load fisheriris

X = meas;

Y = species;

Mdl = fitcknn(X,Y,'NumNeighbors',5)

در این مثال از دیتاست تعریف شده fisheriris استفاده شده است که شامل داده های گل ها در متغیر X,meas ورودی ها و Y,species  برچسب ها یا انواع گل ها می باشد برای ساخت مدل طبقه بندی از تابع fitcknn  استفاده شده است که تعداد همسایه ها نیز 5 در نظر گرفته شده است .

قطعه کد زیر نحوه استفاده و خروجی را برای مدل ساخته شده با استفاده از تابع predict  نشان می دهد.

predict(Mdl,X(2,:))

 

ans =

 

  cell

 

    'setosa'

چنانچه ملاحظه می شود مدل به درستی کلاس نمونه دوم را که ‘setosa’ می باشد را تشخیص داده است.