KNN分类和回归学习--sklearn

本文详细介绍了K近邻(KNN)算法,包括K的选择、距离度量和分类决策规则。讨论了K值对模型稳定性的影响,推荐使用交叉验证选择最优K值。此外,介绍了距离度量的不同方法,如欧式距离和汉明距离,以及分类决策的多数表决规则。还探讨了KNN在分类和回归问题中的应用,以及如何调整参数n_neighbors、weights和p以优化模型性能。
摘要由CSDN通过智能技术生成

参考文章:
《Python大战机器学习》(不好,就是官方文档的中文版再加上几个简单的例子)
数据挖掘十大算法–K近邻算法
机器学习笔记—KNN算法
常用样本相似性和距离度量方法

KNN(K近邻法)

输入为实例的特征向量,计算新数据与训练数据之间的距离,选取K个距离最近的数据进行分类或回归判断

对于分类问题:输出为实例的类别。分类时,对于新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。

对于回归问题:输出为实例的值。回归时,对于新的实例,取其k个最近邻的训练实例的平均值为预测值。

neighbors-based (基于邻居的) 监督学习分为两种: classification (分类)针对的是具有离散标签的数据,regression (回归)针对的是具有连续标签的数据。

不具有显示的学习过程,只是利用训练数据集对特征向量空间的划分,并作为其分类的模型

三要素:K如何选择距离如何度量分类决策的规则

K选取

  • k=1,最邻近算法
  • k较小,在较小的邻域中训练实例,近似误差会减小,但估计误差会增大。预测结果对近邻点非常敏感,模型整体变复杂,易过拟合
  • k较大,在较大的邻域中训练实例,近似误差会增大,但估计误差会减小。模型变简单,容易忽略实例中大量有用信息

应用中,k值一般取一个较小的数值。通常采用叉验证法来选取最优的k值就是比较不同k值时的交叉验证平均误差率,选择误差率最小的那个大值。例如选择k= 1,2.3.对每个k=i做若干次交叉验证,计算出平均误差,然后比较、选出最小的那个

距离度量

  • 特征在训练前必须量化为数值特征
  • 每个参数对距离的计算的影响不同,应采取归一化处理

距离Lp分类:欧氏距离、曼哈顿距离、汉明距离等

一般,连续变量选择欧式距离作为度量,像文本分类这种离散的使用汉明距离

数据挖掘十大算法–K近邻算法

机器学习笔记—KNN算法

常用样本相似性和距离度量方法

分类决策规则

通常使用多数表决(经验风险最小化),也可使用基于距离远近进行加权投票(距离越近权重越大)

import numpy as np
from sklearn.datasets imp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值