归一化函数mapminmax的讨论

一、基本用法

[y,ps] = mapminmax(x,ymin,ymax)       % 这里如果不指定 ymin,ymax,则ymin默认为-1,ymax默认为1。

mapminmax(data)                默认归一化范围为[-1,1],且对每一做归一化。一定记住是对行进行归一化!!!


二、归一化的讨论

参考:http://www.ilovematlab.cn/thread-63766-1-1.html

问题一:

在智能算法程序实现中中,原始数据应当对每一个属性(维度进行归一化)即应当使数据集data中行代表属性,列代表样本数据个数。而数据读取函数textread、xlsread均根据数据集进行按列读取,因此,我们必须在归一化时注意是否需要转置。

 

问题二:

常用形式:

[inputtrain,setting] = mapminmax(input_train');

inputtest = mapminmax('apply',input_test',setting);

 

这两句命令代表将Input_text按input_train的归一化规则进行归一化,但是前提必须是input_test中的数据必须在inout_train数据的最小值和最大值之间

两种观点:

一种是将数据集与测试集放在一起进行归一化;另一种是不用在意测试集的最值,因为实际中测试数据本身就是不确定的,正好可以检测模型的诊断/预测能力。个人倾向于后者。具体情况还要具体对待


note:

BP神经网络中,newff函数使用的数据m行n列,行代表数据属性值,列代表数据样本的个数。

libSVM中,各函数使用的矩阵m行n列比如880X6,行代表数据样本的个数,列代表数据的属性值。两者正好相反。






  • 11
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: matlab归一化函数mapminmax是一种常用的数据预处理方法,它可以将数据缩放到指定的范围内,通常是[,1]或[-1,1]。该函数可以应用于单个向量或矩阵,可以对每一列或每一行进行归一化处理。使用该函数可以有效地提高数据的可视化效果和模型的训练效果。 ### 回答2: MATLAB中的归一化函数mapminmax是一个非常有用的函数,它可以将一个数组的数据映射至指定的区间内。该函数能够将输入矩阵的值域缩放至指定的范围内,如[0,1]或[-1,1]等,从而使得数据归一化后更容易被处理和分析。 该函数是基于最大最小值进行归一化的,通过将输入矩阵中的最小值设置为指定范围内的最小值,将最大值设置为指定范围内的最大值,从而将数据缩放至指定范围内。具体的归一化公式为: y = (x-min(x))/(max(x)-min(x))*(ymax-ymin)+ymin 其中x表示输入矩阵的元素,min(x)和max(x)分别为输入矩阵的最小值和最大值,ymin和ymax分别为指定的最小值和最大值,y则为归一化后的输出矩阵。 使用mapminmax函数时,可以使用默认参数(即归一化至[0,1]区间内),也可以指定自己所需的最小值和最大值。例如,当将数据归一化至[-1,1]区间时,可以使用以下代码: x = [1 2 3; 4 5 6; 7 8 9]; [y,settings] = mapminmax(x,-1,1); 其中settings是一个结构体,包含: settings.min归一化所使用的最小值 settings.max归一化所使用的最大值 settings.gain:缩放因子,即原始数据与归一化后数据之间的比例 归一化操作对于许多机器学习算法和模型来说都是非常重要的预处理步骤。通过使用mapminmax函数,我们可以轻松将数据归一化至指定范围内,减小不同特征之间的数值差异,提高模型的性能和准确度。 ### 回答3: Matlab是一款常用的数学软件,其中有一个归一化函数叫做mapminmax。该函数可以对数据进行线性归一化,将数据范围缩放到[0, 1]之间。输入为原始数据向量,输出为归一化后的数据向量。该函数具有以下参数: 1. data:表示输入的原始数据向量。 2. ymin和ymax:表示数据的上下限值,通过设置这两个参数,可以将数据范围缩放到任意值之间,而不是[0,1]。 3. ynewmin和ynewmax:表示输出数据的范围,缺省值为[0,1]。 该函数使用的归一化公式如下: 归一化数据 = (原始数据 - 最小值) / (最大值 - 最小值) * (ynewmax - ynewmin) + ynewmin 其中,最小值和最大值为原始数据中的最小值和最大值。 使用mapminmax函数进行归一化的好处有几个: 1. 可以将数据范围缩放到[0, 1]之间,方便进行后续处理; 2. 可以缩短不同属性之间的差异,使各属性的权重更加平等; 3. 可以消除数据之间的量纲和单位的差别,从而更直观地进行数据分析。 总之,mapminmax函数是Matlab中非常实用的归一化函数,可以方便地将数据范围缩放到指定范围内,便于数学计算和数据分析。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值