【云计算】3种数据归一化方法及代码实现
小标 2019-02-25 来源 : 阅读 753 评论 0

摘要:本文主要向大家介绍了【云计算】3种数据归一化方法及代码实现,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】3种数据归一化方法及代码实现,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

【云计算】3种数据归一化方法及代码实现

学习数据挖掘、机器学习的同学们应该经常碰到数据归一化(也称标准化),数据的不同特征种类(评价指标)的取值范围差别可能很大,如果不做处理会影响数据分析的结果。因此需要把数据进行标准化处理,将数据进行比例缩放,以消除不同特征间量纲和取值范围差异带来的影响。


数据归一化处理对基于距离的数据挖掘算法尤为重要。下面就简要介绍3种常用的数据归一化方法。


1、最大最小归一化


该方法也称离差标准化,其核心思想是把原始数据的数值线性变换到[0,1]之间,公式如下:


其中,max、min分别为样本数据的最大值、最小值。


优点:保留源数据存在的关系,消除取值范围最简单的方法;


缺点:极易受个别离群值影响,如果数据集中某个数值很大,其他各值归一化后会接近0;此外,如果遇到超出[min,max]的值,会出现错误。


2、零-均值归一化


也称标准差归一化,顾名思义,经处理的数据的均值为0,标准差为1,公式如下:


其中,、σ分别为源数据的均值、标准差。


该方法被广泛使用,但均值和标准差也一样易受离群值影响,因此需要进行修正,比如:可用中位数取代均值进行上述计算。


3、小数定标规范化


该方法是通过移动特征数据的小数位数,将其转换到[-1,1]之间,移动的小数位由特征值绝对值的最大值决定,公式如下:


下面来看看3种方法的代码实现:


%读入数据
data='../input/normalizationData.xls';
[data, ~]=xlsread(data);

%方法一:最大最小归一化
data_scatter = mapminmax(data',0,1);  %把数据进行转置
data_scatter = data_scatter';

%方法二:零-均值归一化
data_zscore = zscore(data);

%方法三:小数定标归一化
max_ = max(abs(data));
max_ = power(10, ceil(log10(max_)));
cols = size(max_, 2);
data_dot = data;
for i = 1:cols
     data_dot(:,i) = data(:,i)/max_(1,i);
end

%打印输出结果
disp('源数据如下:');
disp(data);

disp('最大最小归一化结果如下:');
disp(data_scatter);

disp('零-均值归一化结果如下:');
disp(data_zscore);

disp('小数定标归一化结果如下:');
disp(data_dot);


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程