目前,我正在做一个项目,可能需要使用kNN算法查找给定点的前k个最近的邻居,例如P.
im使用python,sklearn包来完成这项工作,但我们的预定义指标不是默认指标之一指标。因此我必须使用sklearn文档中的用户定义指标,可以在此处和此处找到。
看来sklearn kNN的最新版本支持用户定义的指标,但是我找不到如何使用它:
import sklearn
from sklearn.neighbors import NearestNeighbors
import numpy as np
from sklearn.neighbors import DistanceMetric
from sklearn.neighbors.ball_tree import BallTree
BallTree.valid_metrics
说我已经定义了一个名为mydist =
max(xy)的度量,然后使用DistanceMetric.get_metric使其成为DistanceMetric对象:
dt=DistanceMetric.get_metric('pyfunc',func=mydist)
在文档中,该行应如下所示
nbrs = NearestNeighbors(n_neighbors=4, algorithm='auto',metric='pyfunc').fit(A)
distances, indices = nbrs.kneighbors(A)
但是我可以放在哪里dt
?谢谢
您将指标作为metric
参数传递,并将其他指标参数作为关键字参数传递给NN构造函数:
>>> def mydist(x, y):
... return np.sum((x-y)**2)
...
>>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
>>> nbrs = NearestNeighbors(n_neighbors=4, algorithm='ball_tree',
... metric='pyfunc', func=mydist)
>>> nbrs.fit(X)
NearestNeighbors(algorithm='ball_tree', leaf_size=30, metric='pyfunc',
n_neighbors=4, radius=1.0)
>>> nbrs.kneighbors(X)
(array([[ 0., 1., 5., 8.],
[ 0., 1., 2., 13.],
[ 0., 2., 5., 25.],
[ 0., 1., 5., 8.],
[ 0., 1., 2., 13.],
[ 0., 2., 5., 25.]]), array([[0, 1, 2, 3],
[1, 0, 2, 3],
[2, 1, 0, 3],
[3, 4, 5, 0],
[4, 3, 5, 0],
[5, 4, 3, 0]]))
我正在试图找出为什么我不能在<code>的“消息”: 当我试图解析模式时,我得到了以下错误: 线程“main” org.apache.avro.SchemaParseException中的异常:未定义的名称:“media_type”at org.apache.avro.Schema.parse(Schema.java:1162) at org.apache.avro.Schema.parse(Sc
常用指标定义 一、用户类指标 启动用户:启动过该应用的用户(以独立设备为判断标准),通常也叫活跃用户。 注:用户定义以独立设备为准,其中可能会用到包括imei、mac id、Android id、IDFA、IDFV等综合设备维度指标,生成长期有效彼此不冲突的唯一设备ID 新用户:首次下载安装并激活该应用的用户。在渠道或版本统计中,仅在第一次下载时被记为渠道新用户,后续重新下载或升级版本,不算新用户
我正试图通过PipelineOptions自定义用于不同GCP调用的用户代理。setUserAgent。 然而,它似乎总是回到。 看看Beam代码库,用户代理似乎是由数据流转轮强制的:https://github.com/apache/beam/blob/ce9ee0b034cef66ea3845ca049770b9a354a4fd4/runners/google-cloud-dataflow-j
在我的中,我有一个名为testDB的数据库,用我的命令行我试图导出数据库,但是每次我试图运行这个命令时,我都会得到错误1449: 错误是:“使用锁表时,指定为定义器('myuser'@'')的用户不存在” 我分析了sql文件,发现该用户名只在文件底部出现一次: 如果不导出数据库,也不创建新用户,因为我无法创建新用户,我该如何解决此问题? 是否可以为我的数据库使用特定的SQL命令替换此值? 我的服务
我安装了新系统(Ubuntu20.04),我安装了LAMP和克隆的Laravel项目。我创建了数据库博客,我想迁移,但我有这个错误。 SQLSTATE[HY000]:一般错误:1449指定为定义者的用户('mysql.infoschema'@'localhost')不存在(SQL:select*from information\u schema.tables,其中table\u schema=bl
问题内容: 我正在寻找如下创建模型,如何在spring-data-cassandra中使用用户定义的类型? 问题答案: Spring Data Cassandra现在支持用户定义的数据类型。最新版本1.5.0.RELEASE使用Cassandra Data stax驱动程序3.1.3,因此现在可以工作。请按照以下步骤操作 如何在Spring Data Cassandra中使用UserDefined