Tensorflow實現最近鄰

2021-07-31 08:15:07 字數 1209 閱讀 1352

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=)

#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經典案例2 實現最近鄰演算法

本次案例需要大家了解關於手寫數字識別 mnist 的資料集的特點和結構 tensorflow實現最近鄰演算法 次案例的前提是了解mnist資料集 手寫數字識別 import tensorflow as tf import numpy as np from tensorflow.examples.tu...

TensorFlow實現knn(k近鄰)演算法

首先先介紹一下knn的基本原理 knn是通過計算不同特徵值之間的距離進行分類。整體的思路是 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。k通常是不大於20的整數。knn演算法中,所選擇的鄰居都是已經正確分類的物件。該方法在定類決策...

K 最近鄰法 KNN C 實現

關於knn的介紹可以參考 這裡給出knn的c 實現,用於分類。訓練資料和測試資料均來自mnist,關於mnist的介紹可以參考 從mnist中提取的40幅影象,0,1,2,3四類各20張,每類的前10幅來自於訓練樣本,用於訓練,後10幅來自測試樣本,用於測試,如下圖 實現 如下 knn.hpp if...