最小-最大缩放函数是一种常用的数据预处理方法,可以将数值特征缩放到指定的范围内。下面是一个Python的示例代码,演示如何编写最小-最大缩放函数:
import numpy as np
def min_max_scale(feature, min_val, max_val):
"""
最小-最大缩放函数
:param feature: 待缩放的特征,可以是一维数组或列表
:param min_val: 目标范围的最小值
:param max_val: 目标范围的最大值
:return: 缩放后的特征
"""
feature = np.array(feature) # 将输入转换为numpy数组
min_feature = np.min(feature) # 特征的最小值
max_feature = np.max(feature) # 特征的最大值
scaled_feature = (feature - min_feature) / (max_feature - min_feature) # 缩放后的特征
scaled_feature = scaled_feature * (max_val - min_val) + min_val # 将特征缩放到目标范围内
return scaled_feature
使用示例:
feature = [1, 2, 3, 4, 5]
scaled_feature = min_max_scale(feature, 0, 1)
print(scaled_feature)
运行结果:
[0. 0.25 0.5 0.75 1.]
上述代码中,首先将输入特征转换为numpy数组,然后计算特征的最小值和最大值。接下来,使用最小-最大缩放公式将特征缩放到目标范围内。最后,将缩放后的特征返回。