【问题标题】:Is there a weighted metric in KNeighborsClassifier? [duplicate]KNeighborsClassifier 中是否有加权指标? [复制]
【发布时间】:2019-12-18 23:21:39
【问题描述】:

我想看看是否可以在 KNeighborsClassifier 中修改指标的权重。 L2 欧几里得度量是这样工作的:

x = np.array([1,2,3])
y = np.array([6,5,4])

def d(x,y)=
  sqrt((x[0]-y[0])^2 + (x[1]-y[1])^2 + (x[2]-y[2])^2)

但是,如果我想在 L2 指标中添加权重,比如 [1,2,3],该怎么办?例如,

w = np.array([1,2,3])
def d2(x,y)=
  sqrt(w[0]*(x[0]-y[0])^2 + w[1]*(x[1]-y[1])^2 + w[2]*(x[2]-y[2])^2)

我可以对 metric 或 metric_params 做些什么

KNeighborsClassifier(n_neighbors=5, weights='uniform', p=2, metric='minkowski', metric_params=None, **kwargs)

谢谢

【问题讨论】:

标签: python scikit-learn


【解决方案1】:

是的,有东西。

documentation 中有一个参数

> metric_params--- dict, optional (default = None) Additional keyword arguments for the metric function.

对于 sklearn l2,您可以指定权重,但对于其他一些指标或您自己的版本,您可以

【讨论】:

    猜你喜欢
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 2020-12-20
    • 1970-01-01
    • 2019-04-02
    • 2021-05-08
    • 1970-01-01
    相关资源
    最近更新 更多