r语言学习-knn临近算法

绪哥哥 绪哥哥     2022-09-15     368

关键词:

概念

  1、监督学习:从给定标注的训练数据中学习出一个函数,根据这个函数为新数据进行标注。

  2、无监督学习:从给定无标注的训练数据中学习出一个函数,根据这个函数为所有数据标注。

 

KNN分类算法:通过对已知类别训练数据集的分析,从中发现分类规则,以此预测新数据的类别,分类算法属于监督学习的类型。

KNN概念:

  1、训练集:用来训练模型或确定模型参数的数据。

  2、测试集:用来验证模型准确性的数据。

  3、交叉验证:一般使用70%的数据作为训练集,剩下30%的数据作为测试集,测试集的测试结果使用交叉表形式进行验证。

 

抽样方法

  sample(x,size,replace=FALSE)

    x-待抽样的样本

    size-抽样的数量

    replace-是否可放回抽样,默认为false

 

KNN方法-需要安装包class

  安装方法:install.packages("class")

    knn(train,test,cl,k=1)

      train-训练数据

      test-测试数据

      cl-训练数据的正确结果

      k-KNN中的K值,默认为1,可以自行设定,直到交叉检验到最好的结果

 

举例:

#install.packages("class");
library(class)

#https://en.wikipedia.org/wiki/Iris_flower_data_set
#https://zh.wikipedia.org/wiki/%E5%AE%89%E5%BE%B7%E6%A3%AE%E9%B8%A2%E5%B0%BE%E8%8A%B1%E5%8D%89%E6%95%B0%E6%8D%AE%E9%9B%86

#计算iris的行数,isis是class包自带的例子
total <- nrow(iris);
#抽样获取70%的行数编号
index <-sample(1:total, total*0.7)

#根据抽样编号获取训练集
iris.train <- iris[index, ]
#根据抽样编号获取测试集,-index就相当于剩下30%
iris.test <- iris[-index, ]

#使用KNN方法根据训练集和测试集来配对函数
#subset()相当于删除训练集和测试集中的species列(结果列)的数据
result.KNN <-knn(
train=subset(iris.train, select=-Species), 
test=subset(iris.test,select=-Species), 
cl=iris.train$Species, k=2
)

#进行交叉检验
table(iris.test$Species, result.KNN)

  

 

k-临近算法学习

本章主要内容:k-临近算法是通过对象本身的特征将对象划分到某一类型中去,比如电影中的题材类型的分类是,可能就会考虑到电影中出现的镜头出现的次数的多少将电影划分为动作电影,爱情电影等等,本次的随笔参考了《... 查看详情

机器学习--diy笔记与感悟--①k-临近算法(代码片段)

...并将之后的所作所想记录在此。 今天我开始第一课--K临近算法。 一、k-临近的基础概念理解学习开始前,我将用最简单的话来解释k-临近算法的思想。K最近邻(k-NearestNeighbor,KNN)分类算法,是一个理论上比较成熟的方法,... 查看详情

r语言使用caret包的preprocess函数进行数据填充使用k近邻knn算法进行缺失值填充

R语言使用caret包的preProcess函数进行数据填充、使用K近邻KNN算法进行缺失值填充目录R语言使用caret包的prePro 查看详情

r语言使用caret包的preprocess函数进行数据填充使用k近邻knn算法进行缺失值填充

R语言使用caret包的preProcess函数进行数据填充、使用K近邻KNN算法进行缺失值填充目录R语言使用caret包的prePro 查看详情

常见机器学习算法原理+实践系列5(knn分类+keans聚类)

一,KNN分类K-NearestNeighborK临近算法是一种有监督的分类算法,工作原理很简单,存在一个样本集合,也成为训练样本,样本中包含标签,将新数据的每个特征与样本集合的数据对应特征进行比较,然后提取样本最相似的分类标签... 查看详情

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

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

r语言-knn算法

参考技术A1、K最近邻(k-NearestNeighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个... 查看详情

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

...就是通过你的“邻居”来推断你的类别。上述概念中讲最临近,那如何求最 查看详情

r语言应用实战系列-基于r的人工神经网络ann算法和knn算法(k-nearestneighbour)

一.神经网络人工神经网络算法(ANN),是一种模仿生物神经网络的结构和功能的数学模型和计算模型。神经网络由大量的人工神经元联结进行计算。大多数情况下,人工神经网络能在外在信息的基础上改变内部结构,是一种自... 查看详情

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

...较小,相当于用较小的邻域中的训练实例进行分类,如果临近的恰好是噪声,则容易 查看详情

r语言knn模型数据分类实战

R语言KNN模型数据分类实战目录R语言KNN模型数据分类实战#KNN基本原理#案例分析​#数据集说明 查看详情

tensorflow-实现knn算法-识别mnist数据集(代码片段)

...做的是对测试数据集的每一个数据从训练数据集中找出最临近的类别,进行预测。那么如何找最临近的(距离),我们通过计算L1距离或L2距离来计算最临近。实现步骤1.获取mnist数据2.计算距离(L1或L2)3.... 查看详情

tensorflow-实现knn算法-识别mnist数据集(代码片段)

...做的是对测试数据集的每一个数据从训练数据集中找出最临近的类别,进行预测。那么如何找最临近的(距离),我们通过计算L1距离或L2距离来计算最临近。实现步骤1.获取mnist数据2.计算距离(L1或L2)3.... 查看详情

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

从KNN算法步入机器学习殿堂本文中介绍的机器学习算法中的一种监督学习的算法:KNN算法,全称是K-NearestNeighbor,中文称之为K近邻算法。它是机器学习可以说是最简单的分类算法之一,同时也是最常用的分类算法... 查看详情

学习(14)-pandas高级处理机器学习算法(knn算法)

查看详情

knn(k-nearestneighbor)算法

...考虑几个关键要素(1)训练集;(2)用于计算对象之间临近的程度或者其他相似的指标;(3)最近邻的个数k;(4)基于k个最近邻及其类别对目标对象类别进行判定的方法。kNN方法很容易理解和实现,在一定条件下,其分类错... 查看详情

深入浅出knn算法介绍篇

一.KNN算法概述KNN可以说是最简单的分类算法之一,同时,它也是最常用的分类算法之一,注意KNN算法是有监督学习中的分类算法,它看起来和另一个机器学习算法Kmeans有点像(Kmeans是无监督学习算法),但却是有本质区别的。... 查看详情

机器学习k-临近算法

程序清单一:fromnumpyimport*importoperatordefcreatDataSet():group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])labels=["A","A","B","B"]returngroup,labelsdefclassify0(inX,dataSet,labels,k):dataSetSize=dataSet.s 查看详情