我有一个正整数数据集,我想对其进行缩放,以便输出范围[0.0,1.0]
,中位数映射到0.5
。
-
这有可能做到吗?
-
如果是这样,我如何使用
scipy
或sklearn
在 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(。
但是,如果您希望两者都为真,则无法通过缩放来完成。