首页 > 编程知识 正文

信息系统归一化公式,python如何对数据进行归一化

时间:2023-05-03 13:12:37 阅读:173443 作者:3990

数据归一化问题是数据挖掘中特征向量表示的关键问题,在不同特征排列的情况下,由于特征本身的表示方式不同,绝对值上的小数据有时会被大数据“吞噬”。 在这种情况下,需要对提取的features vector进行归一化处理,使各特征由分类器平等对待。 描述一些常见的标准化方法,并提供相应的python实现。 实际上很简单。

1,0,1 )标准化:

这是最简单容易想到的方法,通过遍历feature vector内的所有数据进行Max和Min的记录,以Max-Min为基数(即Min=0,Max=1)进行数据的归一化处理。

latex:{ x } _ { normalization }=frac { x-min } { max-min }

Python实现:

efMaxMinnormalization(x,max,min ) :

x=(x-min )/)/(Max - Min );

返回x;

寻找大小的方法直接使用np.max (和np.min )即可。 除非您喜欢在List中管理数字,否则请勿使用python中内置的max ) )和min ) )。

2、Z-score标准化:

该方法给出原始数据的均值(均值)和标准差(标准差),进行数据标准化。 处理的数据符合标准正态分布:平均值为0,标准偏差为1。 这里重要的是复合标准正态分布。 我个人认为,在一定程度上改变了特征的分布。 关于使用经验欢迎讨论。 我对这个标准化不太了解。 转换函数如下所示:

latex:{ x } _ { normalization }=frac { x- mu } {sigma }

Python实现:

defz_scorenormalization(x,mu,sigma ) :

x=(x-mu )/sigma;

返回x;

这里也可以使用mu (即平均值)为np.average )、sigma (即标准偏差)为np.std ) )。

3、Sigmoid函数

Sigmoid函数是具有s形曲线的函数,是良好的阈值函数。 (0,0.5 )呈中心对称,(0,0.5 )附近具有较大的倾斜,但数据趋向正无限和负无限时,拍摄的值无限地趋向1和0。 我个人认为用最喜欢的“规范化方法”引号括起来是因为Sigmoid函数在阈值分割方面也很好。 可以通过改变表达式来改变分割阈值。 在此,作为标准化方法,仅考虑以(0,0.5 )为分割阈值的点的情况:

latex:{ x } _ { normalization }=frac {1} { e } ^ {-x }

Python实现:

defsigmoid(x,useStatus ) :

if useStatus:

return1.0/(1NP.exp(-float ) ) x );

else:

返回浮点(x;

这里管理useStatus是否使用sigmoid的状态,便于调试和使用。

函数的基本性质:

定义域:“,”“,”值域:“1,1”“1,1”“函数可以在定义域内用连续光滑的函数在任何地方导出,导数为f((x )=f ) (x ) ) (1f ) (x )。 最初阶段大致呈指数增长; 随着它开始饱和,它的增加会变慢。最后,当它达到成熟时,它就会停止增加。

二、Sigmoid函数和逻辑回归Sigmoid函数之所以叫Sigmoid,是因为函数的图像想加上字母s。 该函数是一个有趣的函数,可以从图像中观察到一些直观的特性。 函数的可取值在0-1之间,且围绕0.5对称,越接近x=0,可取值的斜率越大。

机器学习中重要的预测模型的逻辑回归(LR )是基于Sigmoid函数实现的。 LR模型的主要任务是给出几个历史{X,Y},其中x是样本的n个特征值,y的取值{ 0,1 }表示正例和负例,通过学习这些历史样本可以获得数学模型,并给出新的LR模型是针对x预测其发生或不发生的二分类模型。 但实际上,发生一个事件时,往往得不到100%的预测,所以LR可以得到发生一个事件的可能性,超过50%则认为发生了事件,不足50%则认为不发生事件

从LR的目的来看,选择函数时需要满足两个条件。

1 .取值范围在0~1之间。

2 .对于一个事件的发生情况,50%是结果的分水岭,选择函数应以0.5中心对称。

根据这两个条件,Sigmoid很好地满足了LR的需要。 对于逻辑回归的具体实现和相关问题,可以看到本文的逻辑函数(sigmoid函数)-Wenjun’s blog,在此省略说明。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。