题目:
用原生python 代码实现KNN分类,采用鸢尾花数据集。
KNN算法
kNN算法的核心思想是如果一个样 本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别
思路:
- 处理数据:从CSV中读取数据,并把它们分割成训练数据集和测试数据集。(之前用的csv,后来直接导包使用了sklearn.datasets获取了鸢尾花数据集)
- 相似度:计算两个数据实例之间的距离。(我们可以直接使用欧式距离来测量。欧式距离就是两列数中对应数做差的平方和,之后再开方。)
- 临近:确定最相近的N个实例。
- 结果:从这些实力中生成预测结果。
- 准确度:总结预测的准确度。(一个简单的评估方法是,计算在测试数据集中算法正确预测的比例,这个比例叫分类准确度)
- 主程序:把这些串起来
流程图