最新K-近邻算法PPT课件.ppt

最新K-近邻算法PPT课件.ppt

ID:62070775

大小:3.94 MB

页数:70页

时间:2021-04-14

最新K-近邻算法PPT课件.ppt_第1页
最新K-近邻算法PPT课件.ppt_第2页
最新K-近邻算法PPT课件.ppt_第3页
最新K-近邻算法PPT课件.ppt_第4页
最新K-近邻算法PPT课件.ppt_第5页
资源描述:

《最新K-近邻算法PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、K-近邻算法目录一、K-近邻算法优缺点二、K-近邻算法工作原理及示例三、K-近邻算法的一般流程四、准备:使用Python导入数据五、实施kNN分类算法六、示例1:改进约会网站的配对结果七、示例2:手写识别系统八、小结K-近邻算法优缺点简单地说,K-近邻算法(又称KNN)采用测量不同特征值之间的距离方法进行分类。其优缺点及适用数据范围如下:优点:精度高、对异常值不敏感、无数据输入假定。缺点:计算复杂度高、空间复杂度高。适用数据范围:数值型和标称型。K-近邻算法示例(3)假如有一部未看过的电影,如何确定它是爱情片还是动作片

2、呢?接下来将展示如何使用KNN来解决这个问题。首先我们需要知道需分类电影的打斗镜头和接吻镜头数量,下图给出了一个详细示例:K-近邻算法示例即使不知道待分类电影属于哪种类型,我们也可以通过某种方法计算方法。下图展示的是待分类电影与样本集中其他电影的距离计算结果:(此处暂时不关心如何计算得到的这些距离值,稍后会具体讲解。)K-近邻算法示例现在我们得到了样本集中所有电影与未知电影的距离,按照距离递增排序,可以找到k个距离最近的电影。假定k=3,则三个最靠近的电影依次是He’sNotReallyintoDudes、Beauti

3、fulWoman和CaliforniaMan。结果:K-近邻算法按照距离最近的三部电影的类型,决定待分类电影的类型,而这三部电影均为爱情片,因此我们判定待分类电影为爱情片。K-近邻算法的一般流程接下来主要讲解如何在实际中应用K-近邻算法,同时涉及如何使用Python工具和相关的机器学习术语,以下为该算法的一般流程:(1)收集数据:可以使用任何方法。(2)准备数据:距离计算所需要的数值,最好是结构化的数据格式。(3)分析数据:可以使用任何方法。(4)测试算法:计算错误率。(5)使用算法:首先需要输入样本数据和结构化的输出

4、结果,然后运行k-近邻算法判定输入数据属于哪个分类,最后应用对计算出的分类执行后续的处理。准备:使用Python导入数据1.创建名为kNN.py的Python模块注:接下来所有的代码均保存于这个文件夹中,读者可以按照自己的习惯在自己创建的文件夹中编写代码,也可以去网上查找源代码,但笔者建议读者按照本PPT的顺序去创建模块并编写代码。(1)首先编写一些基本的通用函数,将下列代码保存在创建好的kNN.py文件中:fromnumpyimport*importoperatordefcreateDataSet():group=a

5、rray([1.0,1.1],[1.0,1.0],[0,0],[0,0.1])labels=['A','A','B','B']returngroup,labels准备:使用Python导入数据在上述代码中,我们导入了两个模块:科学计算包Numpy以及运算符模块,k-近邻算法执行排序操作时将使用这个模块提供的参数,后面我们将进一步介绍。为了方便使用createDataSet()函数,它创建数据集和标签,我们需进入Python开发环境并输入以下命令:(1)>>>importkNN上述命令导入kNN模块。准备:使用Pytho

6、n导入数据(2)为了确保输入相同的数据集,继续输入以下命令:>>>group,labels=kNN.createDataSet()该命令创建了变量group和labels。(3)输入变量的名字以检验是否正确的定义变量:>>>group准备:使用Python导入数据>>>labels结果显示,这里有四组数据,每组数据有两个我们已知的属性或特征值。上面的group矩阵每行包含一个不同的数据,我们可以将其想象成某个日志文件中不同的测量点或者入口。由于人类大脑的限制,我们通常只能可视化处理三维以下的实务。因此为了简单地实现数据

7、可视化,对于每个数据点我们通常只使用两个特征。向量labels包含了每个数据点的标签信息,labels包含的元素个数等于group矩阵行数。这里我们将数据点(1,1.1)定义为A类,数据点(0,0.1)定义为B类。为了方便说明,例子中的数值是任意选择的,并没有给出轴标签。实施kNN分类算法现在我们已经知道Python如何解析数据,如何加载数据,以及kNN算法的工作原理,接下来我们将使用这些方法完成分类任务。(1)以下为K-近邻算法的伪代码对未知类别属性的数据集中的每个点依次执行以下操作:计算已知类别数据集中点与当前点之

8、间的距离;按照距离递增次序排序;选取与当前点距离最小的k个点;确定前k个点所在类别出现的频率;返回前k个点出现频率最高的类别作为当前点的预测分类。实施kNN分类算法(2)以下为kNN近邻算法代码,将其保存于kNN.py中defclassify0(inX,dataSet,labels,k):dataSetSize=dataSet.s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。