- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Sklearn 中的自定义模型函数,但它给出了错误的距离。我有两个向量,我只需计算它们的余弦相似度,然后执行 1 - cosine_similarity
用作距离度量。
这是代码:
from sklearn.metrics.pairwise import cosine_similarity
def dist_fun(x, y):
return 1 - cosine_similarity(x.reshape(-1, 1), y.reshape(-1, 1))
nbrs = NearestNeighbors(n_neighbors=499, algorithm='brute',metric = dist_fun)
nbrs.fit(x)
distances, indices = nbrs.kneighbors(x[10])
print (distances)
我得到以下输出。如果您注意到距离的值是单调增加的。即使我在预测最近邻居时增加样本数量,我仍然得到相同的单调增加趋势。
array([[ -4.44089210e-16, 3.56164824e-03, 8.85347066e-02,
9.26700271e-02, 9.58609825e-02, 9.64477012e-02,
9.71035356e-02, 9.73237473e-02, 9.80660138e-02,
9.80660138e-02, 9.80660138e-02, 9.83731564e-02,
1.00054271e-01, 1.01234246e-01, 1.01811852e-01,
1.01849141e-01, 1.02621459e-01, 1.03175060e-01,
1.03230172e-01, 1.04023403e-01, 1.04023403e-01,
1.05189391e-01, 1.05705694e-01, 1.05739410e-01,
1.05773038e-01, 1.06241366e-01, 1.06661965e-01,
1.07260520e-01, 1.07538839e-01, 1.07634464e-01,
1.08394912e-01, 1.08400640e-01, 1.09003193e-01,
1.09209639e-01, 1.10290264e-01, 1.10379197e-01,
1.10442903e-01, 1.10482662e-01, 1.10698656e-01,
1.11221501e-01, 1.11401997e-01, 1.11852502e-01,
1.11852502e-01, 1.11929412e-01, 1.12309441e-01,
1.12805816e-01, 1.13097788e-01, 1.13097788e-01,
1.13097788e-01, 1.13097788e-01, 1.13097788e-01,
1.13543242e-01, 1.13672560e-01, 1.13687307e-01,
1.14012940e-01, 1.14184583e-01, 1.14184583e-01,
1.14184583e-01, 1.14322087e-01, 1.15439428e-01,
1.15884416e-01, 1.16419147e-01, 1.16773279e-01,
1.16803298e-01, 1.17356220e-01, 1.17495484e-01,
1.17707062e-01, 1.18146396e-01, 1.18146396e-01,
1.18595911e-01, 1.18883730e-01, 1.19037034e-01,
1.19069722e-01, 1.19828872e-01, 1.20566816e-01,
1.20582402e-01, 1.20582402e-01, 1.20708629e-01,
1.20716289e-01, 1.20716289e-01, 1.20972743e-01,
1.21237855e-01, 1.21788334e-01, 1.22017458e-01,
1.22226468e-01, 1.22230286e-01, 1.22230286e-01,
1.22702611e-01, 1.23099224e-01, 1.23163757e-01,
1.23289609e-01, 1.23289609e-01, 1.23292786e-01,
1.23417226e-01, 1.23664208e-01, 1.23990961e-01,
1.24189621e-01, 1.24189621e-01, 1.24960174e-01,
1.25237395e-01, 1.25624878e-01, 1.25831386e-01,
1.26729099e-01, 1.26729099e-01, 1.26729099e-01,
1.26729099e-01, 1.26782286e-01, 1.26799527e-01,
1.26889090e-01, 1.26909872e-01, 1.26970122e-01,
1.27205129e-01, 1.27268976e-01, 1.27431932e-01,
1.27431932e-01, 1.27538047e-01, 1.27538047e-01,
1.27538047e-01, 1.27587842e-01, 1.27817838e-01,
1.27877807e-01, 1.28231833e-01, 1.28238203e-01,
1.28633816e-01, 1.28664222e-01, 1.28734225e-01,
1.29052631e-01, 1.29217549e-01, 1.29217549e-01,
1.29217549e-01, 1.29484514e-01, 1.29538669e-01,
1.29538669e-01, 1.30029317e-01, 1.30124414e-01,
1.30407127e-01, 1.30439623e-01, 1.30439623e-01,
1.30468360e-01, 1.30514789e-01, 1.30534321e-01,
1.30550394e-01, 1.30655239e-01, 1.30690953e-01,
1.30723322e-01, 1.30723322e-01, 1.30841502e-01,
1.30901270e-01, 1.30905220e-01, 1.31210175e-01,
1.31613037e-01, 1.32151011e-01, 1.32223286e-01,
1.32247432e-01, 1.32294174e-01, 1.32423050e-01,
1.32503399e-01, 1.32821803e-01, 1.32864458e-01,
1.32905592e-01, 1.32940640e-01, 1.33156698e-01,
1.33156698e-01, 1.33156698e-01, 1.33181600e-01,
1.33193259e-01, 1.33238006e-01, 1.34096500e-01,
1.34121202e-01, 1.34537649e-01, 1.34564039e-01,
1.34766528e-01, 1.35170312e-01, 1.35298693e-01,
1.35951024e-01, 1.36009865e-01, 1.36237868e-01,
1.36377872e-01, 1.36432106e-01, 1.36562942e-01,
1.36626040e-01, 1.36626040e-01, 1.36626040e-01,
1.37111532e-01, 1.37146403e-01, 1.37230736e-01,
1.37315621e-01, 1.37393155e-01, 1.37411484e-01,
1.37502918e-01, 1.37598004e-01, 1.37631683e-01,
1.37659006e-01, 1.37828945e-01, 1.38182843e-01,
1.38248875e-01, 1.38281130e-01, 1.38281130e-01,
1.38646317e-01, 1.38727186e-01, 1.38825673e-01,
1.38859042e-01, 1.38929188e-01, 1.39211953e-01,
1.39248834e-01, 1.39321659e-01, 1.39335374e-01,
1.39394730e-01, 1.39395047e-01, 1.39521717e-01,
1.39670180e-01, 1.39868526e-01, 1.40094735e-01,
1.40340615e-01, 1.40340615e-01, 1.40428139e-01,
1.40676071e-01, 1.40819932e-01, 1.40957589e-01,
1.41202945e-01, 1.41323204e-01, 1.41916590e-01,
1.42025371e-01, 1.42272157e-01, 1.42710332e-01,
1.42726921e-01, 1.42755484e-01, 1.43157054e-01,
1.43299232e-01, 1.43299232e-01, 1.43299232e-01,
1.43325823e-01, 1.43400446e-01, 1.43681951e-01,
1.43690076e-01, 1.44005065e-01, 1.44238973e-01,
1.44238973e-01, 1.44396790e-01, 1.44473873e-01,
1.44473873e-01, 1.44917016e-01, 1.45297745e-01,
1.45304870e-01, 1.45346460e-01, 1.45394546e-01,
1.45484785e-01, 1.45554162e-01, 1.45626208e-01,
1.45740562e-01, 1.45762265e-01, 1.45794017e-01,
1.45804720e-01, 1.45824593e-01, 1.45861611e-01,
1.46116666e-01, 1.46212846e-01, 1.46347797e-01,
1.46355462e-01, 1.46510241e-01, 1.46706380e-01,
1.46706380e-01, 1.46731347e-01, 1.46880086e-01,
1.46880086e-01, 1.46880086e-01, 1.46895321e-01,
1.46895321e-01, 1.46898662e-01, 1.46932590e-01,
1.46932590e-01, 1.46934786e-01, 1.47062161e-01,
1.47102765e-01, 1.47125613e-01, 1.47195875e-01,
1.47203984e-01, 1.47276458e-01, 1.47541098e-01,
1.47679824e-01, 1.47744772e-01, 1.48021011e-01,
1.48021011e-01, 1.48051018e-01, 1.48093826e-01,
1.48120184e-01, 1.48687113e-01, 1.49050753e-01,
1.49073961e-01, 1.49157940e-01, 1.49225408e-01,
1.49249918e-01, 1.49394014e-01, 1.49660354e-01,
1.49674427e-01, 1.49769292e-01, 1.49769292e-01,
1.49773761e-01, 1.49897212e-01, 1.50259016e-01,
1.50295923e-01, 1.50629288e-01, 1.50878913e-01,
1.51013432e-01, 1.51178477e-01, 1.51207396e-01,
1.51451096e-01, 1.51580748e-01, 1.51695365e-01,
1.51695365e-01, 1.51734088e-01, 1.52043108e-01,
1.52060878e-01, 1.52301522e-01, 1.52445639e-01,
1.52544161e-01, 1.52743333e-01, 1.52872556e-01,
1.52908042e-01, 1.53073837e-01, 1.53204360e-01,
1.53246186e-01, 1.53300760e-01, 1.53306524e-01,
1.53591182e-01, 1.53626938e-01, 1.54052601e-01,
1.54052601e-01, 1.54052601e-01, 1.54052601e-01,
1.54052601e-01, 1.54052601e-01, 1.54052601e-01,
1.54052601e-01, 1.54052601e-01, 1.54052601e-01,
1.54052601e-01, 1.54052601e-01, 1.54052601e-01,
1.54052601e-01, 1.54229708e-01, 1.54366075e-01,
1.54392042e-01, 1.54537078e-01, 1.54546889e-01,
1.54602933e-01, 1.54738194e-01, 1.54805575e-01,
1.54977338e-01, 1.54977338e-01, 1.55012155e-01,
1.55016827e-01, 1.55028359e-01, 1.55383266e-01,
1.55610723e-01, 1.55615490e-01, 1.55722208e-01,
1.55737515e-01, 1.55840964e-01, 1.55847880e-01,
1.55929136e-01, 1.56063487e-01, 1.56063487e-01,
1.56063487e-01, 1.56063487e-01, 1.56141707e-01,
1.56141707e-01, 1.56142331e-01, 1.56161761e-01,
1.56179449e-01, 1.56280680e-01, 1.56409934e-01,
1.56616691e-01, 1.57009845e-01, 1.57278415e-01,
1.57292869e-01, 1.57563945e-01, 1.57617324e-01,
1.57617324e-01, 1.57695826e-01, 1.57776595e-01,
1.57783399e-01, 1.58031769e-01, 1.58031943e-01,
1.58085396e-01, 1.58353148e-01, 1.58459880e-01,
1.59230349e-01, 1.59236225e-01, 1.59242199e-01,
1.59353165e-01, 1.59391785e-01, 1.59396695e-01,
1.59654312e-01, 1.59798363e-01, 1.59860123e-01,
1.59895006e-01, 1.59934228e-01, 1.59950186e-01,
1.60054827e-01, 1.60526486e-01, 1.60554902e-01,
1.60787508e-01, 1.60850900e-01, 1.61051430e-01,
1.61090963e-01, 1.61101839e-01, 1.61143406e-01,
1.61246539e-01, 1.61393185e-01, 1.61488368e-01,
1.61496464e-01, 1.61559989e-01, 1.61658115e-01,
1.61892677e-01, 1.62214331e-01, 1.62329668e-01,
1.62603532e-01, 1.62727233e-01, 1.62760341e-01,
1.62869835e-01, 1.62871981e-01, 1.62997728e-01,
1.63399030e-01, 1.63441577e-01, 1.63834938e-01,
1.63996438e-01, 1.64021907e-01, 1.64200732e-01,
1.64268615e-01, 1.64648767e-01, 1.64782431e-01,
1.64782476e-01, 1.64782476e-01, 1.64813323e-01,
1.64892981e-01, 1.65070814e-01, 1.65179167e-01,
1.65386484e-01, 1.65563070e-01, 1.65597298e-01,
1.65707791e-01, 1.65719309e-01, 1.65762137e-01,
1.65807323e-01, 1.65832093e-01, 1.65832093e-01,
1.65862588e-01, 1.66052858e-01, 1.66094593e-01,
1.66187153e-01, 1.66233951e-01, 1.66233951e-01,
1.66265777e-01, 1.66415407e-01, 1.66644843e-01,
1.66756621e-01, 1.66838890e-01, 1.66934285e-01,
1.66978791e-01, 1.66978791e-01, 1.67427764e-01,
1.67445394e-01, 1.67445394e-01, 1.67445394e-01,
1.67650307e-01, 1.68064795e-01, 1.68072024e-01,
1.68134311e-01, 1.68279546e-01, 1.68518910e-01,
1.68596446e-01, 1.68665319e-01, 1.68828265e-01,
1.69141448e-01, 1.69220060e-01, 1.69342483e-01,
1.69598857e-01, 1.69757684e-01, 1.69965379e-01,
1.70091805e-01, 1.70114998e-01, 1.70158904e-01,
1.70284561e-01, 1.70285288e-01, 1.70430046e-01,
1.70467217e-01, 1.71019575e-01, 1.71045745e-01,
1.71238149e-01, 1.71417066e-01, 1.71478228e-01,
1.71552705e-01, 1.71726300e-01, 1.71779031e-01,
1.71835164e-01, 1.72085845e-01, 1.72085845e-01,
1.72180127e-01]])
最佳答案
扩展一下我的评论。 NearestNeighbors
(NN) 始终会按升序给出距离,因为结果将是按顺序排列的 K
个最近邻居(从最近到最远)。
indices
变量将包含数据点的所有 K
个最近邻居的索引。也就是说,距离告诉您的是从每个最近的 K
点到源点的距离(按升序排列)。 indices
告诉您的是所有数据点中的哪个点对应于 distance
数组的 i
位置。
如果你想恢复原始值,你可以这样做:
y = x[indices]
现在 y
将是按顺序排列的 K
个最近点的列表。
关于python - sklearn : Custom distance function in nearest neighbor giving wrong answer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45000386/
我正在 Unity 中制作泡泡射击游戏。我来到了可以击中另一个气泡的地步,它摧毁了它的所有邻居。 现在我试图摧毁它的所有邻居的邻居,这会导致堆栈溢出。我正在使用递归。 我在没有递归的情况下完成了它,并
我有一组 3D 点,每个点都与一个方向相关联(例如单位向量)。给定另一个点 + 方向,我想找出集合中最近的点(使用标准 2 范数),该点也满足方向向量的特定条件(例如,两个方向向量之间的角度在特定角度
局部敏感散列对于 KNN 来说似乎是一种很好的技术,没有任何缺点。但是,如果有人在工业中将其用于实际应用,那么局部敏感散列的缺点是什么? LSH在什么情况下会失败或者做的有些糟糕?还是编码/调整需要很
我想找到一种方法来确定我的 knn 算法中实际使用了哪些邻居,这样我就可以更深入地研究与我的特征相似的数据行。 这是一个数据集示例,我将其分为预测模型的训练集和测试集: Player
基于 calculating average distance of nearest neighbours in pandas dataframe 中的代码,如何调整它以便将第二个和第三个最近邻居返回
我目前正在编写一个 C 程序,用于查找多维数组中大于所有相邻元素的元素。所以如果我的输入是 3 2 9 13 7 6 1 5 8 它应该打印 9 13 8 但是,它似乎不起作用 :( 我已经运行了几次
在 1 维的爬山中,我尝试了两个邻居 - 我当前点左侧的一个小三角洲和一个右侧的小三角洲,然后保留给出更高目标函数值的那个。如何将其扩展到 n 维空间?如何定义 n 维空间的邻居?我是否必须尝试 2^
假设我们有一个包含 n 个元素的序列 S .一对元素xi,xj如果 |xi-xj|= k) continue; if (++neighborCount[i] > neighb
我正在编写一个方法,它将一个点数组作为输入,并为数组中的每个点找到除它本身之外离它最近的点。我目前正在以蛮力方式执行此操作(检查每个点与其他点)。我当前的实现没有对数组进行排序,但我可以使用 Comp
我在尝试想出一种逻辑方法来检查基于“网格”的类编程项目中的邻居时遇到了很多麻烦。 我遇到的主要问题是想办法有效地检查它是否在侧面,这样我就不会得到索引越界错误。 编辑:我忘了说我使用的是二维数组。 最
假设我使用 2D/3D numpy 数组来建模由单元格组成的盒子。单元格由从 0 开始递增的数字标记。在此之前,这可以通过 来完成 box = np.arange(np.prod(n_cells))
在论文“When Is 'Nearest Neighbor' Meaningful?”中我们读到,“我们表明,在某些广泛的条件下(在数据和查询分布或工作负载方面),随着维度的增加,到最近的距离neig
我正在查看维基百科上的 A 星伪代码 ( wikipedia:A*_search_algorithm ),我对这段代码有疑问: for each neighbor in neighbor_nodes(
我使用 Android Dev Phone 2,使用 GsmCellLocation.getCid() 方法获取网络上的 Cell ID。当我运行命令并获取所有 CellID 时Neighboring
我正在使用基于点云库 (PCL) 的 kd-tree 最近邻 (NN) 搜索的 C++ 实现。该数据集包含约 220 万个点。我正在为每个其他点搜索 NN 点。搜索半径设置为 2.0。要完全计算它,大
如何执行 getNearest 查询其他命令的结果,例如过滤器命令? var point = r.point(-122.422876,37.777128); r.db('test').table('
当使用特征描述符时 [如 SIFT、SURF] - 近似最近邻法是在图像之间进行匹配的最快方法吗? 最佳答案 你应该看看 pyramid match kernel ,这是迄今为止最成功的图像与局部特征
获取networkx中节点的邻居的时间复杂度是多少? >>> G = nx.Graph() >>> G.add_edges_from([('a', 'b'), ('a', 'c')]) >>> G.n
有没有办法从 sklearn.neighbors.KDTree 实例中通过 id 获取节点或所有节点? from sklearn.neighbors import KDTree import
这是代码。 from sklearn.neighbors import NearestNeighbors import numpy as np X = np.array([[-1, -1], [-2,
我是一名优秀的程序员,十分优秀!