K近邻算法和KNN决策树

K近邻算法:
· k近邻法(k-nearest neighbor, k-NN)是1967年由Cover T和Hart P提出的一种基本分类与回归方法。它的工作原理是:存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新的数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k是不大于20的整数。最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。
·K近邻算法的一般流程:
·收集数据:可以使用爬虫进行数据的收集,也可以使用第三方提供的免费或收费的数据。一般来讲,数据放在txt文本文件中,按照一定的格式进行存储,便于解析及处理。
·准备数据:使用Python解析、预处理数据。
·分析数据:可以使用很多方法对数据进行分析,例如使用Matplotlib将数据可视化。
·测试算法:计算错误率。
·使用算法:错误率在可接受范围内,就可以运行k-近邻算法进行分类。
·项目案例一:k-近邻算法实战之约会网站配对效果判定
·项目概述海伦使用约会网站寻找约会对象。
经过一段时间之后,她发现曾交往过三种类型的人:
·1:不喜欢的人2:魅力一般的人3:极具魅力的人她希望:
·不喜欢的人则直接排除掉
·工作日与魅力一般的人约会
·周末与极具魅力的人约会
开发流程:1.收集数据
海伦把这些约会对象的数据存放在文本文件 datingTestSet2.txt 中,总共有 1000 行。
海伦约会的对象主要包含以下 3 种特征:
·每年获得的飞行常客里程数
·玩视频游戏所耗时间百分比
·每周消费的冰淇淋公升数
2.准备数据
3.分析数据
使用 Matplotlib 画二维散点图。
4.训练算法
5.测试算法
6.使用算法
·KNN决策树
·决策树模型是一种描述对实例进行分类的树形结构。其由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性(features),叶结点表示一个类(labels)。
用决策树对需要测试的实例进行分类:从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值。如此递归地对实例进行测试并分配,直至达到叶结点。最后将实例分配到叶结点的类中。
决策树模型可以认为是 if-then 规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。
决策树学习通常包括 3 个步骤:特征选择、决策树的生成和决策树的修剪。构建决策树的流程:
·收集数据:可以使用任何方法。比如想构建一个相亲系统,我们可以从媒婆那里,或者通过参访相亲对象获取数据。根据他们考虑的因素和最终的选择结果,就可以得到一些供我们利用的数据了。
·准备数据:收集完的数据,我们要进行整理,将这些所有收集的信息按照一定规则整理出来,并排版,方便我们进行后续处理。
分析数据:可以使用任何方法,决策树构造完成之后,我们可以检查决策树图形是否符合预期。
·训练算法:这个过程也就是构造决策树,同样也可以说是决策树学习,就是构造一个决策树的数据结构。
·测试算法:使用经验树计算错误率。当错误率达到了可接收范围,这个决策树就可以投放使用了。
·使用算法:此步骤可以使用适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在含义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值