代码之家  ›  专栏  ›  技术社区  ›  Kenny Barker

基于数据集VB的非规范化值。净额

  •  2
  • Kenny Barker  · 技术社区  · 7 年前

    Public Function NormalizeData(values As Double()) As Double()
        Dim min = values.Min
        Dim max = values.Max
        Return values.Select(Function(val) 2 * (val - min) / (max - min) - 1).ToArray
    End Function
    

    我将如何基于该数据集对值进行反规范化:

    Public Function DeNormalizeData(baseData As Double(), value As Double) As Double
            Dim min = baseData.Min
            Dim max = baseData.Max
            Return '??
    End Function
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   mikek3332002    7 年前

    求函数的逆:dn=非规范化,n=规范化

    n= 2*((dn-min)/(max-min)) - 1 向两侧添加1

    n+1=2*((dn-min)/(max-min)) 除以2

    (n+1)/2=(dn-min)/(max-min) 乘以(max-min)

    ((max-min)*(n+1))/2 = dn - min

    dn =(((max-min)*(n+1))/2)+min

    public function DeNormalize(n as double, min as double, max as double) as double 
        return (((max-min)*(n+1))/2)+min
    end function