威尼斯人app下载
个人资料
课工场北美大数据
课工场北美大数据
微博
  • 博客等级:
  • 博客积分:0
  • 博客访问:14,360
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
威尼斯人app下载
正文 字体大小:

武汉课工场JAVA培训:“近水楼台先得月”——理解KNN算法

(2020-07-02 14:48:28)
标签:

武汉课工场

it电脑培训

java培训

武汉java培训

武汉课工场JAVA培训:“近水楼台先得月”——理解KNN算法

 

古语云:近水楼台先得月”,意思是临近在水边的楼台就能优先得到月亮的光芒,也比喻由于接近某些人或事物而抢先得到某种利益或便利。还有一句类似的话:“远亲不如近邻”,说的是人在有需要时,邻居比远处的亲戚更加能获得支持和帮助。在人工智能领域,有一种算法,非常贴近上述的形象比喻,这就KNN算法,即K最近邻算法(K-NearestNeighbors,简称KNN),它是一个比较简单的机器学习算法,也是一个理论上比较成熟的、运用基于样本估计的最大后验概率规则的判别方法。本文对KNN算法做一个通俗易懂的介绍,并通过python进行编码示范,让读者朋友对该算法有较好的理解。

 

“牛”还是“羊”——理解KNN

K最近邻算法的比较贴近的一个比喻场景是:一个牧场里,放养着许多牛和羊,它们交叉聚集生活在一起,有时某只动物自己都可能分不清自己是牛还是羊。按照K最近邻算法,它判别自己是牛或者羊的依据是——“我”周边离“我”最近的类别(牛或者羊),且在一定范围内是数量最多的类别,那“我”就是这个类别。归结到K最近邻算法中,就是在一个数据集中,新的数据点离哪一类最近且一定范围内最多,就和这一类属于同一类。

 

其中,这个一定范围就是邻居们(Neighbors)的数量,也就是K最近邻算法的“K”这个字母代表的数量(最近邻的个数)。在人工智能领域,大家所熟知的scikit-learn库中,K最近邻算法的K值可以通过n_neighbors参数来调节的,默认值是5

 

“近水楼台”——KNN预测实战

“近水楼台先得月”可以很好地诠释KNN算法,下面我们进行一个KNN算法的实际应用,以方便读者更好地理解KNN算法。

当今每届大学生在毕业前一年都非常关注研究生考试,能进入硕士级别进一步深造,也是大多数学生所渴望的,本文将模拟某年部分硕士研究生的入学考试数据集,通过python编程演练一个KNN算法机器学习的建模、训练、预测过程,展示KNN算法的效果。

 

一、了解数据集

我们采用的数据集包含如下字段:

 

其中,2345,分别是研究生入学考试的基础课程、政治课程、外语课程、专业课程的分数。

6是考试学生的本科学校分类,分类粗略的分为三级:3-超一流(如清北)、2-双一流、1-普通高校。

7是考试学生的目标硕士高校学校的分类,分类粗略的分为四级:3-超一流(如清北)、2-双一流、1-普通高校、0-表示未被录取。

 

二、导入和查看、准备数据集

 

三、生成训练集和测试集、使用KNN算法建模并评估模型分数

 

四、预测新成绩的分类

我们可以利用上面步骤建立的KNN模型来预测一下,看看他们目前的考试成绩能够进入研究生高校的类别是哪些:是成功登上清华北大的超一流神圣殿堂或者普通高校,还是遗憾地铩羽而归。经过这样的预测后,相信他们也会有一定的信心或者更加强化自身的学习力度,力争能考入心仪的理想学校。

说明,如果按他们的模拟考试成绩,A同学分类预测结果为“1-普通高校”,即KNN模型预测他能够考入一般的普通高校的研究生;B同学分类预测结果为“3-超一流高校(如清北)”,即KNN模型预测他能进入清北超一流殿堂,值得庆祝;C同学分类预测结果为“0-未被录取”,很遗憾,KNN模型预测他成绩不理想,无法考上研究生。

通过这个数据集和例子可以得出一定的推论:考试成绩好且在超一流高校读本科的学生,更容易被超一流的高校(如清北)的硕士学位录取,超一流高校(如清北)的学生可以说是“近水楼台”,比其他学生更容易“先得月”,也比较好地诠释了KNN算法的工作原理。

 

添加VX13125006136进行云计算,JAVA,大数据学习在线咨询,获取更多免费学习资料

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    威尼斯人app下载 版权所有

    XML 地图 | Sitemap 地图