machine-learning - 如何定义自定义相似性度量

标签 machine-learning cluster-analysis data-mining similarity

我需要一些定义自定义相似性度量的帮助。

我有一个数据集,其元素由 4 个属性定义。 例如,请考虑以下两项:

Element 1:

A1: "R1", "R3", "R4", "R7"
A2: "H1"
A3  "F1", "F2"
A4  "aaa" "bbb"


Element 2:

A1: "R1", "R2"
A2: "H1"
A3  "F1", "F2"
A4  "aaa" "bbb" "ccc" "ddd" "eee" "fff"

我必须实现相似性度量,该度量应满足以下条件:

1 - 如果A2值相同,则两个元素必须属于同一个簇

2 - 如果两个元素在 A4 上至少有一个共同值,则 who 元素必须属于同一簇。

我需要使用一种加权 Jaccard 度量。定义一个相似性度量,将每个属性的杰卡德距离相加,然后在 A2 和 A4 满足条件 1 和 2 时添加某种高权重,这在数学上是否正确?

如果是这样,如何将相似度矩阵转换为距离矩阵?

最佳答案

(1) 距离 = 1 - 相似度。这是一个共同的特征。

(2) 对属性距离求和是有效的,尽管您可能希望将其缩小到 [0, 1] 范围。

(3) 根据您的描述,赋予较高的权重是不正确的。如果 A2 或 A4 值显示匹配,只需将距离设置为 0。聚类是一项要求,而不仅仅是强烈的建议。您的距离函数是否还有其他一些您不想走这条路线的语义?

仅供引用,拓扑度量距离函数 D 的基础知识是:

D(a, a) = 0
D(a,b) = D(b,a)
D(a,b) + D(b,c) >= D(a,c)

关于machine-learning - 如何定义自定义相似性度量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32848218/

相关文章:

python - 如果 sklearn 中的输入向量中缺少列中的所有值,Imputers 将如何工作

machine-learning - 如何在 NER 模型上设置空格分词器?

machine-learning - C4.5决策树: classification probability distribution?

python - Tensorflow 卷积网络错误 : Invalid argument: logits and labels must be same size: logits_size=[512, 4] labels_size=[128,4]

cluster-analysis - weka 中的文本聚类

database - 数据挖掘技术 AdaBoost 是如何工作的?

sql-server - 数据挖掘 - 预测分析

matlab - 光谱聚类

r - pvclust 中的 p 值 & 结果 hclust

machine-learning - 在 Weka 中处理字符串数据和分类