机器学习之KNN

什么是KNN

KNN又叫做K邻近,即K nearst neighbors,属于分类任务

算法思想:

用待测样本较近的几个样本来代表待测样本

KNN三要素

K值的选择:
K值较大容易欠拟合,K值较小容易过拟合,可以通过交叉验证来选取一个较好的值

距离的度量:
一般选用欧几里得距离

决策的规则:
在分类时选用多数表决法或者加权的多数表决法
在做回归时使用的是平均值法或者加权的平均值法
一般权重和距离成反比

KNN算法的实现方式

蛮力实现(brute)

计算待测样本到所i有训练集样本的距离,然后选取K个最近的

KD-Tree实现:

选取训练样本方差最大的特征作为根节点,以中位数二分样本,同理左右子树再按方差最大的特征二分下去,不断递归产生KD-Tree
首先在找到包含目标点的叶子节点,然后再看看父节点的另一个叶子节点,然后返回父节点的父节点,去另一个分支看看,最后找到K个临近点。

KNN的API

KNeighborsClassifier()
KNeighborsRegressor()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值