使用K近邻(KNN)对鸢尾花分类

本文详细介绍了如何使用K近邻(KNN)算法进行鸢尾花分类。核心思想是通过计算测试样本与训练样本间的距离,选择最近的K个邻居,并依据这些邻居的主要类别决定测试样本的分类。算法包括计算距离、确定邻居和进行分类三个步骤。文章还涉及数据标准化和性能评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KNN算法的精髓在于近朱者赤近墨者黑,所以距离通过欧氏距离或者夹角余弦来计算。


他的主要计算步骤为:

1.算距离:给定测试对象,计算它与训练集中的每个对象的距离

2.寻找邻居:圈定距离最近的K个训练对象,作为测试对象的近邻。

3.做分类:根据这K个近邻归属的主要类别,来对测试对象分类。


对kNN算法的伪代码:

1.采用load_iris读取数据并查看 

2.分割数据,产生75%的训练样本,25%的测试样本

3.标准化数据

4.导入K近邻分类模块

5.测试与性能评估,生成评估报告


# 从sklearn.datasets 导入 iris数据加载器。
from sklearn.datasets import load_iris
# 使用加载器读取数据并且存入变量iris。
iris = load_iris()
# 查验数据规模。
iris.data.shape

# 查看数据说明。对于一名机器学习的实践者来讲,这是一个好习惯。
print iris.DESCR

# 从sklearn.cross_validation里选择导入train_test_split用于数据分割。
from sklearn.cross_validation import train_test_split
# 从使用train_test_split,利用随机种子random_state采样25%的数据作为测试集。
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值