K近邻算法你掌握了吗?来测试一下就知道了
https://www.toutiao.com/a6703706053311201795/
2019-06-18 11:23:15
简介
如果你要问我两个机器学习中最直观明了且通俗易懂的算法——那必然就是K近邻算法和基于树的算法了。这两个算法都易于理解,也很容易解释,并且能够很好地去向人们展示。最近,我们就针对这两种算法,整理了一些测试题。
如果你是机器学习的新手,也要在理解这两种算法的基础上进行测试。它们虽然简单,但是却十分强大且被广泛运用在工业领域。这些技能测试能够帮助你测试你在K近邻算法方面的技术能力。因为它们是为测试你在K近邻算法上的基础知识与应用能力而量身定制的。
有超过650人注册参加考试。如果你错过了这个测试也没关系,下面就是测试的问题与答案。
技能测试试题与答案解析
1)【True or False】KNN算法在测试时花费更多计算,而不是训练时。
A) TRUE B)FALSE
答案:A
解析:算法的训练阶段仅包括存储训练样本的特征向量和类标签。 在测试阶段,通过在最接近该查询点的k个训练样本中分配最频繁的标签来对测试点进行分类——因此这方面计算更多。
2)下图中,若使用K近邻算法,最佳K值应在哪里取得?
A) 3 B)10 C) 20 D)50
答案:B
解析:当K为10时,验证的错误率最低,所以K值应取10.
3)下图哪种度量距离不能用于KNN算法?
A)Manhattan B)Minkowski C)Tanimoto D) Jaccard E)Mahalanobis F) 所有都可以
答案:F
解析:所有的度量距离都可以用于KNN。
4)关于KNN哪种观点是对的?
A)它可以用于分类
B)它可以用于回归
C)它可以用于分类和回归
答案:C
解析:我们也可以使用KNN来解决回归问题。在这种情况下,预测可以基于k个最相似实例的均值或中值。
5)下面关于KNN算法哪种说法是正确的?
1.如果所有的数据是同样的大小,KNN算法表现比较好
2.KNN算法适用于小数据输入,而大量数据输入时会遇到困难。
3.KNN算法并没有对正在处理的问题的功能形式进行假设。
A)1和2
B)1和3
C)只有1
D)以上所有
答案:D
解析:以上所有的说法都是正确的
6)以下哪种机器学习算法可用于输入分类和连续变量的缺失值?
A )KNN
B)线性回归
C)逻辑回归
答案:A
解析:k-NN算法可用于估算分类和连续变量的缺失值。
7)关于曼哈顿距离哪种观点是对的?
A)它可以用于连续变量
B)它可以用于分类变量
C)两者都可以
D)两者都不可以
答案:A
解析:曼哈顿距离用于计算实值特征之间的距离。
8)对于k-NN中的分类变量,我们使用以下哪种距离测量?
1.汉明距离
2.欧几里得距离
3.曼哈顿距离
A)1
B)2
C)3
D)1和2
E )2和3
F )1和2和3
答案:A
解析:在连续变量的情况下使用欧几里得距离和曼哈顿距离,而在分类变量的情况下使用汉明距离。
9)以下哪一项是欧几里德距离算法下,两个数据点A(1,3)和B(2,3)之间的距离?
A)1
B)2
C)4
D)8
答案:A
解析:sqrt( (1-2)^2 + (3-3)^2) = sqrt(1^2 + 0^2) = 1
10)以下哪一项将是曼哈顿距离算法下,两个数据点A(1,3)和B(2,3)之间的距离?
A)1
B)2
C)4
D)8
答案:A
解析:sqrt( mod((1-2)) + mod((3-3))) = sqrt(1 + 0) = 1
11题,12题内容
假设已经给出了以下数据,其中x和y是两个输入变量,分类结果是因变量。
下面是散点图,在二维空间里显示上面的数据:
11)假设您想要使用KNN(K值为3)中的欧式距离预测新数据点x = 1和y = 1的类。那么这个数据点属于哪个类?
A)+类
B)-类
C)不能确定
D)不是上面这些结果
答案:A
解析:所有三个最近点都是+类,所以这一点将被归类为+ 类。
12)在上一个问题中,您现在想要使用7-NN而不是3-KNN,以下x = 1和y = 1属于哪个类?
A)+类
B)-类
C)不能确定
答案:B
解析:现在这一点将被归类为 - 类,因为有4个-类点和3个+类点在圆圈中。
13题,14题的内容:
假设您已经给出了以下2类数据,其中“+”表示正类,“-”表示负类。
13)在KNN中,下面哪个K值,可以值得交叉验证的误差值最小?
A)3
B)5
C)上面都可以
D)上面都不可以
答案:B
解析:K为5时,交叉验证的误差值最小。
14)下面哪个是K为5时,交叉验证集的偏差?
A)2/14
B)4/14
C)6/14
D)8/14
E)以上都不是
答案:E
解析:K为5时,正确结果为10/14。
15)就偏差而言,关于K,下面哪个是正确的?
A)增加K时,偏差会增加
B)减小K时,偏差会增加
C)不能确定
D)以上都不对
答案:A
解析:大K意味着简单的模型,简单的模型总是有高偏差。
16)就方差而言,关于K,下面哪个是正确的?
A)增加K时,方差会增加
B)减小K时,方差会增加
C)不能确定
D)以上都不对
答案:B
解析:简单的模型一般会有较小的方差。
17)通常我们在K-NN算法中使用了以下两个距离(欧式距离和曼哈顿距离)。这些距离在两个点A(x1,y1)和B(x2,Y2)之间。你的任务是通过查看以下两个图来标记两个距离。关于下图,以下哪个选项是正确的?
A)左边是曼哈顿距离,右边是欧几里德距离 B)左边是欧几里德距离,右边是曼哈顿距离 C)左边或右边都不是曼哈顿距离 D)左或右都不是欧几里德距离
答案:B
解析:左边是欧几里德距离如何工作的图形描述,而右边是曼哈顿距离。
18)在KNN中发现有噪声,你会做下面哪种选择?
A)增加K的值 B)减小K的值 C)噪声与K值无关 D)以上都不对
答案:A
解析:增加K值能够让你更加相信分类结果。
19)在KNN中,由于维度等原因,很容易产生过拟合。那么你会采用下面哪种方法来解决这个问题呢?
1.维度降低
2.特征选择
A)1 B)2 C)1和2 D)以上都不对
答案:C
解析:两种方法都是可以的。
20)下面两个陈述哪个是对的?
1.KNN是一种基于记忆的方法,因为分类器在我们收集到新的数据时会立即适应。
2.在最坏的情况下,用于分类新样本的计算复杂度随着训练数据集中的样本数量线性增长。
A)1
B)2
C)1和2
D)以上都不对
答案:C
解析:两个都是对的,显而易见。
21)假设给出下面的图像(左边为1.中间为2,右边为3),现在你的任务是找出每幅图中的KNN中的K值,其中K1表示第一个K,K2表示第二个K,K3表示第三个K。
A) K1 > K2 > K3 B) K1 < K2 C) K1 = K2 = K3 D) None of these
答案:D
解析:K3是K值最高的,而最低的是K1。
22)下图中哪个k 最少可以给出一个交叉验证准确度?
A)1
B)2
C)3
D)5
答案:B
解析:如果k值为2,则它会提供最低的交叉验证精度。
23)现在有一家公司建立了一个KNN分类器,可以在训练数据时获得100%的准确性。当他们在客户端部署这个模型的时候发现这个模型一点都不准确,可能是下面哪一项出错了?
注:模型已经成果部署,除了模型性能外,客户端没有发现其他技术问题。
A)它可能是一个过拟合了的模型
B)这个模型不适用
C)无法解释
D)以上都不是
答案:A
解析:在一个过度拟合的模块中,它可以在训练数据上表现良好,但它并不足以推广给新数据而达到同样的结果。
24)下面两个关于KNN的陈述,哪个是对的?
1.在k值非常大的情况下,我们可以将来自其他类的点包括在邻域中。
2.在k值太小的情况下,算法对噪声非常敏感。
A)1
B)2
C)1和2
D)以上都不对
答案:C
解析:这两个都是显而易见的正确。
25)关于KNN分类器,下面哪个说法是正确的?
A)K值越大,分类的精度越高
B)使用较小的K值,决策边界教平滑
C)决策边界是线性的
D)KNN没有明确的训练步骤
答案:D
解析:选项A,并不总是这样,K值不能太小,也不能太大;
选项B,C,决策边界可能是有锯齿状的。
26)【True or False】能够使用一个1-NN分类器去构建一个2-NN分类器。
A) TRUE B)FALSE
答案:A
解析:可以通过集成1-NN分类器来实现2-NN分类器。
27)在k-NN中,当你增加/减少k的值时会发生什么?
A)随着K值增加,决策边界会更加平滑
B)随着K值减小,决策边界会更加平滑
C)决策边界是否平滑与K值无关
D)以上都不对
答案:A
解析:增加K值,决策边界会更加平滑
28)下面两个关于KNN的陈述,哪个是对的?
1.我们可以在交叉验证的帮助下选择k的最佳值。
2.欧几里德距离将每个特征视为同等重要。
A)1
B)2
C)1和2
D)以上都不对
答案:C
解析:两个说法都是正确的
29题,30题内容
假设你已经训练好了KNN模型,现在你想要在测试集上进行预测。在测试之前,你想要计算KNN模型用于预测测试集的时间。
注:计算两次观察之间的距离需要花费时间D。
29)如果测试数据中有N(非常大)个观测值,1-NN所需的时间是多少?
A ) NxD B ) NxDx2 C ) (NxD)/2 D ) 以上都不对
答案:A
解析:当N的值非常大时,计算每个观测值时间就是N*D。
30)1-NN,2-NN,3-NN 所用时间之间的关系是什么?
A) 1-NN >2-NN >3-NN B) 1-NN < 2-NN < 3-NN C) 1-NN = 2-NN = 3-NN D) 以上都不对
答案:C
解析:每个K的训练时间都是相同的。
总体分布
下面是参加测试者的得分分布图:
在分布图中可见,超过250人进行了测试,最高分为24分。
K近邻算法你掌握了吗?来测试一下就知道了相关推荐
- K近邻算法:以同类相吸解决分类问题!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:游璐颖,福州大学,Datawhale成员 前言 KNN(k-nea ...
- 【机器学习入门】(1) K近邻算法:原理、实例应用(红酒分类预测)附python完整代码及数据集
各位同学好,今天我向大家介绍一下python机器学习中的K近邻算法.内容有:K近邻算法的原理解析:实战案例--红酒分类预测.红酒数据集.完整代码在文章最下面. 案例简介:有178个红酒样本,每一款红酒 ...
- 一文搞懂K近邻算法(KNN),附带多个实现案例
简介:本文作者为 CSDN 博客作者董安勇,江苏泰州人,现就读于昆明理工大学电子与通信工程专业硕士,目前主要学习机器学习,深度学习以及大数据,主要使用python.Java编程语言.平时喜欢看书,打篮 ...
- k近邻算法之 k值的选择
k近邻算法之 k值的选择 举例说明: K值过小: [过拟合] 容易受到异常点的影响 [如:美人鱼本身就是喜剧片,假如统计的时候记为动作片,则对预测值的影响太大] k值过大: [欠拟合] ...
- k近邻算法api初步使用
k近邻算法api初步使用 机器学习流程复习: 1.获取数据集 2.数据基本处理 3.特征工程 4.机器学习 5.模型评估 1 Scikit-learn工具介绍 Python语言的机器学习工具 Scik ...
- K近邻算法(KNN)原理小结
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录 1. KNN算法原理 2. KNN算法三要素 3. KNN算 ...
- K近邻算法KNN的简述
什么是KNN K近邻算法又称KNN,全称是K-Nearest Neighbors算法,它是数据挖掘和机器学习中常用的学习算法,也是机器学习中最简单的分类算法之一.KNN的使用范围很广泛,在样本量足够大 ...
- 送你一份使用k近邻算法实现回归的实用指南(附代码、链接)
作者:AISHWARYA SINGH, AUGUST 22, 2018 翻译:赵雪尧 校对:张玲 本文约4200字,建议阅读10分钟. 本文解释了在k近邻算法工作原理的基础上,简单介绍三种计算点距离方 ...
- 距离产生美?k近邻算法python实现
https://blog.csdn.net/red_stone1/article/details/80607960 1. 什么是k近邻算法? k最近邻(k-Nearest Neighbor,kNN)分 ...
最新文章
- Properties持久的属性集
- ubuntu的学习教程(常用操作)
- 规模-复杂世界的简单法则---熵
- Android.mk文件编写
- 久违了我的博客园《人生的体会》
- 机器学习 异常值检测_异常值是否会破坏您的机器学习预测? 寻找最佳解决方案
- U(优)盘安装FreeBSD-9.0+GNOME_lite桌面
- python 某个数是不是在某个范围内_教写一个简单的python小程序(04)
- Python 教你自动发微博,每日一句英语
- Spark的RDD检查点实现分析
- python+appium 自动化2--元素定位uiautomatorviewer
- jQuery实现表头固定效果
- 从客户变成员工在租赁公司打工--我成为程序员所经历的(三)
- VB中连接access数据库的几种方法
- iOS App集成Apple Pay 编程指南
- 数据结构课程 -- 学期总结
- 计算机主机爆炸,意外:插入计算机后,主机的电源就会烧断。发生了什么?计算机电源爆炸了吗?...
- 华为nova5iotg功能使用_华为nova5有OTG功能吗?可以连接U盘和鼠标吗[多图]
- mac mini 蓝牙_Mac Mini
- cont在c语言用法,在S7-1500中指令TSEND_C and TRCV_C如何使用?
热门文章
- numpy随机生成数组
- 如何网络监测其他计算机关闭445端口,关闭445端口的方法,教您电脑如何关闭445端口...
- 周刊#003提要:吴恩达团队盘点2019 AI 大事件圣诞 AI 论战
- Bruce Eckel教你如何爬出 Gradle 的“坑”?
- 涨知识了!网络原来是这样连接的
- 世界级安全技术专家力作——《Linux防火墙》
- 《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记
- Hue、Hive、Sentry、Airflow、Oozie
- 6个趣味项目,带你看看普通开发者如何玩转AI
- 可下载:60分钟入门PyTorch(中文翻译全集)