具体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. Java 集合框架_下

    Map接口 特点: [1]Map接口称为键值对集合或者映射集合,其中的元素(entry)是以键值对(key-value)的形式存在. [2]Map 容器接口中提供了增.删.改.查的方式对集合进行操作. ...

  2. 陆教授浅谈5G毫米波手机天线技术的发展现状和未来的应用场景

    近日,香港城大电子工程学系讲座教授陆贵文教授荣获英国皇家工程院院士荣衔,以表彰他在推动天线研究的卓越贡献.他研发的天线由L形探针馈电微带天线.磁电耦极天线,以至5G毫米波手机天线等技术,均在天线领域影 ...

  3. iOS 设置随意屏幕旋转

    方法一,通过控制器继承或分类实现: 在UITabBarController 的子类或分类中实现 - (BOOL)shouldAutorotate { return [self.selectedView ...

  4. mysql关联查询

    mysql数据库的统计------生成统计信息 1.distinct:在一组之中将各个唯一的值找出来,如找出所有的品牌种类 mysql>select distinct brand_kind fr ...

  5. Python分布式爬虫开发搜索引擎 Scrapy实战视频教程

    点击了解更多Python课程>>> Python分布式爬虫开发搜索引擎 Scrapy实战视频教程 课程目录 |--第01集 教程推介 98.23MB |--第02集 windows下 ...

  6. nginx url rewrite break和last的区别

    break 将重写的URI作为一个新的URI,在本块中继续处理,将重写后 的地址在当前location块中处理,不会将新的URI转向到其他location块中 last,终止继续在本location块 ...

  7. Thinkphp 5 调试执行的SQL语句

    在模型操作中 ,为了更好的查明错误,经常需要查看下最近使用的SQL语句,我们可以用getLastsql方法来输出上次执行的sql语句.例如: User::get(1); echo User::getL ...

  8. Python 变量作用域 LEGB (上)—— Local,Global,Builtin

    Python 变量作用域的规则是 LEGB LEGB含义解释:L —— Local(function):函数内的名字空间E —— Enclosing function locals:外部嵌套函数的名字 ...

  9. nordic芯片开发——烧写方法记录

    在开发nordic芯片的时候,分为存外设开发和结合softdevice开发,另外还有结合mbr的开发(这个暂时没有深究)在裸机开发的时候,sdk里面称为blank,把芯片的程序erase之后,直接下载 ...

  10. The 2018 ACM-ICPC China JiangSu Provincial Programming Contest J. Set

    Let's consider some math problems. JSZKC has a set A=A={1,2,...,N}. He defines a subset of A as 'Meo ...