小编Cue*_*nta的帖子

在 scikit-learn 中为 k-nn 使用用户定义的距离度量

我有这个代码:

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt 
import sklearn.neighbors as ng 

def mydist(x, y):
    return np.sum((x-y)**2)

if __name__ == '__main__':
    nn = ng.KNeighborsClassifier(n_neighbors=3, algorithm='ball_tree',metric='mydist')
Run Code Online (Sandbox Code Playgroud)

我正在使用 sci-kit learn 0.18.1 并且出现此错误

ValueError: Metric 'mydist' not valid for algorithm 'ball_tree'
Run Code Online (Sandbox Code Playgroud)

我也尝试使用 algorithm = 'brute' 但错误仍然存​​在。

这是什么原因造成的?如何正确使用用户定义的距离度量?

python scikit-learn

2
推荐指数
1
解决办法
457
查看次数

标签 统计

python ×1

scikit-learn ×1