用最大最小标准化方法对疲劳指标进行归一化,根据可靠性不同设置权重的代码
时间: 2024-02-19 21:58:11 浏览: 30
以下是用最大最小标准化方法对疲劳指标进行归一化,并根据可靠性不同设置权重的Python代码示例:
``` python
import numpy as np
# 假设有3个疲劳指标,分别是x1、x2、x3
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([10, 20, 30, 40, 50])
x3 = np.array([100, 200, 300, 400, 500])
# 对疲劳指标进行最大最小标准化
x1_norm = (x1 - x1.min()) / (x1.max() - x1.min())
x2_norm = (x2 - x2.min()) / (x2.max() - x2.min())
x3_norm = (x3 - x3.min()) / (x3.max() - x3.min())
# 假设可靠性分别为0.7、0.8、0.9,根据可靠性不同设置权重
w1 = 0.7
w2 = 0.8
w3 = 0.9
# 计算加权和
weighted_sum = w1 * x1_norm + w2 * x2_norm + w3 * x3_norm
# 输出加权和
print(weighted_sum)
```
其中,`x1_norm`、`x2_norm`、`x3_norm`分别是进行最大最小标准化后的疲劳指标,`w1`、`w2`、`w3`分别是可靠性权重,`weighted_sum`是加权和。根据不同的可靠性,可以设置不同的权重,以更准确地反映疲劳指标的重要程度。
相关问题
对数据进行最大最小归一化处理和还原的完整过程,请写一个代码实例。
好的,以下是一个完整的 Python 代码实例,包括对数据进行最大最小归一化处理和还原:
```python
import numpy as np
# 原始数据集,假设为 data
data = np.array([10, 20, 30, 40, 50])
# 进行最大最小归一化处理
max_val = np.max(data)
min_val = np.min(data)
data_norm = (data - min_val) / (max_val - min_val)
# 输出归一化后的数据集
print("归一化后的数据集:", data_norm)
# 进行还原
data_restore = data_norm * (max_val - min_val) + min_val
# 输出还原后的数据集
print("还原后的数据集:", data_restore)
```
运行以上代码,输出结果为:
```
归一化后的数据集: [0. 0.25 0.5 0.75 1. ]
还原后的数据集: [10. 20. 30. 40. 50.]
```
可以看到,经过归一化处理和还原后,数据集回到了原来的范围。
介绍:最小最大归一化,标准差归一化,零均值归一化,小数定标归一化
最小最大归一化、标准差归一化、零均值归一化和小数定标归一化都是常见的数据预处理方法,用于将数据缩放到合适的范围内,以提高模型的训练效果和预测准确率。
最小最大归一化将数据按照一定比例缩放到[0,1]之间,公式为:
$$x'=\frac{x-min}{max-min}$$
标准差归一化将数据缩放到均值为0,方差为1的正态分布中,公式为:
$$x'=\frac{x-\mu}{\sigma}$$
零均值归一化将数据按照一定比例缩放到[-1,1]之间,公式为:
$$x'=\frac{x-\mu}{max-min}$$
小数定标归一化将数据缩放到[-1,1]之间,并且缩放比例是固定的10的幂次方,公式为:
$$x'=\frac{x}{10^j}$$
其中,j是使得所有数据的整数部分都在[-1,1]之间的最小整数。