我是靠谱客的博主 悲凉白羊,最近开发中收集的这篇文章主要介绍Tensorflow实现最近邻,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import tensorflow as tf
import numpy as np

#导入mnist数据
from tensorflow.examples.tutorials.mnist import input_data
mnist=input_data.read_data_sets("data/mnist",one_hot=True)

#选取训练集、测试集数目
X_train,Y_train=mnist.train.next_batch(50000)
X_test,Y_test=mnist.test.next_batch(500)

#定义变量大小()
xtr=tf.placeholder("float", [None,784])
xte=tf.placeholder("float", [784])


#计算测试数据与训练数据L1范数大小(1表示从横轴进行降维)

distance=tf.reduce_sum(tf.abs(tf.add(xtr, tf.negative(xte, ))), 1)

#求得distance最小的下标(0表示从竖轴计算)
predict=tf.arg_min(distance, 0)

#准确率初始0

Accuracy=0


#数据初始化
init=tf.global_variables_initializer()
sess=tf.Session()
sess.run(init)

#开始预测
for i in range(len(X_test)):
   
    #近邻算法:测试集与训练集对比,返回误差最小的下标
    nn_index=sess.run(predict,feed_dict={xtr:X_train,xte:X_test[i,:]})
    
    #np.argmax  返回标签Y中最大数下标(既数值为1的下标),也就是该标签所对应的数字
    print("Test :",i,"Prection :",np.argmax(Y_train[nn_index]),"True class :",np.argmax(Y_test[i]))
    
    #统计准确率
    if np.argmax(Y_train[nn_index])==np.argmax(Y_test[i]):
        
        Accuracy+=1/len(X_test)
        
print("Accuracy :",Accuracy)

最后

以上就是悲凉白羊为你收集整理的Tensorflow实现最近邻的全部内容,希望文章能够帮你解决Tensorflow实现最近邻所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部