bamboocqh 2018-07-21
kNN是最简单的分类算法之一,也是最常用的学习算法之一。kNN属于算法的监督学习。这意味着我们有一个标签数据集组成的训练观察(x,y),想捕捉x和y的关系,我们的目标是函数h:x意味着y,这给一个看不见的观察x,h(x)可以自信地预测相应的输出y。
kNN是存储所有可用案例的简单算法,并基于相似性度量(例如距离函数)对新案例进行分类。kNN已经在1970年初作为非参数技术用于统计估计和模式识别。
kNN也是基于实例的非解析学习算法,
kNN是一个惰性算法。
kNN算法基于特征相似度:样本特征与训练集的相似性决定了我们如何对给定的数据点进行分类。让我们以一个例子来更好地理解kNN。
让我在这个例子中简要解释一下,通过上图,我们有两个类。根据上图,A类属于黄色类,B类属于紫色类。然后在kNN模型中训练数据集,我们稍后讨论但仅关注于这里的例子k = 3是三个最近邻,k = 6六个最近邻。那么当我们取k = 3然后发生什么,当k = 6然后发生什么。当k = 3然后两个属于紫色类,一个属于黄色类多数紫色投票所以这里紫色类同样考虑当k = 6然后四个属于黄色类,两个属于紫色类,所以多数票是黄色所以考虑黄色类。所以这样kNN就可以了。
让我们简要解释一下如何工作。
在分类设置中,k-最近邻算法基本上归结为在k个最相似的实例中与给定的“看不见的”观察结果形成了多数票。相似性是根据两个数据点之间的距离度量来定义的。一个常见的选择是欧几里得距离,尤其是在测量平面上的距离时,我们使用欧几里得距离的公式。根据欧几里得距离公式,坐标(x, y)和(a, b)的平面两点间的距离:
dist((x, y), (a, b)) = √(x — a)² + (y — b)²
更正式地给出+ ve整数k看不见的观察x和a.Similarity度量d,knn分类器执行以下两个步骤。
kNN在记忆训练观察中搜索与新实例最相似的实例,并为其分配最常见的类
理解kNN的另一种方法是将其视为计算决策边界(即两个以上类别的边界),然后将其用于对新点进行分类。
让我们解决iris数据集
Dataset
它有两个自变量和萼片长度和萼片宽度,以及一个被称为物种的因变量。
解决方案:
新发现的花,需要分类“无标记”
新无标签花的特点:
第1步:使用欧几里德距离查找距离
距离(萼片长度,萼片宽度)= √(x - a)²+(y - b)²
这里
现在让我们找到数据集第一行的距离
现在是数据集中给出的实际值
通过使用距离公式
第1行= √(5.2-5.3)²+(3.1-3.7)²= 0.60828
现在找到所有行类似的方式
距离解决方案
现在我们的第一步已经完成,现在继续下一步
第二步:找出排名。
在这一步中,我将发现第一个要注意的秩是根据距离设置的,距离是最小的,rank为1,如下所示
Solution of rank
第3步:找到最近邻
根据rank找到k最近邻
对于k = 1
特征物种是Setosa所以K = 1是Setosa
对于k = 2
特征种类是Setosa因为没有找到其他物种因此K = 2是Setosa
k = 5
功能物种Setosa
特征物种是Setosa,因为多数投票给setosa = 3和virginica = 1和Verscicolor = 1,所以基于最高票数KNN,K = 5是Setosa。
同样,我们可以根据数据集找到所有最近邻居,直到15。
这样k近邻算法就可以工作了。
第1部分:数据预处理
第2部分:构建k-Nearest Neighbors模型
第3部分:进行预测和可视化结果
文本分类:
kNN用于文本挖掘或分类,这是从文本中驱动高质量信息的过程。
农业气候预测:
k-Nearest Neighbors用于文本挖掘或分类,它是从文本中驱动高质量信息的过程。
政治科学:
将潜在选民分类为对某候选人投票或不投票。
医学分析:
我们可以预测心脏病发作会有第二次心脏病发作。
优点:
缺点: