tanh-estimator PYTHON中的标准化

时间:2017-03-28 05:17:06

标签: python normalization

有人知道如何在python中实现tanh-estimator吗?我有一个不遵循高斯分布的数字列表。我想使用tanh-estimator作为预处理步骤,但我不知道如何在python中实现它,因为没有像MinMaxScaler()那样的定义函数。

提前致谢

2 个答案:

答案 0 :(得分:3)

我遵循了L.Latha和S.Thangasamy撰写的“多模式生物特征评分标准化的有效方法”(2011)。您可以查看here

他们提出了一个修改版本,通过使用分数的均值和标准偏差来避免Hampel估计的复杂性。

公式是: tanh s'= 0.5 [tanh(0.01(s-μ)/σ+ 1]

使用numpy你可以使用:

  • np.mean()表示μ
  • np.std()表示σ
  • np.tanh()用于tanh函数

答案 1 :(得分:2)

有一个 @UrbanoFonseca answer的示例:

import numpy as np

unnormalizedData = np.array([[15, 60], [5, 15], [45, 0], [0, 30]], dtype=np.float64)

m = np.mean(unnormalizedData, axis=0) # array([16.25, 26.25])
std = np.std(unnormalizedData, axis=0) # array([17.45530005, 22.18529919])

data = 0.5 * (np.tanh(0.01 * ((unnormalizedData - m) / std)) + 1)
#array([[0.49712291, 0.5076058 ],
#       [0.49711136, 0.49746456],
#       [0.50865938, 0.4940842 ],
#       [0.49710558, 0.50084515]])

请注意,此代码实现了有效的多模态生物特征分数归一化方法,2011

中提出的修改后的tanh估计量

在原始版本中,均值和标准差由Hampel估算器估算(稳健统计:基于影响函数的方法,1986年)

相关问题