机器学习中的k近邻算法学习鸢尾花分类

2022/5/30 来源:不详

鸢尾花(Iris)数据集是机器学习中最为经典的一个数据集,虽然已经集成在scikit-learn的dataset模块下,但是我还是使用Pandas建立数据库进行分析,毕竟是第一个最经典最简单的机器学习,从最基础的数据库开始。已知鸢尾花分为setosa/versicolor/virginica这三种,有一批已经鉴定好的鸢尾花数据(已知品种,共个),包含了花萼长度/花萼宽度/花瓣长度/花瓣宽度,这4个参数。现在我有一朵不知道是什么种类的鸢尾花,通过测量得出了以上的4个参数,那么能不能参照之前的鉴定数据来给这朵花进行分类呢?在这里我们使用Pandas建立基本数据库,其中我们测量的4个参数叫做特征(feature),鸢尾花的种类作为targetnames,对于每种鸢尾花,使用唯一的数字进行命名(setosa==0,versicolor==1,virginica==2),输出我们的数据库,如下图所示。

能不能成功建立我们的预测模型,最为重要的在于训练数据和测试数据,我们拥有个样本,我们把这些样本进行随机打乱,然后选择前75%(个)的样本进行学习,其他25%的样本我们用作测试机器学习的成果。

一般来说我们都会使用Pandas自带的scatter_matrix来查看数据特征,如下图所示,即为前75%的鸢尾花样本特征。

散点图矩阵只能反应每两个特征之间的关系,其中不同的颜色即为我们训练的三种花的特征分布情况。

使用k近邻算法来进行数据训练,该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。简单来说就是:少数服从多数原则。

在完成数据训练之后,我们还需要使用剩余的25%的数据集进行预测比对,模型的评估环节非常关键,直接反应了我们的训练成果,当然作为最经典的案例,我们的训练准确度为97.37%,使用k近邻算法是准确有效的。

下面是发送代码的环节,模型的预测还需要鸢尾花的数据样本,附录会给出!!!

print("EditedbyAshen")print("

转载请注明:
http://www.3g-city.net/gjycs/413.html
  • 上一篇文章:

  • 下一篇文章:
    • 没有热点文章
    • 没有推荐文章
    网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介

    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有2014-2024 冀ICP备19027023号-6
    今天是: