نمايش پست تنها
قديمي ۰۴-۱۸-۱۳۹۳, ۰۲:۰۳ بعد از ظهر   #9 (لینک دائم)
mortezaaa Male
عضو فعال
 
آواتار mortezaaa
 
تاريخ عضويت: تير ۱۳۹۳
پست ها: 15
تشكرها: 0
5 تشكر در 5 پست
پيش فرض

تو خود matlab پیاده سازی شده.
این هم کد خودمه که برای سایزهای متوسط سریعتر کار میکنه
كد:
function pred = knnClassify (train_data, train_label, test_data, k)

n1 = size(train_data,1);
n2 = size(test_data,1);

XX = sum(test_data.^2,2);
YY = sum(train_data.^2,2);
XY = test_data*train_data';

distances = XX*ones(1,n1) + ones(n2,1)*YY' - 2*XY;

[~,idx] = sort(distances, 2);
idx = idx(:,1:k);

pred = mode(train_label(idx),2);
mortezaaa آفلاين است   پاسخ با نقل قول
از mortezaaa تشكر كرده است:
siahsefid (۱۱-۱۱-۱۳۹۳)