【发布时间】:2016-07-07 15:42:06
【问题描述】:
假设我在一个名为 “Alpha A” 的 2D 图上有一个重要的点。表面上的所有其他点有两种类型:“Beta A”和“Beta B”。
我想使用以下属性计算相对于 Beta 点的“Alpha A”度量:
- 无论类型如何,惩罚与“Alpha A”更远的距离,例如,使用 (1/distance)
- 如果 type == 'Beta A',赋予比 type == 'Beta 更强的权重
B',例如,将 'Beta B' 设为负数。
示例数据框:
color distance
match 10
match 33
no_match 88
match 1000
这是我的伪代码问题的一个非常天真的解决方案:
metric = 0
for (point in df){
if (color == match){
weight = 1*(1/distance)
} else {
weight = -1*(1/distance)
}
metric = metric + weight
}
我不怀疑这个问题很常见并且有无数种技术 解决它。但是,由于我不知道正确的搜索术语,查找信息并不是很成功...
需要明确的是,我并不是要预测“Alpha A”的位置。 我只是想计算一个能提供环境信息的指标。
DF
df = data.frame(color = c('match', 'match', 'no_match', 'match'), distance = c(10, 33, 1, 0))
【问题讨论】:
-
这个问题不是更适合 CrossValidated 吗?您键入的代码几乎可以像在 R 中一样工作。
-
这里的代码非常简单。我有有效的代码。所以你是对的:这更适合 CrossValidated,因为真正的问题是关于权重,而不是编码。
标签: r algorithm machine-learning