数据的归一化处理

article/2025/8/15 18:25:30

数据归一化问题是数据挖掘中特征向量表达时的重要问题,当不同的特征成列在一起的时候,由于特征本身表达方式的原因而导致在绝对数值上的小数据被大数据“吃掉”的情况,这个时候我们需要做的就是对抽取出来的features vector进行归一化处理,以保证每个特征被分类器平等对待。下面我描述几种常见的Normalization Method,并提供相应的python实现(其实很简单):

1、(0,1)标准化:

这是最简单也是最容易想到的方法,通过遍历feature vector里的每一个数据,将Max和Min的记录下来,并通过Max-Min作为基数(即Min=0,Max=1)进行数据的归一化处理:

 

LaTex:{x}_{normalization}=\frac{x-Min}{Max-Min}

Python实现:

 
  1. def MaxMinNormalization(x,Max,Min):

  2.  
  3.     x = (x - Min) / (Max - Min);

  4.  
  5.     return x;

找大小的方法直接用np.max()和np.min()就行了,尽量不要用python内建的max()和min(),除非你喜欢用List管理数字。

 

2、Z-score标准化:

这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,这里的关键在于复合标准正态分布,个人认为在一定程度上改变了特征的分布,关于使用经验上欢迎讨论,我对这种标准化不是非常地熟悉,转化函数为:

 

LaTex:{x}_{normalization}=\frac{x-\mu }{\sigma }

Python实现:

 
  1. def  Z_ScoreNormalization(x,mu,sigma):

  2.  
  3.     x = (x - mu) / sigma;

  4.  
  5.     return 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}{1+{e}^{-x}}

Python实现:

  1. def sigmoid(X,useStatus):

  2.  
  3.     if useStatus:

  4.  
  5.         return 1.0 / (1 + np.exp(-float(X)));

  6.  
  7.     else:

  8.  
  9.         return float(X);

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

函数的基本性质:

  1. 定义域:(−∞,+∞)(−∞,+∞)
  2. 值域:(−1,1)(−1,1)
  3. 函数在定义域内为连续和光滑函数
  4. 处处可导,导数为:f′(x)=f(x)(1−f(x))f′(x)=f(x)(1−f(x))

最早Logistic函数是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系时命名的。广义Logistic曲线可以模仿一些情况人口增长(P)的 S 形曲线。起初阶段大致是指数增长;然后随着开始变得饱和,增加变慢;最后,达到成熟时增加停止。

二、 Sigmoid函数与逻辑回归

Sigmoid函数之所以叫Sigmoid,是因为函数的图像很想一个字母S。这个函数是一个很有意思的函数,从图像上我们可以观察到一些直观的特性:函数的取值在0-1之间,且在0.5处为中心对称,并且越靠近x=0的取值斜率越大。

机器学习中一个重要的预测模型逻辑回归(LR)就是基于Sigmoid函数实现的。LR模型的主要任务是给定一些历史的{X,Y},其中X是样本n个特征值,Y的取值是{0,1}代表正例与负例,通过对这些历史样本的学习,从而得到一个数学模型,给定一个新的X,能够预测出Y。LR模型是一个二分类模型,即对于一个X,预测其发生或不发生。但事实上,对于一个事件发生的情况,往往不能得到100%的预测,因此LR可以得到一个事件发生的可能性,超过50%则认为事件发生,低于50%则认为事件不发生

从LR的目的上来看,在选择函数时,有两个条件是必须要满足的:
1. 取值范围在0~1之间。
2. 对于一个事件发生情况,50%是其结果的分水岭,选择函数应该在0.5中心对称。

从这两个条件来看,Sigmoid很好的符合了LR的需求。关于逻辑回归的具体实现与相关问题,可看这篇文章Logistic函数(sigmoid函数) - wenjun’s blog,在此不再赘述。


http://chatgpt.dhexx.cn/article/IyG0rgUs.shtml

相关文章

机器学习之归一化处理

1.使用随机森林或PCA等算法进行数据的降维处理 减少无关的维度测算 2.统计错误率,精确率,召回率 修正维度测算的准确率 3.归一化处理 保留所有的特征,但是减少参数的大小(或者是说:减少参数的重要性)为了…

数据归一化处理transforms.Normalize()

数据归一化处理transforms.Normalize() 1. 图像预处理Transforms(主要讲解数据标准化) 1.1 理解torchvision transforms属于torchvision模块的方法,它是常见的图像预处理的方法 在这里贴上别人整理的transforms运行机制&#x…

数据处理方法:归一化与标准化处理

在数据挖掘中,在建模前需要对数据进行预处理,预处理方法包括归一化与标准化,对数据进行缩放。 1.归一化(Normalization) 将数据缩放到0-1之间线性(常用)归一化:最大最小值归一化&a…

【python学习】数据预处理-如何归一化?

作者:代码律动 链接:数据预处理的归一化手段应该如何应用到训练集,测试集和验证集中? - 知乎 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作者:Orginal 链…

一文速学-数据预处理归一化详细解释

目录 一、为何要进行数据预处理? 二、数据标准化 1.归一化的目标 2.归一化的优点 3.哪些算法并不需要归一化 三、数据归一化方法 1.min-max标准化 2.Z-score标准化 3.Sigmoid函数: 总结 一、为何要进行数据预处理? 1.任何收集而来…

机器学习中的特征工程

机器学习中的特征工程 什么是特征工程 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限。 构…

【特征工程】特征衍生+案例

问:特征衍生上千、万的变量,是怎么做的? 问:大家是如何衍生出成千上万个变量的?衍生变量是怎么生成的? 研习社-上海-桂浩: 请教一个问题,大家是如何衍生出成千上万个变量的?衍生变量…

细说:特征工程 - Feature Engineering

转载至http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/ 先来一张思维导图: 坊间常说:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。由此可见,特征工程在机器学习中占有相当重要…

机器学习——特征工程

目录 特征工程 特征构造 特征选择 特征提取 模拟训练 训练数据收集方法 特征工程 特征工程就是一个从原始数据提取特征的过程,这些特征可以很好地描述这些数据,并且利用它们建立的模型在未知数据上的性能可以达到最优,最大限度减少“垃…

特征工程文章收集

1. 离散特征编码方法 数据预处理:离散特征编码方法_快乐小码农的博客-CSDN博客_离散特征编码文章目录数据预处理:离散特征编码方法无监督方法:1.序号编码OrdinalEncoder2.独热编码OneHotEncoder3.二进制编码BinaryEncoder4.计数编码CountEnco…

2022年Python自动化特征工程框架

💡 作者:韩信子ShowMeAI 📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41 📘 本文地址:https://www.showmeai.tech/article-detail/328 📢 声明:版权所有,转…

数据的特征工程

数据的特征工程 1.特征工程是什么 特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性 2.特征工程的意义 更好的特征意味着更强的鲁棒性 更好的特征意味着只需用简单模型 更好的特征意味着更好的结果 3.…

机器学习中的特征建模(特征工程)和算法选型建模 - 以暴力破解识别为例

catalogue 1. 特征工程是什么?有什么作用? 2. 特征获取方案 - 如何获取这些特征? 3. 特征观察 - 运用各种统计工具、图标等工具帮助我们从直观和精确层面认识特征中的概率分布 4. 特征处理 - 特征清洗 5. 特征护理 - 特征预处理 6. 特征处理 …

机器学习之特征工程

机器学习之特征工程 转载自: 点击打开链接 在这个振奋人心的程序员节日里,我决定认真地写一篇文章来纪念一下自己这长达六年程序员史。o(╯□╰)o 本文是一篇关于特征工程的总结类文章,如有不足之处或理解有偏差的地方,还望多多指…

Python机器学习—特征工程

文章目录 1、数据集1.1 可用数据集1.2 scikit-learn数据集sklearn小数据集sklearn大数据集 1.3 数据集的划分数据集划分API 2.特征工程2.1特征工程包含内容 3.特征提取3.1字典特征提取3.2 文本特征提取3.3中文文本特征提取3.4 Tf-idf文本特征提取公式 4.特征预处理4.1 归一化4.…

特征工程全过程

文章目录 简介数据预处理 无量纲化 标准化区间缩放法标准化与归一化的区别对定量特征二值化对定性特征哑编码缺失值计算数据变换回顾特征选择 Filter 方差选择法相关系数法卡方检验互信息法Wrapper 递归特征消除法Embedded 基于惩罚项的特征选择法基于树模型的特征选择法总结降…

特征工程与自动特征工程

目录 1. 什么是特征工程 2. 什么是自动特征工程 2.1 自动方法有哪些 3. 文献说明 4、参考文献 1. 什么是特征工程 特征工程,是指用一系列工程化的方式从原始数据中提取出更好的数据特征,以提升模型的训练效果。特征工程是机器学习中不可或缺的一部…

特征工程常用方法

特征工程 ●特征(feature) :数据中抽取出来的对结果预测有用的信息。 ●特征的个数就是数据的观测维度 ●特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程, ●特征工程一般包括特征清…

特征工程——文本特征

目录 文本特征 1.expansion编码 2.consolidation编码 3.文本长度特征 4.标点符号特征 5.词汇属性特征 6.特殊词汇特征 7.词频特征 8.TF-IDF特征 9.LDA特征 注意: 1. 本系列所有的文章主要是梯度提升树模型展开的,抽取的特征主要为帮助梯度提升…

时间序列特征工程

关注微信公众号“时序人”获取更好的阅读体验 时间序列知识整理系列 时间序列统计分析时间序列聚类时间序列预测时间序列回归时间序列特征工程时间序列补缺时间序列异常检测 前几次的文章分享,我们了解了时间序列分析的基础方法以及预测方法。但在使用这些方法一般…