机器学习算法使用K近邻算法构建鸢尾属分
2024/1/22 来源:不详北京中科医院电话 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/etbdf/
鸢尾属是一种草本植物,约有多种分类。现在需要建立一个分类器,对鸢尾属进行自动分类。
有两种自动分类方式:一种方式是提供一些已经分类完成的样本,样本包括鸢尾属的一组特征和类别标识,将待分类的鸢尾属特征与所有样本的特征进行比较,与待分类鸢尾属特征最接近的样本所属的类别,就是待分类鸢尾属的类别;另外一种方式是没有分类完成的样本,程序需要自动对待分类的鸢尾属进行归类,即该分类方法没有正确的答案供分类算法参考,算法需要按照开发者设定的参数对鸢尾属进行分类。
第一种分类算法称为监督学习,有样本数据可供参考;第二种分类方法为无监督学习,没有样本数据参考,完全需要算法自己完成分类。在这个案例中,主要设计监督学习的分类算法。
监督学习算法需要有样本数据为算法提供参考,建立样本数据是鸢尾属分类器的第一步工作。建立样本数据前,需要找出鸢尾属的特征进行归类,鸢尾属不同种类的花瓣及花萼的宽度和长度是有一定区别的,并且这些特征通过测量就可以获取,可以考虑采用花萼长度、花萼宽度、花瓣长度、花瓣宽度作为样本的特征数据。
样本数据样例(单位为厘米):
表格列出了样本数据构成,表格的列是样本的特征数据,表格的行是1个样本。
鸢尾属数据集由埃德加·安德森建立,数据集包含了setosa、versicolor、virginica种类各50个样本。
鸢尾属分类器以鸢尾属数据集为样本数据,将数据集分为两部分:一部分用于归类训练,一部分用于归类测试。
训练数据集为:train_Iris.csv
测试数据集为:test_Iris.csv
如何设计一个自动分类算法呢?设想一下,若待分类的数据特征与样本数据之间的距离很小,说明两者的特征值相似,可以考虑将待分类的数据归类为样本数据所属类别。在后面的内容中,也将待分类数据称为目标数据。
例如:
在表格样例数据中,序号1、2、3为已分类样本数据,序号4为目标数据,分别计算待分类数据与样本1、样本2、样本3的距离,取距离样本数据最近的类别。
表格样例数据每行为一个向量,向量的分量分别为花萼长度、花萼宽度、花瓣长度、花瓣宽度,只要计算两个向量间的距离就可以了,计算两个向量间的距离可以采用欧几里得距离计算方法。
订阅解锁TA的全部专属内容