规范化两个数组,第二个数组是规范化第一个数组的基础

Normalize two arrays with second array the base for normalizing first array

为了找到 Pareto 前沿的质量指标,如世代距离、反向世代距离、Epsilon 指标和 HyperVolume,我想对基于我假设的参考前沿求解算法时获得的近似前沿值进行归一化包含近似前沿。

reference_front = np.array([[0.5, 2.0], [1, 1.0], [1.2, 0.833], [2.3, 0.435], [3, 0.333]])
approximation_front = np.array([[0.8, 2.5], [1.0, 2.0], [2.1, 0.952], [2.8, 0.714]])
reference_point = [max(approximation_front[:,0]),max(approximation_front[:,0])]

我已经使用下面的代码进行标准化。但是,一次只针对一个数组

from sklearn.preprocessing import MinMaxScaler
    min_max_scaler = MinMaxScaler()
reference_front_norm = min_max_scaler.fit_transform(reference_front)
approximation_front_norm = min_max_scaler.fit_transform(approximation_front)
reference_point = [max(approximation_front[:,0]),max(approximation_front[:,0])]

这里分别对近似前沿和参考前沿进行归一化。我们能否根据参考前沿的最大值和最小值将近似前沿归一化为 0 到 1。

应用fit_transform后,您可以简单地使用transform。这将使用 fit_transform 调用中的 'fit'。你的情况

reference_front_norm = min_max_scaler.fit_transform(reference_front)
approximation_front_norm = min_max_scaler.transform(approximation_front)