当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn NearestNeighbors用法及代码示例


本文简要介绍python语言中 sklearn.neighbors.NearestNeighbors 的用法。

用法:

class sklearn.neighbors.NearestNeighbors(*, n_neighbors=5, radius=1.0, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, n_jobs=None)

用于实现邻居搜索的无监督学习器。

在用户指南中阅读更多信息。

参数

n_neighbors整数,默认=5

kneighbors 查询默认使用的邻居数量。

radius浮点数,默认=1.0

radius_neighbors 查询默认使用的参数空间范围。

algorithm{‘auto’, ‘ball_tree’,‘kd_tree’, ‘brute’},默认='自动'

用于计算最近邻的算法:

  • ‘ball_tree’ 将使用 BallTree
  • ‘kd_tree’ 将使用 KDTree
  • ‘brute’ 将使用蛮力搜索。
  • ‘auto’ 将尝试根据传递给 fit 方法的值来决定最合适的算法。

注意:拟合稀疏输入将使用蛮力覆盖此参数的设置。

leaf_size整数,默认=30

叶大小传递给BallTree 或 KDTree。这会影响构建和查询的速度,以及存储树所需的内存。最佳值取决于问题的性质。

metricstr 或可调用,默认='minkowski'

用于树的距离度量。默认度量是 minkowski,并且 p=2 等效于标准欧几里得度量。有关可用指标的列表,请参阅 DistanceMetric 的文档。如果 metric 是 “precomputed”,则 X 被假定为一个距离矩阵,并且在拟合期间必须是正方形。 X 可能是一个稀疏图,在这种情况下,只有“nonzero” 元素可以被认为是邻居。

p整数,默认=2

来自 sklearn.metrics.pairwise.pairwise_distances 的 Minkowski 度量的参数。当 p = 1 时,这相当于使用 manhattan_distance (l1),而对于 p = 2,则使用 euclidean_distance (l2)。对于任意 p,使用 minkowski_distance (l_p)。

metric_params字典,默认=无

度量函数的附加关键字参数。

n_jobs整数,默认=无

为邻居搜索运行的并行作业数。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关详细信息,请参阅词汇表。

属性

effective_metric_str

用于计算到邻居距离的度量。

effective_metric_params_dict

用于计算到邻居距离的度量的参数。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

n_samples_fit_int

拟合数据中的样本数。

注意

有关选择 algorithmleaf_size 的讨论,请参阅在线文档中的最近邻居。

https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm

例子

>>> import numpy as np
>>> from sklearn.neighbors import NearestNeighbors
>>> samples = [[0, 0, 2], [1, 0, 0], [0, 0, 1]]
>>> neigh = NearestNeighbors(n_neighbors=2, radius=0.4)
>>> neigh.fit(samples)
NearestNeighbors(...)
>>> neigh.kneighbors([[0, 0, 1.3]], 2, return_distance=False)
array([[2, 0]]...)
>>> nbrs = neigh.radius_neighbors(
...    [[0, 0, 1.3]], 0.4, return_distance=False
... )
>>> np.asarray(nbrs[0][0])
array(2)

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.neighbors.NearestNeighbors。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。