python鸢尾花数据集knn_【python+机器学习1】python 实现 KNN

本文介绍了KNN算法的基本原理和在Python中使用scikit-learn库实现鸢尾花数据集分类的过程。通过加载鸢尾花数据,将其划分为训练集和测试集,并使用KNeighborsClassifier进行训练和预测,最后展示了预测的准确率。
摘要由CSDN通过智能技术生成

欢迎关注哈希大数据微信公众号【哈希大数据】

1 KNN算法基本介绍

K-Nearest Neighbor(k最邻近分类算法),简称KNN,是最简单的一种有监督的机器学习算法。也是一种懒惰学习算法,即开始训练仅仅是保存所有样本集的信息,直到测试样本到达才开始进行分类决策。

KNN算法的核心思想:要想确定测试样本属于哪一类,就先寻找所有训练样本中与该测试样本“距离”最近的前K个样本,然后判断这K个样本中大部分所属的类型,就认为是该测试样本的类型。也就是所谓的“近朱者赤近墨者黑”,根据与其最近的k个样本的类型决定其自身的类型。因此K的确定和测算距离的方式是影响样本最终分类准确率的重要因素。

常用的测算距离的方法是多维空间的欧式距离法。

其优点为:易于理解,实现简单,无需估计参数,无需训练。

缺点为:需要保存所有的训练数据,内存开销大,而且训练数据较多时会导致很高的算法复杂度,训练数据类型不均匀可能会导致预测准确率下降。

2 标准数据集介绍

我们将采用scikit-learn库中自带的鸢尾花数据集进行测试。可以在D:\anaconda python\pkgs\scikit-learn-0.19.0-np113py36_0\Lib\site-packages\sklearn\datasets\data路径下查看元数据,部分数据实例如下图(共计150条数据)。

image

鸢尾花数据集包括鸢尾花的测量数据(特征属性)以及其所属的类别。

测量数据特征包括: 萼片长度、萼片宽度、花瓣长度、花瓣宽度

所属类别有三类: Iris Setosa,Iris

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值