“min-max 标准化”是数据标准化的常用方法,是对原始数据进行线性变换, 将一个数据的原始值通过变换后映射成在区间[0,1]中的值。其公式为:新数据 =(原数据-最小值)/(最大值-最小值) 试编程,输入一组整型数据,并将这些数据进行 min-max 标准化后输出
时间: 2024-10-04 14:03:29 浏览: 55
"Min-Max 标准化"是一种常见的数据预处理技术,用于将数值数据缩放到一个固定的范围内,如 [0, 1] 或 [-1, 1]。根据您给出的公式,我们可以编写一个简单的 C++ 程序来实现这个功能。这里是一个示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 包含 min 和 max 函数
void minMaxNormalization(const std::vector<int>& data, double& minValue, double& maxValue) {
// 找到数据范围内的最小值和最大值
minValue = *std::min_element(data.begin(), data.end());
maxValue = *std::max_element(data.begin(), data.end());
// 对每个数据点应用 min-max 标准化
for (int value : data) {
double normalizedValue = static_cast<double>(value - minValue) / (maxValue - minValue);
std::cout << normalizedValue << " ";
}
}
int main() {
std::vector<int> inputData {10, 20, 30, 40, 50}; // 假设这是您的输入数据
double minValue, maxValue;
// 进行标准化并打印结果
minMaxNormalization(inputData, minValue, maxValue);
return 0;
}
```
在这个程序中,我们首先找到数据集中的最小值和最大值,然后遍历数据,对每个元素执行标准化操作。`static_cast<double>` 是为了确保计算过程中得到的是浮点数,防止整数除法导致精度丢失。
当你运行这个程序时,它会接收输入数据(这里是 `{10, 20, 30, 40, 50}`),并输出标准化后的结果。如果你有特定的数据集想要测试,请替换 `inputData` 中的内容。
阅读全文
相关推荐


















