相关性 - 以我们想要的方式获取值

数据挖掘 机器学习 数据挖掘 统计数据 Python 相关性
2022-02-19 00:51:55

我有 :

  • 具有 N 行的矩阵 X

  • 向量 Y

我已经为 X 的每一行计算了 Y 的欧几里得距离。

我得到的是距离向量。

我想要的是一个介于 0 和 1 之间的分数向量,1 表示“非常”高相关性,0 表示“无”相关性。

这是我所做的:

我将距离向量除以其中的最大距离。我得到向量 D。

1 - D是最终结果,其值介于 0 和 1 之间。

问题是我得到的许多值(75%)太接近 1。你认为我所做的是否正确?

你将如何获得更好的结果?(介于 0 和 1 之间,但并非所有内容都太接近 1)

现在,我试着取结果的平方。(保持在 0 和 1 之间,但要最小化值)

这里有一张我要转分数的距离值图片 距离值我想上交分数

2个回答

几个核函数可以用作相似函数(=scores)。例如,在此处查看列表。您可以尝试其中的几个,看看哪个最适合您。

您需要在低距离快速下降的东西。您可以尝试 并调整距离前面的系数,使分数介于 0 和 1 之间

score=1/(1+distance)2
在此处输入图像描述

关于您的图片:什么是轴标签?什么是 x-ticks?

使用 sigmoidal 函数获得最佳相关值。使用 Octave/MATLAB 使用该函数处理您的矩阵。