具体knn算法概念参考knn代码python实现
具体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实现的更多相关文章
- 《机器学习实战》kNN算法及约会网站代码详解
使用kNN算法进行分类的原理是:从训练集中选出离待分类点最近的kkk个点,在这kkk个点中所占比重最大的分类即为该点所在的分类.通常kkk不超过202020 kNN算法步骤: 计算数据集中的点与待分类 ...
- 3.朴素贝叶斯和KNN算法的推导和python实现
前面一个博客我们用Scikit-Learn实现了中文文本分类的全过程,这篇博客,着重分析项目最核心的部分分类算法:朴素贝叶斯算法以及KNN算法的基本原理和简单python实现. 3.1 贝叶斯公式的推 ...
- 利用Python实现kNN算法
邻近算法(k-NearestNeighbor) 是机器学习中的一种分类(classification)算法,也是机器学习中最简单的算法之一了.虽然很简单,但在解决特定问题时却能发挥很好的效果.因此,学 ...
- KNN算法python实现
1 KNN 算法 knn,k-NearestNeighbor,即寻找与点最近的k个点. 2 KNN numpy实现 效果: k=1 k=2 3 numpy 广播,聚合操作. 这里求距离函数,求某点和集 ...
- 机器学习之KNN算法
1 KNN算法 1.1 KNN算法简介 KNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属 ...
- 机器学习【三】k-近邻(kNN)算法
一.kNN算法概述 kNN算法是用来分类的,其依据测量不同特征值之间的距离,其核心思想在于用距离目标最近的k个样本数据的分类来代表目标的分类(这k个样本数据和目标数据最为相似).其精度高,对异常值不敏 ...
- 深入浅出KNN算法(二) sklearn KNN实践
姊妹篇: 深入浅出KNN算法(一) 原理介绍 上次介绍了KNN的基本原理,以及KNN的几个窍门,这次就来用sklearn实践一下KNN算法. 一.Skelarn KNN参数概述 要使用sklearnK ...
- KNN算法介绍及源码实现
一.KNN算法介绍 邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它 ...
- 【转载】K-NN算法 学习总结
声明:作者:会心一击 出处:http://www.cnblogs.com/lijingchn/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...
随机推荐
- UVALive 4794 Sharing Chocolate(状压,枚举子集)
n的规模可以状压,f[x][y][S]表示x行,y列,S集合的巧克力能否被切割. 预处理出每个状态S对应的面积和sum(S),对于一个合法的状态一定满足x*y=sum(S),实际上只有两个变量是独立的 ...
- Uva 10635 Prince and Princess (LCS变形LIS)
直接LCS是时间复杂度是O(p*q)的,但是序列元素各不相同,只要把其中一个序列映射成有序的, 另外一个序列再做相同的映射,没有的直接删掉,就变成了求另一个序列LIS. #include<bit ...
- thisnkphp添加二维码
Rcode二维码生成类QRcode.class.php实例演示 <?php //import('@.Org.QRcode');//thinkphp include_once('QRcode.cl ...
- JAVA - Annotation 注解 入门
Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...
- 阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
http://ninghao.net/course/514 http://www.sphinxsearch.org/archives/243 ctrl + l putty 清理屏幕 apache 自 ...
- linux文件属性软硬链接知识
链接的概念 在linux系统中,链接可分为两种:一种为硬链接,另一种为软链接或符号链接.在默认不带参数的情况下,执行ln命令创建的链接是硬链接. 如果使用ln -s创建链接则为软链接,前面文件类型为 ...
- [译]The Python Tutorial#8. Errors and Exceptions
[译]The Python Tutorial#Errors and Exceptions 到现在为止都没有过多介绍错误信息,但是已经在一些示例中使用过错误信息.Python至少有两种类型的错误:语法错 ...
- Applied Nonparametric Statistics-lec9
Ref:https://onlinecourses.science.psu.edu/stat464/print/book/export/html/12 前面我们考虑的情况是:response是连续的, ...
- XML映射文件中关系映射
映射(多)对一.(一)对一的关联关系 1).使用列的别名 ①.若不关联数据表,则可以得到关联对象的id属性 ②.若还希望得到关联对象的其它属性.则必须关联其它的数据表 1.创建表: 员工表: DROP ...
- LeetCode(122) Best Time to Buy and Sell Stock II
题目 Say you have an array for which the ith element is the price of a given stock on day i. Design an ...