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


Python sklearn KNeighborsTransformer用法及代码示例


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

用法:

class sklearn.neighbors.KNeighborsTransformer(*, mode='distance', n_neighbors=5, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, n_jobs=1)

将 X 转换为 k 个最近邻的(加权)图。

转换后的数据是由kneighbors_graph 返回的稀疏图。

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

参数

mode{‘distance’, ‘connectivity’},默认='距离'

返回矩阵的类型:‘connectivity’ 将返回具有 1 和 0 的连接矩阵,‘distance’ 将根据给定度量返回邻居之间的距离。

n_neighbors整数,默认=5

变换后的稀疏图中每个样本的邻居数。出于兼容性原因,由于每个样本都被视为其自己的邻居,因此当 mode == ‘distance’ 时将计算一个额外的邻居。在这种情况下,稀疏图包含 (n_neighbors + 1) 个邻居。

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

用于计算最近邻的算法:

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

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

leaf_size整数,默认=30

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

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

用于距离计算的度量。可以使用来自 scikit-learn 或 scipy.spatial.distance 的任何度量。

如果 metric 是一个可调用函数,则在每对实例(行)上调用它并记录结果值。可调用对象应将两个数组作为输入并返回一个值,指示它们之间的距离。这适用于 Scipy 的指标,但效率低于将指标名称作为字符串传递。

不支持距离矩阵。

指标的有效值为:

  • 来自scikit-learn:[‘cityblock’, ‘cosine’, ‘euclidean’,‘l1’, ‘l2’,‘manhattan’]
  • 来自 scipy.spatial.distance: [‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘correlation’, ‘dice’, ‘hamming’, ‘jaccard’, ‘kulsinski’, ‘mahalanobis’, ‘minkowski’, ‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’, ‘sqeuclidean’, ‘yule’]

有关这些指标的详细信息,请参阅scipy.spatial.distance 的文档。

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整数,默认=1

为邻居搜索运行的并行作业数。如果 -1 ,则作业数设置为 CPU 内核数。

属性

effective_metric_str 或可调用

使用的距离度量。它将与 metric 参数或其同义词相同,例如‘euclidean’ 如果 metric 参数设置为 ‘minkowski’ 并且 p 参数设置为 2。

effective_metric_params_dict

度量函数的附加关键字参数。大多数指标与metric_params 参数相同,但如果effective_metric_ 属性设置为‘minkowski’,也可能包含p 参数值。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

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

n_samples_fit_int

拟合数据中的样本数。

例子

>>> from sklearn.datasets import load_wine
>>> from sklearn.neighbors import KNeighborsTransformer
>>> X, _ = load_wine(return_X_y=True)
>>> X.shape
(178, 13)
>>> transformer = KNeighborsTransformer(n_neighbors=5, mode='distance')
>>> X_dist_graph = transformer.fit_transform(X)
>>> X_dist_graph.shape
(178, 178)

相关用法


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