matlab程序的归一化问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab程序的归一化问题相关的知识,希望对你有一定的参考价值。

% 提取数据
[m,n] = size(sh);
ts = sh(2:m,1);
tsx = sh(1:m-1,:);
% 数据预处理,将原始数据进行归一化
ts = ts';
tsx = tsx';

% mapminmax为matlab自带的映射函数
% 对ts进行归一化
[TS,TSps] = mapminmax(ts,1,2);

% 对TS进行转置,以符合libsvm工具箱的数据格式要求
TS = TS';

% 对tsx进行归一化
[TSX,TSXps] = mapminmax(tsx,1,2);
% 对TSX进行转置,以符合libsvm工具箱的数据格式要求
TSX = TSX';
---------------
请问这个程序前面已经有
ts = ts';
tsx = tsx';
这一步了,下面为什么要重复做TS = TS';TSX = TSX'; ?大小写有什么区别么?

matlab大小写表示的变量不同 参考技术A Matlab里是区分大小写的,所以程序并没有重复操作的问题

分类变量的归一化

【中文标题】分类变量的归一化【英文标题】:normalization of categorical variable 【发布时间】:2019-01-24 02:48:29 【问题描述】:

我有一个数据集,其中包含男性和女性的性别。我使用现在数据类型为 int8 的 pandas 功能将男性转换为 1,将女性转换为 0。现在我想标准化列,例如重量和高度。那么应该对性别列做什么:是否应该对其进行规范化。我打算将它用于线性回归。

【问题讨论】:

【参考方案1】:

所以我认为您将标准化与标准化混为一谈。

归一化:

将您的数据重新缩放到 [0;1] 的范围内

标准化:

重新调整您的数据,使其平均值为 0,标准差为 1。

回到你的问题:

对于您的性别列,您的分数已经介于 0 和 1 之间。因此,您的数据已经“标准化”。所以你的问题应该是你是否可以标准化你的数据,答案是:是的,你可以,但这没有任何意义。这个问题已经在这里讨论过:Should you ever standardise binary variables?

【讨论】:

我阅读了交叉验证的答案,但无法理解。我正在使用 scikit-learn 的线性回归,请具体告诉我在我的情况下我应该做什么。我的意思是我应该标准化它与否。以及它对 rmse 的影响。 答案是你不应该标准化你的性别栏 如果有更多类别呢?

以上是关于matlab程序的归一化问题的主要内容,如果未能解决你的问题,请参考以下文章

模式识别 - 特征归一化 及 測试 代码(Matlab)

MATLAB中神经网络建模中的归一化和非归一化

关于用matlab进行向量归一化的问题

matlab中怎样将矩阵归一化处理?

matlab中啥叫归一化坐标

matlab 矩阵怎么归一化