k近邻算法与朴素贝叶斯算法

本文介绍了k近邻算法和朴素贝叶斯算法。k近邻算法利用欧式距离进行分类,适用于小数据场景,但计算量大、需要指定K值。朴素贝叶斯基于贝叶斯公式,通过拉普拉斯平滑处理零概率问题。精确率和召回率是评估分类模型的重要指标,而交叉验证与网格搜索能帮助优化模型参数。
摘要由CSDN通过智能技术生成

机器学习——k近邻算法与朴素贝叶斯算法

k近邻算法

定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别
计算距离公式:利用欧式距离定义 ( a 1 − b 1 ) 2 + . . . + ( a n − b n ) 2 \sqrt{(a_1-b_1)^2+...+(a_n-b_n)^2} (a1b1)2+...+(anbn)2

由上述公式可看出k近邻算法需要进行标准化处理

  • sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, algorithm = ‘auto’)
    • n_neighbors: int可选(默认=5), k_neighbors查询默认使用的邻居数
    • algorithm: {‘auto’,‘ball_tree’,‘kd_tree’,‘brute’},可选用于计算最近邻居的算法:‘ball_tree’将会使用 BallTree,‘kd_tree’将使用 KDTree。‘auto’将尝试根据传递给fit方法的值来决定最合适的算法。 (不同实现方式影响效率)
from sklearn.neighbors import KNeighborsClassifier
knn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值