有没有办法使用cdist()将其他参数传递给我的自定义指标?我尝试添加一个额外的关键字,但我收到一个错误:
def distanceMetric(x, y, radius=1):
return x - y + radius
def test(xs, ys, radius=1):
return cdist(xs, ys, metric=distanceMetric, radius=radius)
当我跑步时:
test([[1],[2],[3]], [[5],[6],[7]])
我收到一条错误消息:
TypeError: cdist() got an unexpected keyword argument 'radius'
答案 0 :(得分:0)
在SciPy 1.0.0中添加了cdist
中{8}}中关键字参数的处理。如果您无法升级,可以将cdist
功能中test
的来电修改为以下内容:
def test(xs, ys, radius=1):
return cdist(xs, ys, metric=lambda x, y, radius=radius: distanceMetric(x, y, radius))