xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 2KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-15
  • 語言: Matlab
  • 標簽: KNN??matlab??

資源簡介

可以通過使用KNN分類器進行圖片分類,KNN分類器完整的matlab代碼。

資源截圖

代碼片段和文件信息

function?results?=?knn_classify(train_data?test_data?num_neighbors?train_labels)
%?classify?test_data?using?KNN?classifier?established?from?train_data
%?Input:
%???????train_data??????-???????training?data?TRAIN_NUM?x?D?matrix
%???????test_data???????-???????testing?data??TEST_NUM?x?D?matrix
%???????num_neighbors???-???????number?of?nearest?neighbors
%???????train_labels????-???????training?labels?TRAIN_NUM?x?1?matrix
%?Output:
%???????results?????????-???????labels?for?testing?data?TEST_NUM?x?1?array



[TRAIN_NUM?D]?=?size(train_data);
[TEST_NUM?D2]?=?size(test_data);


results?=?zeros(TEST_NUM?1);
for?i?=?1:TEST_NUM
????[dists?neighbors]?=?find_top_K_neighbors(train_data?test_data(i:)?num_neighbors);
????results(i)?=?recog(train_labels(neighbors)?max(train_labels));
end



%------------------------------subfunction--------------------------------%
function?[dists?neighbors]?=?find_top_K_neighbors(train_data?test_sample?K)
%?find?the?top?K?nearest?neighbors?in?the?train_data?for?test_sample
%?Input:
%???????train_data??????-???????training?data?N?x?D?matrix
%???????test_sample?????-???????test_sample?1?x?D?array
%???????K???????????????-???????number?of?neighbors
%?Output:
%???????dist????????????-???????least?K?distance
%???????neighbors???????-???????K?nearest?neighbors?1?x?K?array

[N?D]?=?size(train_data);
[dummy?D2]?=?size(test_sample);



test_matrix?=?repmat(test_sample?N?1);????????%?N?by?D
dist_mat?=?(train_data?-?test_matrix)?.^?2;?????%?N?by?D
dist_array?=?sum(dist_mat‘);????????????????????%?1?by?N
[dists?neighbors]?=?sort(dist_array);
dists?=?dists(1:K);
neighbors?=?neighbors(1:K);


%--------------------------------subfunction------------------------------%
function?label?=?recog(neighbor_labels?num_class)
%?find?the?label?for?the?current?test?sample?with?neighbor_labels
%?Input:
%???????neighbor_labels?????????-???????labels?for?K?neighors?of?the?current?
%???????????????????????????????????????test?sample
%???????num_class???????????????-???????number?of?class
%?Output:
%???????label???????????????????-???????label?for?the?current?test?sample

num_neighbors?=?length(neighbor_labels);
cnt_labels?=?zeros(num_class?1);

for?i?=?1:num_neighbors
????cnt_labels(neighbor_labels(i))?=?cnt_labels(neighbor_labels(i))?+?1;
end

[dummy?label]?=?max(cnt_labels);%Y是返回最大值的,I是返回最大值的位置的。



?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-07-18?16:01??knn\
?????文件????????2448??2013-06-28?09:26??knn\knn_classify.m
?????文件????????2253??2013-07-18?15:47??knn\main.m

評論

共有 條評論