规范化数据集,使中位数为 0.5



我有一个正整数数据集,我想对其进行缩放,以便输出范围[0.0,1.0],中位数映射到0.5

  1. 这有可能做到吗?

  2. 如果是这样,我如何使用scipysklearn在 Python 中做到这一点?

这在数学上通常不可能用线性刻度加平移(即x[i] = a*x[i] + b(。

将数据缩放到 [0,1] 间隔很容易。它应该是 x=

(x-min(x((/(max(x(-min(x(。如果您只是希望数据的中位数为 0.5 而没有 [0,1] 要求,则可以执行 x = 0.5*x/中位数(x(。

但是,如果您希望两者都为真,则无法通过缩放来完成。

最新更新