- 浏览: 496281 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
KNN 分类算法
KNN(K近邻),是以近邻样本的类别的概率大小分类的。默认以距离作为权重
https://www.cnblogs.com/xiaotan-code/p/6680438.html
算法的描述为:
1)计算测试数据与各个训练数据之间的距离;
2)按照距离的递增关系进行排序;
3)选取距离最小的K个点;
4)确定前K个点所在类别的出现频率;
5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。
更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成反比。
sklearn:
KNN回归树的类是KNeighborsRegressor。除此之外,还有KNN的扩展,即限定半径最近邻分类树的类RadiusNeighborsClassifier和限定半径最近邻回归树的类RadiusNeighborsRegressor, 以及最近质心分类算法NearestCentroid。
https://www.cnblogs.com/pinard/p/6065607.html(使用比较)
scikit-learn里只使用了蛮力实现(brute-force),KD树实现(KDTree)和球树(BallTree)实现,
KNN算法我们主要要考虑三个重要的要素,对于固定的训练集,只要这三点确定了,算法的预测方式也就决定了。这三个最终的要素是k值的选取,距离度量的方式和分类决策规则。
KNN算法蛮力实现
既然我们要找到k个最近的邻居来做预测,那么我们只需要计算预测样本和所有训练集中的样本的距离,然后计算出最小的k个距离即可,接着多数表决,很容易做出预测。
KD树实现原理
大大节省了计算时间。
如果是KNN分类,预测为K个最近邻里面有最多类别数的类别。如果是KNN回归,用K个最近邻样本输出的平均值作为回归预测值。
球树实现原理
KNN(K近邻),是以近邻样本的类别的概率大小分类的。默认以距离作为权重
https://www.cnblogs.com/xiaotan-code/p/6680438.html
算法的描述为:
1)计算测试数据与各个训练数据之间的距离;
2)按照距离的递增关系进行排序;
3)选取距离最小的K个点;
4)确定前K个点所在类别的出现频率;
5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。
更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成反比。
sklearn:
KNN回归树的类是KNeighborsRegressor。除此之外,还有KNN的扩展,即限定半径最近邻分类树的类RadiusNeighborsClassifier和限定半径最近邻回归树的类RadiusNeighborsRegressor, 以及最近质心分类算法NearestCentroid。
https://www.cnblogs.com/pinard/p/6065607.html(使用比较)
scikit-learn里只使用了蛮力实现(brute-force),KD树实现(KDTree)和球树(BallTree)实现,
KNN算法我们主要要考虑三个重要的要素,对于固定的训练集,只要这三点确定了,算法的预测方式也就决定了。这三个最终的要素是k值的选取,距离度量的方式和分类决策规则。
KNN算法蛮力实现
既然我们要找到k个最近的邻居来做预测,那么我们只需要计算预测样本和所有训练集中的样本的距离,然后计算出最小的k个距离即可,接着多数表决,很容易做出预测。
KD树实现原理
大大节省了计算时间。
如果是KNN分类,预测为K个最近邻里面有最多类别数的类别。如果是KNN回归,用K个最近邻样本输出的平均值作为回归预测值。
球树实现原理
# -*-coding:utf-8 -*- from sklearn import datasets # 导入内置数据集模块 from sklearn.neighbors import KNeighborsClassifier # 导入sklearn.neighbors模块中KNN类 import numpy as np np.random.seed(0) # 设置随机种子,不设置的话默认是按系统时间作为参数,因此每次调用随机模块时产生的随机数都不一样设置后每次产生的一样 iris = datasets.load_iris() # 导入鸢尾花的数据集,iris是一个类似于结构体的东西,内部有样本数据,如果是监督学习还有标签数据 iris_x = iris.data # 样本数据150*4二维数据,代表150个样本,每个样本4个属性分别为花瓣和花萼的长、宽 iris_y = iris.target # 长150的以为数组,样本数据的标签 indices = np.random.permutation(len(iris_x)) # permutation接收一个数作为参数(150),产生一个0-149一维数组,只不过是随机打乱的,当然她也可以接收一个一维数组作为参数,结果是直接对这个数组打乱 iris_x_train = iris_x[indices[:-10]] # 随机选取140个样本作为训练数据集 iris_y_train = iris_y[indices[:-10]] # 并且选取这140个样本的标签作为训练数据集的标签 iris_x_test = iris_x[indices[-10:]] # 剩下的10个样本作为测试数据集 iris_y_test = iris_y[indices[-10:]] # 并且把剩下10个样本对应标签作为测试数据及的标签 knn = KNeighborsClassifier() # 定义一个knn分类器对象 knn.fit(iris_x_train, iris_y_train) # 调用该对象的训练方法,主要接收两个参数:训练数据集及其样本标签 iris_y_predict = knn.predict(iris_x_test) print('iris_y_predict = ') print(iris_y_predict) # [1 2 1 0 0 0 2 1 2 0] # 调用该对象的测试方法,主要接收一个参数:测试数据集 print('iris_y_test = ') print(iris_y_test) # [1 1 1 0 0 0 2 1 2 0] probility = knn.predict_proba(iris_x_test) print('probility = ') print(probility) # [[0. 1. 0. ] # [0. 0.4 0.6] # [0. 1. 0. ] # [1. 0. 0. ] # [1. 0. 0. ] # [1. 0. 0. ] # [0. 0. 1. ] # [0. 1. 0. ] # [0. 0. 1. ] # [1. 0. 0. ]] # 计算各测试样本基于概率的预测 score = knn.score(iris_x_test, iris_y_test, sample_weight=None) # 调用该对象的打分方法,计算出准确率 print('score = ') print(score) # 0.9 print(iris_x_test[2]) # [6.3,2.3,4.4,1.3] testData = [[6.3,2.3,4.4,1.3]] # n_neighbors=None,表示需要寻找目标样本最近的几个最近邻样本,默认为None,需要调用时给出。return_distance=True:是否需要同时返回具体的距离值。 neighborpoint = knn.kneighbors(testData,5,True) print('neighborpoint = ') print(neighborpoint) # (array([[0.26457513, 0.57445626, 0.59160798, 0.60827625, 0.6164414 ]]), array([[ 79, 132, 1, 13, 27]], dtype=int64)) # neighborpoint = knn.kneighbors(iris_x_test,5,False) # 计算与最后一个测试样本距离在最近的5个点,返回的是这些样本的序号组成的数组 # 输出准确率计算结果
发表评论
-
SVM 支持向量机
2018-11-02 17:28 355SVM 支持向量机(support vector machin ... -
Pandas 基础
2018-10-21 15:34 528Pandas 基础 Pandas处理 ... -
霍夫变换
2018-10-20 11:08 758霍夫变换 霍夫变换是一种特征检测(feature extra ... -
图像对比的方法和原理分析
2018-10-19 16:35 8657图像对比的方法和原理分析 https://blog.csdn ... -
识别手写数字 原理分析
2018-10-18 15:38 3452识别手写数字 原理分析 要识别0-9这10个数字 首先 ... -
Viola-Jones 人脸检测算法解析
2018-10-15 16:12 3221Viola-Jones 人脸检测算法解析 在计算机视觉领域中 ... -
灰度图像--形态学处理(腐蚀,膨胀,开、闭运算)
2018-10-12 17:31 8899灰度图像--形态学处理(腐蚀,膨胀,开、闭运算) http ... -
tesseract应用
2018-10-12 14:05 527tesseract应用 from PIL impo ... -
卷积神经网络(CNN)
2018-10-11 17:33 777卷积神经网络(CNN) CNN基本模块 CNN由输入和输出 ... -
python3光学字符识别模块tesserocr与pytesseract
2018-10-11 11:02 1511python3光学字符识别模块tesserocr与pytess ... -
LBP原理介绍以及算法实现(局部二值模式)
2018-10-10 17:54 2489LBP原理介绍以及算法实 ... -
sklearn 神经网络
2018-10-10 10:49 955sklearn 神经网络 https://blog.csdn ... -
神经网络学习 之 M-P模型
2018-10-09 16:58 2444神经网络学习 之 M-P模型 这种“阈值加权和”的神经元模 ... -
图片滤波
2018-10-09 11:37 780图片滤波,就是过滤去一些图片中的小点,或增强一些点,取决于滤波 ... -
灰度直方图均衡化与直方图规定化
2018-10-09 11:30 1197灰度直方图 灰度直方 ... -
图像的灰度化
2018-10-09 11:14 884图像的灰度化 而灰度图像是R、G、B三个分量相同的一种特殊的 ... -
决策树
2018-10-08 22:04 327决策树 树形模型是一个一个特征进行处理,之前线性模型是所有 ... -
人脸识别原理
2018-10-08 17:03 2085人脸识别原理 在检测 ... -
LDA降维和分类
2018-10-07 21:59 4187LDA降维和分类 LDA可以降维和分类 LinearD ... -
机器学习相关的库
2018-09-30 15:03 344机器学习相关的库 PIL:Python Imaging L ...
相关推荐
《KNN分类算法的MapReduce并行化实现》 KNN(K-Nearest Neighbor)算法是一种基于实例的学习方法,广泛应用于数据挖掘和机器学习领域,尤其在分类问题上表现出色。然而,随着大数据时代的到来,传统的单机版KNN算法...
**Python实现KNN分类算法** KNN,全称为k-最近邻(k-Nearest Neighbors),是一种基于实例的学习,也是非参数监督学习方法。它假设数据集中存在一个最佳的分类边界,但并不预先定义这个边界,而是通过计算训练样本...
为了克服这些问题,高增亮等研究人员提出了一种改进的kNN算法,即分布式kNN分类算法(Distributed k-Nearest Neighbors, DkNN),目的是为了提高kNN算法在工业物联网环境中的适用性。分布式kNN算法的核心是设计了一...
本文通过调研企业在培养跨境电商人才过程中对素质特征的认可度,利用层次分析法(AHP算法)对特征的重要性进行定量分析,得到各特征的权重值,再通过KNN分类算法对跨境电商人才进行评估,以期构建出一个科学的人才...
KNN算法是数据挖掘技术中比较常用的分类算法,由于其实现的简单性,在很多领域得到了广泛的应用。 但是,当样本容量较大以及特征属性较多时,KNN算法分类的效率就将大大降低
基于mediapipe和KNN分类算法的健身计数器引体向上计数器深蹲计数器俯卧撑计数器python源码(毕设).zip 基于mediapipe和KNN分类算法的健身计数器引体向上计数器深蹲计数器俯卧撑计数器python源码(毕设).zip 基于...
基于ASO原子搜索优化的特征选择+KNN分类算法(matlab程序和数据) 1.基于ASO原子搜索优化的特征选择+KNN分类算法(matlab程序和数据) 2.数据输入以Excel格式保存,只需更换文件,即可运行以获得个人化的实验结果。 ...
基于分块后重叠K-means聚类的KNN分类算法 该论文提出了一种新的KNN分类算法,即基于分块后重叠K-means聚类的KNN分类算法。该算法主要解决了传统KNN算法在大数据环境下的计算量和内存存储问题。该算法首先将样本随机...
3. 实现kNN分类器:包含kNN的核心逻辑,包括找到k个最近邻、投票决策等。 4. 测试与评估:使用一部分数据作为测试集,运行kNN算法,比较预测结果与真实类别,计算准确率、召回率等评估指标。 四、kNN算法的特点与优...
【标题】"n02_KNN_IRIS_Ma_irisKNN_iris_KNN分类算法_knn分类_knniris_" 指的是一项利用KNN(K-最近邻)算法在鸢尾花数据集(Iris)上的分类实践。这个项目可能是通过MATLAB编程语言实现的,MATLAB是一种广泛用于...
基于云计算平台的分布式KNN分类算法的设计与实施 本文提出了一种基于云计算平台的分布式KNN分类算法,旨在解决传统KNN算法无法处理大规模数据的问题。该算法基于Hadoop分布式计算平台的MapReduce框架,能够高效地...
基于k-最近邻图的小样本KNN分类算法 KNN(K-Nearest Neighbors)分类算法是一种典型的非参数、有效、较流行的惰性学习方法,其思路简单且易于实现。该算法的核心思想是根据训练样本集中的模式来对未知样本进行分类...
毕业设计基于mediapipe和KNN分类算法的健身计数器_引体向上计数器_深蹲计数器_俯卧撑计数器Python源码+文档说明本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是...
综上所述,本文提出的基于Spark框架的分布式精确模糊KNN分类算法,为大数据环境下高效分类算法的研究与应用提供了一种新的技术路径。这不仅为大数据处理技术的研究人员和工程师提供了实践案例,也为相关领域的研究和...
【基于粒子群优化的快速KNN分类算法】 KNN(K-Nearest Neighbors)算法是一种经典的监督学习方法,常用于分类和回归问题。它的基本思想是:将未知类别的样本点分配到与其最近的K个已知类别样本点中的多数类别。然而...