我有这个代码:
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' 但错误仍然存在。
这是什么原因造成的?如何正确使用用户定义的距离度量?