具体knn算法概念参考knn代码python实现
上面是参考《机器学习实战》的代码,和knn的思想

# _*_ encoding=utf8 _*_

import numpy as np
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data

# 导入手写体识别的数据
mnist = input_data.read_data_sets("../data", one_hot=True)

# 训练集和测试集
X_train, Y_train = mnist.train.next_batch(5000) # 数据和labels
X_test, Y_test = mnist.test.next_batch(100)

# 定义输入
x_train = tf.placeholder(tf.float32, shape=(None,784))
x_test = tf.placeholder(tf.float32, shape=(784))

# L1距离也就是城市街区距离 |x1-x2|+|y1-y2|
distance = tf.reduce_sum(tf.abs(www.leyou1178.cn/   tf.add(x_train,tf.negative(x_test))),reduction_indices = 1)

# 返回最近的坐标,0纵轴 1横轴
pred = tf.arg_min(distance, 0)

accuracy = 0

# 初始化
init = tf.global_variables_initializer()

with tf.Session() as sess:

sess.run(init)

for i in range(len(X_test)):
# 获取当前样本的最近邻索引,当前样本和每一个训练的样本找一个最近的l1距离,得到这个最小距离的下标
nn_index = sess.run(pred, feed_dict={x_train:X_train, x_test: X_test[i, :]})

# 由最邻近索引找到label,然后最邻近的label与真实标签比较 np.argmax找最大的下标
# 由l1距离找到的最小值对应的坐标,通过该最坐标找到对应行label的最大值的下标,这个下标对应的就是数字的大小
print("预测次数", i, "预测标签:", np.argmax(Y_train[nn_index]),"真实标签:", np.argmax(Y_test[i]))
# 计算准确率
if np.argmax(Y_www.xinghenyule.com train[nn_index]) www.089188.cn/==www.tianzunyule178.com  np.argmax(Y_test[i]):
accuracy += 1

print("Accuracy:", float(accuracy)/len(X_test))

具体knn算法概念参考knn代码python实现的更多相关文章

  1. 《机器学习实战》kNN算法及约会网站代码详解

    使用kNN算法进行分类的原理是:从训练集中选出离待分类点最近的kkk个点,在这kkk个点中所占比重最大的分类即为该点所在的分类.通常kkk不超过202020 kNN算法步骤: 计算数据集中的点与待分类 ...

  2. 3.朴素贝叶斯和KNN算法的推导和python实现

    前面一个博客我们用Scikit-Learn实现了中文文本分类的全过程,这篇博客,着重分析项目最核心的部分分类算法:朴素贝叶斯算法以及KNN算法的基本原理和简单python实现. 3.1 贝叶斯公式的推 ...

  3. 利用Python实现kNN算法

    邻近算法(k-NearestNeighbor) 是机器学习中的一种分类(classification)算法,也是机器学习中最简单的算法之一了.虽然很简单,但在解决特定问题时却能发挥很好的效果.因此,学 ...

  4. KNN算法python实现

    1 KNN 算法 knn,k-NearestNeighbor,即寻找与点最近的k个点. 2 KNN numpy实现 效果: k=1 k=2 3 numpy 广播,聚合操作. 这里求距离函数,求某点和集 ...

  5. 机器学习之KNN算法

    1 KNN算法 1.1 KNN算法简介 KNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属 ...

  6. 机器学习【三】k-近邻(kNN)算法

    一.kNN算法概述 kNN算法是用来分类的,其依据测量不同特征值之间的距离,其核心思想在于用距离目标最近的k个样本数据的分类来代表目标的分类(这k个样本数据和目标数据最为相似).其精度高,对异常值不敏 ...

  7. 深入浅出KNN算法(二) sklearn KNN实践

    姊妹篇: 深入浅出KNN算法(一) 原理介绍 上次介绍了KNN的基本原理,以及KNN的几个窍门,这次就来用sklearn实践一下KNN算法. 一.Skelarn KNN参数概述 要使用sklearnK ...

  8. KNN算法介绍及源码实现

    一.KNN算法介绍 邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它 ...

  9. 【转载】K-NN算法 学习总结

    声明:作者:会心一击 出处:http://www.cnblogs.com/lijingchn/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...

随机推荐

  1. Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] A A Problem about Polyline(数学)

    题目中给出的函数具有周期性,总可以移动到第一个周期内,当然,a<b则无解. 假设移动后在上升的那段,则有a-2*x*n=b,注意限制条件x≥b,n是整数,则n≤(a-b)/(2*b).满足条件的 ...

  2. CF Gym 100187D Holidays (数学,递推)

    题意:给n个元素,从n中选两个非空集合A和B.问有多少中选法? 递推: dp[n]表示元素个数为n的方案数,对于新来的一个元素,要么加入集合,要么不加入集合自成一个集合.加入集合有三种选择,A,B,E ...

  3. opencv c++编译

    g++ image2png.cpp -o test `pkg-config --cflags --libs opencv`

  4. Ajax的原理及Django上传组件

    title: Ajax的原理及Django上传组件 tags: Django --- Ajax的原理及Django上传组件 Ajax的原理 ajax 是异步JavaScript和xml ajax就是向 ...

  5. 【转】实用API大全

    有道翻译APIhttp://fanyi.youdao.com/openapi有道翻译API支持中英互译,同时获得有道翻译结果和有道词典结果(可能没有),返回格式为XML或JSON. 百度翻译APIht ...

  6. Java写诗程序

    import java.util.Random; public class test_word { public static void main(String[] args) { System.ou ...

  7. 字符串 -----JavaScript

    本文摘要:http://www.liaoxuefeng.com/ JavaScript的字符串就是用''或""括起来的字符表示. 如果'本身也是一个字符,那就可以用"&q ...

  8. Js笔记 14

      <script> // <!-- 课 对象   // //对象的创建方法 // 1.var obj = {} plainobject 对象字面量 对象直接量 // 2.构造函数 ...

  9. MySQL对数据库数据进行复制的基本过程详解

    MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...

  10. 03_5_static关键字

    03_5_static关键字 1. static关键字 在类中,用static声明的成员变量为静态成员变量,它为该类的公用 变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只 ...