亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何比較兩組不同長度的 xy 坐標?

如何比較兩組不同長度的 xy 坐標?

蕭十郎 2022-07-12 18:17:49
我有兩組不同的 xy 坐標要比較。這些集合的大小不同,但我想計算兩者之間的某種相似性指數。例子:    Set1 = [(1,2), (3,6), (7,8)]      Set2 = [(2,2), (3,5)]我正在尋找的度量/算法的目標是評估預測算法在找到相對于已知地面實況點集的點時的“準確性”。我曾嘗試采用相對于最近預測點的地面實況點的最小距離,但作為一個指標無法量化/懲罰過度預測的錯誤。示例 我要比較的兩個數據集的散點圖
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

  1. 使用您選擇的內核估計地面實況和預測數據集的密度。選擇哪個內核取決于領域;盒內核或 RBF 可能是一個合理的選擇。

  2. 計算這些密度之間的差異。散度的概念再次取決于您,均方距離或 KL 散度可能會起作用。

使用框核和均方實現:

from scipy.signal import convolve2d


# constants: don't forget to replace with your own values

x_width, y_width = 10, 10

kernel_width = 3


gt_field = np.zeros((x_width, y_width))

prediction_field = gt_field.copy()

# split Set1 into two lists of x and y coordinates

# then set these points to 1

gt_field[list(zip(*Set1))] = 1

prediction_field[list(zip(*Set2))] = 1


# using box kernel as the simplest one

kernel = np.ones((kernel_width, kernel_width)) / kernel_width ** 2


# apply kernel - now we have densities

gt_field = convolve2d(gt_field, kernel)

prediction_field = convolve2d(prediction_field, kernel)


# calculate mean squared error

mse = ((gt_field - prediction_field) ** 2).mean()

我很確定有一種更有效的方法來實現它,但即使這樣也應該像示例圖片那樣在幾百個點上工作。


查看完整回答
反對 回復 2022-07-12
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號