sklearn--NearestNeighbors(监督学习)

源码

    def __init__(self, n_neighbors=5, radius=1.0,
                 algorithm='auto', leaf_size=30, metric='minkowski',
                 p=2, metric_params=None, n_jobs=None, **kwargs):
                 
        super().__init__(
              n_neighbors=n_neighbors,
              radius=radius,
              algorithm=algorithm,
              leaf_size=leaf_size, metric=metric, p=p,
              metric_params=metric_params, n_jobs=n_jobs, **kwargs)

参数

n_neighbors:整数,可选(默认值为5),用k_neighbors查找的近邻数。

radius:浮点数,可选(默认值为1.0)

algorithm:{‘auto’,’ball_tree’,’kd_tree’,’brute’},可选
算法用来计算临近的值:

‘auto’会基于fit方法来决定大部分相似情况下合适的算法。
‘ball_tree’会用BallTree,
’kd_tree’会用KDtree,
’brute’会用burte-force来搜寻。
NoTe:如果fit用在稀疏(矩阵)的输入上,那么将会覆盖参数的设置,而使用brute force.

leaf_size:整数,可选(默认值为30) Leaf size是针对BallTree 和 KDTree的。
它将会影响构建模型和搜寻的速度,以及存储的树的内存。可选值将决定该问题的类型。

p:整数,可选(默认值为2)。是sklearn.metrics.pairwise.pairwise_distance里的闵可夫斯基度量参数,当
p=1时, 使用曼哈顿距离。当p=2时,使用的是欧氏距离。对于任意的p,使用闵可夫斯基距离。

metric:字符或者调用,默认值为‘minkowski’
metric用来计算距离。scikit-learn或者scipy.spatial.distance中的任何距离都可以被使用。
如果距离是可选函数,每一对实例都会返回相应的记录值。(无法计算矩阵间的距离。)

metric_params:字典,可选(默认值为1)
关于距离公式中其他的关键值讨论。

n_jobs:int,可选(默认值为1) 表示搜寻近邻值时并行作业的数量
。如果为-1,那么并行数量则会被设定为CPU的内核数。 (只针对k_neighbors 和kneighbors_graph方法)

方法

fit(x,[y]) 用X作为训练集拟合模型

get_params([deep]) 得到相应估计的参数

kneighbors([X,n_neighbors,return_distance]) 找出k个临近点

kneighbors_graph([X,n_neighbors,mode]) 计算X中k个临近点(列表)对应的权重

radius_neighbors_graph([X,radius,mode]) 计算X中临近点(列表)对应的权重

radius_neighbors([X,radius,return_distance]) 找出半径内的k个临近点

set_params(**params) 设置当前估计的参数

参考链接:https://blog.csdn.net/qq_35793943/article/details/53981691
官方文档:https://sklearn.apachecn.org/docs/0.21.3/7.html

### 回答1: nearestneighbors函数是一种机器学习算法,用于寻找给定数据集中每个数据点的最近邻居。该函数可以用于分类、聚类和回归等任务中,通常使用欧几里得距离或曼哈顿距离来计算数据点之间的距离。在寻找最近邻居时,该函数可以使用不同的算法,如暴力搜索、kd树和球树等。 ### 回答2: nearestneighbors函数的作用是在给定的数据集中查找与给定样本最相似的K个样本,并返回它们的类别。这个函数通过计算每个样本与给定样本之间的距离,然后选出距离最近的K个样本。 在机器学习中,nearestneighbors函数经常用于分类和聚类问题。它可以识别与一个数据点最接近的数据点来进行预测,从而减少预测误差。 nearestneighbors函数的输入参数包括三个参数:数据集X、要查找的样本点x、以及查找最接近的K个样本的数量k。其中,数据集X包含了所有的样本特征,以及它们对应的类别标签;要查找的样本点x是一个包含了特征信息的向量;k是一个正整数,表示要查找的最近邻数量。 nearestneighbors函数的输出参数包含两个参数:一个是最近的K个样本对应的索引,另一个是最近的K个样本对应的类别标签。这些标签可以用于分类和聚类问题中,以便更准确地进行预测。 总的来说,nearestneighbors函数是一种常用的、高效的算法,它可以在大型数据集上快速查找最近邻。在许多机器学习问题中,它是一个基本组件,常用于分类、聚类和异常检测等领域。 ### 回答3: nearestneighbors函数是一种基于K近邻算法的算法函数,它的主要作用是对于未知类别的数据集中的每个点,基于这个点周围的K个最近邻点,采取最多数原则对该未知点进行分类。 其中K指定需要选取的邻居数量,而距离度量指定了在计算最近邻时采用的距离度量方法,比如欧式距离、曼哈顿距离等。这个距离度量方法会影响最终的分类结果,因为它决定了最近邻值是否近似,以及如何计算邻居之间的距离。 对于K值的选择,需要根据数据集的特征进行并根据实际应用场景进行调整。当K值过小时,模型容易受到噪声影响而产生过拟合。而K值过大时,模型容易受到局部特殊的影响而忽略了数据集的全局特点。因此,选择适当的K值是非常重要的。 在具体使用时,用户可以以列表或数组的形式提供带有标签的训练数据以及未知标签的测试数据。函数将根据训练数据集和测试数据集使用KNN算法进行分类,并返回预测结果和其对应的概率。 总的来说,nearestneighbors函数是一种简单但有效的分类算法,在多个机器学习领域中都有着广泛的应用,如推荐系统、信用评分、图像分类等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YouShouldKnowMe

别来这套

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值