写一个数据集最大最小✖️数再加数归一化再反归一化的Matlab 程序
时间: 2023-10-25 15:15:19 浏览: 107
这里提供一个简单的 Matlab 程序,将数据集进行最大最小缩放,并进行数值归一化和反归一化。
```Matlab
% 假设原始数据矩阵为 data,其中每一行是一个样本
% 可以先对每列求最大值和最小值,得到最大最小值向量 max_vals 和 min_vals
max_vals = max(data);
min_vals = min(data);
% 对原始数据进行最大最小缩放
scaled_data = (data - min_vals) ./ (max_vals - min_vals);
% 对最大最小缩放后的数据进行数值归一化
normalized_data = (scaled_data - mean(scaled_data)) ./ std(scaled_data);
% 对数值归一化后的数据进行反归一化
unscaled_data = normalized_data .* std(scaled_data) + mean(scaled_data);
unscaled_data = unscaled_data .* (max_vals - min_vals) + min_vals;
```
在上述程序中,最大最小缩放使用了 Matlab 中的矩阵运算,将每个样本的每个特征都进行了缩放。数值归一化和反归一化也使用了矩阵运算,对每个样本的每个特征都进行了操作,保证了程序的简洁性和可读性。
阅读全文