想知道怎么用matlab做数据的无量纲化?

 我来答
等等等等mery

2021-03-25 · TA获得超过6355个赞
知道大有可为答主
回答量:3.2万
采纳率:47%
帮助的人:1058万
展开全部
1. min-max归一化

   该方法是对原始数据进行线性变换,将其映射到[0,1]之间,该方法也被称为离差标准化(但是请注意,网上更多人喜欢把z-score称为标准化方法,把min-max称为归一化方法,然后在此基础上,强行给标准化(z-score)与归一化(min-max)划条界线,以显示二者之间的相异性。对!二者之间确实有很大的不同,这个我们后面会有介绍,但是这两个方法说到底还都是用来去除量纲的,都是无量纲化技术中的一员而已,所以,请不要纠结标准化与归一化这两个概念了)。

                          

   上式中,min是样本的最小值,max是样本的最大值。由于最大值与最小值可能是动态变化的,同时也非常容易受噪声(异常点、离群点)影响,因此一般适合小数据的场景。此外,该方法还有两点好处:

   1) 如果某属性/特征的方差很小,如身高:np.array([[1.70],[1.71],[1.72],[1.70],[1.73]]),实际5条数据在身高这个特征上是有差异的,但是却很微弱,这样不利于模型的学习,进行min-max归一化后为:array([[ 0. ], [ 0.33333333], [ 0.66666667], [ 0. ], [ 1. ]]),相当于放大了差异;

   2) 维持稀疏矩阵中为0的条目。

   使用方法如下:

from sklearn.preprocessing import MinMaxScaler
x = np.array([[1,-1,2],[2,0,0],[0,1,-1]])
x1 = MinMaxScaler().fit_transform(x)
多瑙的莱茵
推荐于2017-12-15 · 知道合伙人教育行家
多瑙的莱茵
知道合伙人教育行家
采纳数:113 获赞数:20021
2015年毕业于河海大学岩土工程专业、2015年在河海大学继续读研究生。

向TA提问 私信TA
展开全部
在matlab中可以用函数zscore对数据矩阵进行无量纲化。
假设在matlab中输入矩阵x,输入函数y=zscore(x)即可对该矩阵进行无量纲化。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幽兰书生823
2012-08-20 · TA获得超过1048个赞
知道小有建树答主
回答量:301
采纳率:100%
帮助的人:258万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式