机器学习第2章 k-近邻算法_第1页
机器学习第2章 k-近邻算法_第2页
机器学习第2章 k-近邻算法_第3页
机器学习第2章 k-近邻算法_第4页
机器学习第2章 k-近邻算法_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第章K-近邻算法2电影题材:动作片、科幻片、喜剧片、爱情片等等。如何划分电影题材?动作片也有爱情,也有喜剧的成分。基于电影中出现特征的次数进行划分。打斗、亲吻、k-近邻算法的优缺点:优点:精度高、对异常值不敏感、无数据输入假定。缺点:计算复杂度高、空间复杂度高。适用数据范围:数值型和标称值KNN(K-NearestNeighbor)2.1K-近邻算法的介绍K-近邻算法采用测量不同特征值之间的距离方法进行分类。K-近邻算法的概念:电影名称打斗镜头接吻镜头电影类型泰坦尼克号3104爱情片那些年2100爱情片七月与安生181爱情片战狼10110动作片速度与激情995动作片碟中谍982动作片现在去见你1890?只要打斗镜头>接吻镜头就是动作片只要打斗镜头<接吻镜头就是爱情片??当特征数据数据非常多的时候,KNN算法步骤:1、计算已知类别数据集中的点与当前点之间的距离2、按距离从小到大排序3、选取与当前点距离最小的k个点4、确定前k个点所在类别的出现频率5、返回前k个点出现频率最高的类别作为当前点的预测分类

例如:点(0,0)与(1,2)之间的距离计算:

距离计算方法:欧式距离公式例如:点(1,2,3)与(7,6,8)之间的距离计算:

第1步:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。第2步:输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,第3步:然后算法提取样本集中特征最相似数据(最邻近)的分类标签。一般来说,我们只选择样本数据集中前k个最相似数据,这就是k-近邻算法中k的出处,通常k是不大于20的整数,最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。使用步骤KNN使用步骤2.2使用KNN算法寻找室友现在有很多大学里出现室友矛盾,假如室友可以选择,你会如何去选择?现在赵六要选择室友,现已存在一个数据文件datingTestSet2.txt,为赵六在大学中挑选室友的信息1、每年旅行的路程2、玩游戏所有时间百分比3、每个礼拜消耗零食的重量2.准备输入数据4、训练算法1、收集数据3、分析数据6、使用算法5、测试算法根据赵六提供的文件,制作一个软件,可以自动实现对应学生是否为赵六喜欢的室友。应用场景实现要求123不喜欢普通非常喜欢准备输入数据2.2.11、读取文件2、一行一行获取数据3、通过split将数据分隔开4、将前3个数据保存在returnMat数据对象中,最后一个数据保存在classLabelVector输入数据的函数名:file2matrixreturnMatclassLabelVector要求返回特征值和目标变量(标签值)2.2.2matplotlib介绍与使用2D图绘制3D图绘制Matplotlib是一个Python2D绘图库,可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。/专业的人工智能编程语言入门学习及技术文档查询网站由打印机输出至纸上称为硬拷贝Matplotlib试图让简单易事的事情成为可能。你只需几行代码即可生成绘图,直方图,功率谱,条形图,误差图,散点图等。Matplotlib附带了几个附加工具包,包括mplot3d三维绘图、AXIS_GID1中的轴帮助器和轴辅助器。当绘制3D图形不能旋转时怎么办?文件---settingsTools---Pythonscientificx轴数据,y轴数据,format_string控制曲线的格式字串format_string由颜色字符,风格字符,和标记字符三部分组成。颜色字符说明‘b’蓝色‘g’绿色‘r’红色‘c’青绿色‘m’洋红色‘y’黄色‘k’黑色‘w’白色‘#008000’RGB颜色‘0.8’灰度值字符串风格字符说明‘-’实线‘--’破折线‘-.’点划线‘:’虚线‘’无线条标记字符说明‘.’点标记‘s’实心方形标记‘,’像素标记(极小点)‘p’实心五角标记‘o’实心圆标记‘*’星行标记‘v’倒三角标记‘h’竖六边形标记‘^’上三角标记‘H’横六边形标记‘>’右三角标记‘+’十字标记‘<’坐三角标记‘x’x标记‘1’下花三角标记‘D’菱形标记‘2’上花三角标记‘d’瘦菱形标记‘3’左花三角标记‘|’垂直线标记‘4’右花三角标记plt.plot(x,y,format_string,**kwargs)scatter散点图plt.scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,vmax=None, alpha=None,linewidths=None,verts=None,edgecolors=None,*,data=None,**kwargs)x,y:表示为为数组,也就是我们即将绘制散点图的数据点S:尺寸大小,默认20c:色彩或颜色序列,与plot相同。marker:表示的是标记的样式,默认的是'o'。matplotlib不能直接显示中文字体。注测试算法:验证分类器效果2.2.3赵六寻找室友,网络上收集到赵六对1000个人进行了分类等级,现在通过收集到的1000个数据构建专属赵六的分类器,构建好的分类器可以用于将来自动帮助赵六判断将某个人划分为哪一类。……1000个已经收集的数据……新数据NNK算法构建模型分类分类结果需要验证分类器。(例如流水线生产的手机)如何判断构建的KNN算法模型是否可用?NNK算法构建模型测试验证分类结果机器学习算法中一个重要的工作就是评估算法的正确率,通常可以提供已有数据的90%作为训练样本来进行训练分类器,而使用其余的10%数据去测试分类器。1000个已经收集的数据40928.3269760.9539523144887.1534691.6739042260521.4418710.80512417513613.1473940.4289641383441.6697880.1342961………………7299310.1417401.0329551359486.8307921.21319234266613.2763690.5438803674978.6315770.7492781……3548312.2731691.508053502423.7234980.831917190%的数据10%的数据新数据分类验证结果注:10%的测试数据应该是随机选择的。

理想中的分类器错误率为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论