k-NN регрессия с использованием Matlab?

У меня две таблицы а именно Training_table а также Testing table каждый содержит два параметра размером, скажем, 100. Я хочу использовать k-NN для обучения с использованием training_table и протестируйте алгоритм, используя значения 'Testing_table'.

давайте посмотрим, в Training table

x = [4 5.5 6.5 8 9 10] ; y = [100 200 400 600 900 10000]

В Testing_table,

x1 = [7 8 9 ];  y1 = ?

Так что для данного x1 оценить, что является оценочным значением для y1?

Я написал код до сих пор,

testing_data = size(test_data,1);
training_data = size(training_data,1);

% absolute distance between all test and training data

dist = abs(repmat(testing_data,1,training_data) - repmat(training_data(:,1)',testing_data,1));

% indicies of nearest neighbors
[~,nearest] = sort(dist,2);
% k nearest
nearest = nearest(:,1:k);

% mode of k nearest
val = reshape(training_data(nearest,2),[],k);
out_data = mode(val,2);
% if mode is 1, output nearest instead
output(output==1) = val(output==1,1);

Но, похоже, я ошибаюсь. Может кто-нибудь предложить или совет, где я делаю ошибку?

0 ответов

Другие вопросы по тегам