要点:
- k-近邻分类算法
- 从文本文件中解析和导入数据
- 使用Matplotlib创建扩散图
- 归一化数值
K-近邻算法
优点:精度高、对异常值不敏感、无数据输入假定。
缺点:计算复杂度高、空间复杂度高。
适用数据范围:数值型、标称型。
伪代码描述:
对未知类别属性的数据集中的每一个点依次执行以下操作:
- 计算已知类别数据集中点到当前点的距离;
- 按照距离递增的顺序进行排序;
- 选取与当前点距离最小的k个点;
- 确定前K个点所在类别的出现频率;
- 返回前K个点出现频率最高的类别作为当前点的预测分类。
k-近邻算法是基于实例的学习,使用算法时我们必须有接近实际数据的训练样本数据。k-近邻必须保存全部数据集,如果训练集很大,所需要的空间就很大。此外,由于必须与训练集中的每个数据计算距离,实际使用时会非常的耗时。
k-近邻算法的另一个缺陷是它无法给出任何数据的基础信息,因此我们无法知晓平均实例样本和典型实例样本有什么特征。