第二章 K-近邻算法(代码)
-
K-近邻算法优缺点
-. 优点:精度高,对异常值步敏感,无数据输入假定。
缺点:计算复杂度高,空间复杂度高。
范围:数值型和标称型。
-
测试分类器
错误率是常用的评估方法,完美评估器为0,最差的评估器为1.0 -
k-近邻算法的一般流程
收集数据:可以使用任何方法.
准备数据:距离计算所需要的数值,最好是结构化的数据格式.
分析数据:可以使用任何方法.
训练算法:此步骤不适用于 k-近邻算法.
测试算法:计算错误率.
使用算法:首先需要输入样本数据和结构化的输出结果,然后运行 k-近邻算法判定输入数据分别属于哪个分类,最后应用对计算出的分类执行后续的处理.
-
例子:使用k-近邻算法改进约会网站的配对效果
准备数据:从文本数据中解析出数据,用
numpy转化文本为矩阵,同时进行归一化数值操作(将对数据有影响的数值归纳为0~1之间)。分析数据:使用
matplotlib实现数据可视化。测试数据:错误评估
训练数据/测试数据 = 90%/10%。使用算法:基于用户的输入,自动匹配。
-
例子:手写识别系统
准备数据:将图像分为
32*32的二进制图像转化为1*1024的数组,每次读取32行,存入数组,并且返回数组。分析数据:确保数据准确无误。
测试数据:随机选取数据测试。
使用数据:将评估错误率,选择
最低评估错误率来作为首选算法。
-
小节
K-近邻算法是最简单的分类算法,如果数据量太大,会变得非常耗时。