有备考软考的小伙伴,想积分落户,单位评职称?科目太多不知道怎么选?考试考点难点太多没有头绪?刚准备1个多月过了高级,关注我,我整理了软考各科目的报考条件、适合人群以及备考攻略,可以直接领取:
https://d.51cto.com/eDOcp1
1.数据在不同维度上分布的分类表现
以鸢尾花数集(Iris)为例。
Iris数据集如下(分别使用0、1、2表示山鸢尾、变色鸢尾和菖蒲锦葵):
(可以看到Iris数据集一共有4个维度特征)
Iris数据中不同种类鸢尾花的萼片长度和萼片宽度的样本分布:
从图中可以发现,在萼片长度和萼片宽度这两个特征维度上,种类0与种类1、2有一定的辨识度,可以进行一个初步的分类,但是种类1和种类2仍旧无法分类。
现在我们将Iris数据集放到3个数据维度中去看:
可以看到此时三个种类出现了分层,此时我们可以对三个种类都进行分类。
这就是数据在不同维度上分布的分类表现。
2.KNN算法原理
KNN是一种基于实例的学习,没有很复杂的数学推理,其分类过程是直接建立在对数据集进行分类的基础上,因此也称为将所有计算推迟到分类之后的惰性学习算法。
分类算法流程如下:
(1)计算测试数据与训练数据特征值之间的距离
(2)对距离按照规则进行排序(递增)
(3)选取最近邻的k个数据进行分类决策(投票法)
(4)预测测试数据的分类
3.几种常见的距离计算方法
(1)欧几里得距离(2)曼哈顿距离(计程车几何)(3)切比雪夫距离(4)闵可夫斯基距离4.kd树
kd树是对数据点所在的k维空间进行划分的一种数据结构,主要应用于多维空间的关键数据搜索,本质上是一种平衡二叉树。
在使用KNN算法对测试数据点进行分类时,需要计算测试数据点与训练样本集中每个数据点之间的距离,对距离进行排序,进而找出其中最近邻的k个样本数据。该方法的优势在于简单有效,但是当训练样本过大时,该方法的计算过程将比较耗时,为了提高KNN算法的搜索效率,减少距离计算的次数,通常采用k维(k-dimensional, kd)树方法。
5.KNN算法实战
运行结果:
有备考软考的小伙伴,想积分落户,单位评职称?科目太多不知道怎么选?考试考点难点太多没有头绪?刚准备1个多月过了高级,关注我,我整理了软考各科目的报考条件、适合人群以及备考攻略,可以直接领取:
https://d.51cto.com/eDOcp1
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
赞 收藏 评论 举报相关文章