机器学习-最近邻(KNN,RNN)

最近邻

概述

基于最近邻的监督学习方法分两类:分类,针对的是具有离散标签的数据;回归,针对的是具有连续标签的数据基于最近邻的无监督学习方法用于聚类分析。

最近邻方法原理是从训练样本中找到与查询点在距离上最近的预定数量或范围的多个点,然后依据这些点来预测查询点的标签。从训练样本中找出点的数量可以是用户定义的常量,这叫ķ最近邻学习即KNN,也可以通过用户定义的查询点的距离半径范围得出,这叫基于半径的最近邻学习即RNN。

数据之间的距离可以理解为数据之间的相似度。距离可以通过多种方式来度量,如欧几里得距离,曼哈顿距离等。标准欧几里得是最常见的选择。

最近邻学习方法称为非泛化机器学习方法,因为只是简单的“记住”了其所有的训练数据,死记硬背下所有历史数据,在新数据面前就与所有的历史数据比较从而找出最相似的历史数据。而泛化的机器学习方法在给定的样本数据进行训练之后会形成概念模型,在新数据面前则依据概念模型直接推导计算得出结论。

无监督最近邻

无监督最近邻的任务就是从训练样本中找到与查询点在距离上最近的预定数量或范围的多个点。需要找出点的个数可以是用户定义的常量,这叫ķ最近邻即KNN ,也可以通过用户定义的新点的距离半径范围得出,这叫基于半径的最近邻即RNN。

KNN无监督最近邻示例
import numpy as np
import matplotlib.pyplot as plt
from sklearn import neighbors

# random the data as the training data
x = 5 * np.random.random((50, 2))
y = np.array([[1, 3], [4, 2]])

# knn
n_neighbors = 5

# create color maps
from matplotlib.colors import ListedColormap
cmap_bold = ListedColormap(['#FF0000', '#00FF00', '#0000FF'])

# fit the training data
from sklearn.neighbors import NearestNeighbors
nbrs = NearestNeighbors(n_neighbors = n_neighbors, algorithm = 'aut
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值