实现最临近算法的具体步骤如下:
1.为了判断未知实列的类别,选取已知类别的实例作为参考(如图所示:Xu点为未知类别的点);
2.选择参数K(在本实验中K=所有已知实列点的数目,即将所有已知种类的数据用作参考数据);
3.计算未知实例点与所有已知实例点的距离distance;
4.将到该未知点距离最近的点的类别作为该点的类别;
import tensorflow as tf
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('./mnist',one_hot=True) #导入mnist数据集
Xtr,Ytr = mnist.train.next_batch(5000) #5000个样本作为已知类别的样本
Xte,Yte = mnist.test.next_batch(200) #200个未知类别的样本
xtr = tf.placeholder(tf.float32,[None,784]) #设置占位符放置5000个样本[5000,784]
xte = tf.placeholder(tf.float32,[784])