knn最近邻分类算法(代码片段)

双龙路潇洒哥 双龙路潇洒哥     2022-12-21     209

关键词:

如题所示,该算法简称KNN,采用的方法是最近邻,目的是分类。

KNN算法概述

在已有数据集中已将数据分为n类,那么如果此时再进来一个新的数据如何给他分类呢?

应该选取距离他最近的k个邻居(k由你定),选择范围内样本数量最多的类别作为新数据的类别。

如果多个类别的样本数量同时最多时,根据距离权重来判断,离的近的决定其类别。

OpenCv中的KNN

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

# 包含(x,y)值的25个已知/训练数据的特征集
trainData = np.random.randint(0,100,(25,2)).astype(np.float32)
# 用数字0和1分别标记红色或蓝色
responses = np.random.randint(0,2,(25,1)).astype(np.float32)
# 新来物
newcomer = np.random.randint(0,100,(1,2)).astype(np.float32)

# KNN
knn = cv.ml.KNearest_create()
knn.train(trainData, cv.ml.ROW_SAMPLE, responses)
ret, results, neighbours ,dist = knn.findNearest(newcomer, 5)

print( "result:  \\n".format(results) )
print( "neighbours:  \\n".format(neighbours) )
print( "distance:  \\n".format(dist) )

# 绘图方面:
# 取红色族并绘图
red = trainData[responses.ravel()==0]
plt.scatter(red[:,0],red[:,1],80,'r','^')
# 取蓝色族并绘图
blue = trainData[responses.ravel()==1]
plt.scatter(blue[:,0],blue[:,1],80,'b','s')
# 新来物绘图
plt.scatter(newcomer[:,0],newcomer[:,1],80,'g','o')
plt.show()


其他参考:

python散点图绘制scatter

cv::ml::StatModel::train

分类算法之k-近邻算法(knn)(代码片段)

一、k-近邻算法概述 1、什么是k-近邻算法如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。2、欧式距离两个样本的距离可以通过如下公式计算,又叫... 查看详情

转:机器学习算法原理解析-分类(代码片段)

...swordfall/p/9517988.html常见分类模型与算法距离判别法,即最近邻算法KNN;贝叶斯分类器;线性判别法,即逻辑回归算法;决策树;支持向量机;神经网络;1. KNN分类算法原理及应用1.1 KNN概述K最近邻(k-NearestNeighbor,KNN)分... 查看详情

⭐(理论和代码相结合)knn(最近邻)算法——分类问题和回归问题都能做的算法(代码片段)

KNN:一种非参数、惰性学习方法,导致预测时速度慢当训练样本集较大时,会导致其计算开销高样本不平衡时,对稀有类别的预测准确率低KNN模型的可解释性不强文章目录KNN(思想:物以类聚)一、距... 查看详情

机器学习之k-近邻(knn)算法(代码片段)

 一.K-近邻算法(KNN)概述   最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到... 查看详情

机器学习分类算法--k近邻算法knn(代码片段)

一、K近邻算法基础KNN-------K近邻算法--------K-NearestNeighbors思想极度简单应用数学知识少(近乎为零)效果好(缺点?)可以解释机器学习算法使用过程中很多细节问题更完整的刻画机器学习应用的流程 importnumpyasnpimportmatplotlib... 查看详情

knn(代码片段)

一、KNN分类算法 K最近邻(K-NearestNeighbor,KNN)算法,是著名的模式识别统计学方法,在机器学习分类算法中占有相当大的地位。它是一个理论上比较成熟的方法。既是最简单的机器学习算法之一,也是基于实例的学习方法中最基... 查看详情

分类-knn算法(鸢尾花分类实战)(代码片段)

文章目录简介代码复现sklearn库调用简介K近邻(KNearestNeighbors,KNN)算法是最简单的分类算法之一,也就是根据现有训练数据判断输入样本是属于哪一个类别。“近朱者赤近墨者黑",所谓的K近邻,也就... 查看详情

机器学习-knn算法(代码片段)

1、前沿  K最近邻(k-NearestNeighbor,KNN)分类算法可以说是最简单的机器学习算法了。它采用测量不同特征值之间的距离方法进行分类。它的思想很简单:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的... 查看详情

k近邻算法——knn(代码片段)

KNN(K-NearestNeighbor)算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个... 查看详情

机器学习之knn鸢尾花分类(代码片段)

KNN简介邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核... 查看详情

r语言学习笔记—k近邻算法(代码片段)

K近邻算法(KNN)是指一个样本如果在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。即每个样本都可以用它最接近的k个邻居来代表。KNN算法适合分类,也适... 查看详情

机器学习之监督学习-分类模型k近邻(knn)算法实现(代码片段)

机器学习之监督学习-分类模型K近邻(KNN)算法实现监督学习中常用的分类分类模型有k近邻,逻辑斯谛回归,决策树。今天我们主要学习,K近邻模型。最简单,最初级的分类器就是将全部的训练数据所对应的类别都... 查看详情

分类-knn算法(代码复现和可视化)(代码片段)

文章目录简介代码复现sklearn库调用简介K近邻(KNearestNeighbors,KNN)算法是最简单的分类算法之一,也就是根据现有训练数据判断输入样本是属于哪一个类别。“近朱者赤近墨者黑",所谓的K近邻,也就... 查看详情

机器学习算法原理解析——分类(代码片段)

1. KNN分类算法原理及应用1.1 KNN概述K最近邻(k-NearestNeighbor,KNN)分类算法是最简单的机器学习算法。KNN算法的指导思想是“近朱者赤,近墨者黑”,由你的邻居来推断你的类型。本质上,KNN算法就是用距离来衡量... 查看详情

k-近邻算法(knn)(代码片段)

...算法,加之想学python,选择了这本书进行学习。 一.K-近邻算法(KNN)概述   最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其... 查看详情

k-近邻(knn)算法

  K-近邻算法(K-NN)  邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。  kNN... 查看详情

机器学习算法之knn最近邻详解和python实现(代码片段)

作者:RayChiu_Labloy版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处目录概念KNN相关的三个事情 1.K值的确定2.距离的度量计算距离注意一定要做数据缩放:归一化和标准化3.... 查看详情

机器学习之knn(k-近邻算法)(代码片段)

...ts  KNN算法简介算法实现总结 KNN算法简介 k近邻算法(k-nearestneighbor)是一种基本的分类、回归算法。算法的基本思想是“物以类聚”。也就是说,物体周边事物的类别可以在某种程度上反应该物体的类别。例如,... 查看详情