归一化函数mapminmax的讨论

本文详细介绍了mapminmax函数的基本用法及注意事项,探讨了在智能算法程序实现中如何正确应用该函数进行数据归一化处理,特别是针对不同场景下输入训练集与测试集的数据处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本用法

[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,行代表数据样本的个数,列代表数据的属性值。两者正好相反。






评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值