数据标准化

一 、Z-Score 标准化

公式:$ \frac{x - x.mean}{x.std}$

即:将数据按其属性(列)减去对应属性的均值,再除以方差

【得到的结果对于每个属性(列)来说所有数据都聚集在 $ \color{red}{0} $ 附近,方差为 $ \color{red}{1} $ 】

  • 使用sklearn.preprocessing()
from sklearn import preprocessing
scaled = preprocessing.scale(data)
  • 使用sklearn.preprocessing.StandardScaler类

使用该类可以保存训练集中的参数(均值,方差),可以直接使用其对象转换测试集数据

from sklearn.preprocessing import StandardScaler
scaler = StandradScaler().fit(train_data)
# 查看数据的均值
# scaler.mean_
# 查看数据的方差
# scaler.std_
# 直接对测试集进行转换
scaler.transform(test_data)

二 、0-1 标准化

也叫离差标准化,是对原始数据进行线性变换,使其结果落在[0,1]区间内

公式:$ \tilde{a} = \frac{x-x.min}{x.max-x.min} $

  • 可以通过sklearn.preprocessing.MinMaxScaler类实现
from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()
train_scaled = min_max_scaler.fit_transform(train_data)
# 同样的缩放应用到测试集数据中
test_scaled = min_max_scaler.transform(test_data)
# 查看缩放因子
# min_max_scaler.scale_

三 、正态分布化(Normalization)

Normalization用来将各个样本归一化为norm为1的正态分布。

  • 该方法是 $ \color{red}{文本分类} $ 和 $ \color{red}{聚类分析} $ 中经常使用的向量空间模型(SVM)的基础
  • Normalization 主要思想是对每个样本计算其p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后的样本的p-范数等于1
  • sklearn.preprocessing.normalize()
from sklearn.preprocessing import normalize
data_normalized = normalize(data,norm = 'l2')
# data_normalized = normalize(data,norm = 'l1')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 据的标准化(normalization)是将数据按照一定规则缩放,使之落入一个小的特定区间。这样去除数据的单位限制...
    rol_ling阅读 3,971评论 0 0
  • 什么是数据标准化 我们平时分析一个指标的时候,或者对比数据的时候可能都有单位,比如身高(cm),体重(Kg),如果...
    橘猫吃不胖阅读 7,654评论 0 52
  • #极大极小值处理标准化 import pandas data = pandas.read_csv( 'D:\\PD...
    正在充电Loading阅读 2,593评论 0 0
  • 什么是数据标准化(归一化) 数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲...
    繁著阅读 23,425评论 0 11
  • Python版本:3.5数学公式编辑器:MathType 标准分数 标准分数(Standard Score,又称z...
    c9af2eadd50d阅读 13,784评论 0 3

友情链接更多精彩内容