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


Python sklearn KNeighborsRegressor用法及代码示例


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

用法:

class sklearn.neighbors.KNeighborsRegressor(n_neighbors=5, *, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None)

基于k-nearest 邻居的回归。

目标是通过对训练集中最近邻相关的目标进行局部插值来预测的。

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

参数

n_neighbors整数,默认=5

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

weights{‘uniform’, ‘distance’} 或可调用,默认='uniform'

预测中使用的权重函数。可能的值:

  • ‘uniform’:统一权重。每个邻域中的所有点的权重相等。
  • ‘distance’:权重点按距离的倒数计算。在这种情况下,查询点的较近的邻居将比较远的邻居具有更大的影响。
  • [callable]:一个用户定义的函数,它接受一个距离数组,并返回一个包含权重的相同形状的数组。

默认情况下使用统一权重。

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

用于计算最近邻的算法:

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

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

leaf_size整数,默认=30

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

p整数,默认=2

Minkowski 度量的功率参数。当 p = 1 时,这相当于使用 manhattan_distance (l1),而对于 p = 2,则使用 euclidean_distance (l2)。对于任意 p,使用 minkowski_distance (l_p)。

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

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

metric_params字典,默认=无

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

n_jobs整数,默认=无

运行邻居搜索的并行作业数。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关更多详细信息,请参阅术语表。不影响fit方法。

属性

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

拟合数据中的样本数。

注意

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

警告

关于最近邻算法,如果发现两个邻域 k+1k 具有相同的距离但不同的标签,则结果将取决于训练数据的排序。

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

例子

>>> X = [[0], [1], [2], [3]]
>>> y = [0, 0, 1, 1]
>>> from sklearn.neighbors import KNeighborsRegressor
>>> neigh = KNeighborsRegressor(n_neighbors=2)
>>> neigh.fit(X, y)
KNeighborsRegressor(...)
>>> print(neigh.predict([[1.5]]))
[0.5]

相关用法


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