天天看点

数据挖掘-归一化

概念

所谓归一化,就是将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量,以降低变量单位不同 (导致数值相差太大)对模型的影响

实现方式

1、xi/sum(x)

贴一段项目中自己写的scala代码:

/**
    * 对数字序列字符串做归一化处理
    * @param arrStr
    * @return
    */
  def normalizArrStrDelimitedByComma(arrStr: String): String = {

    val arr = arrStr.split(",")
    val doubleArr = new Array[Double](arr.length)

    for (i <-  until arr.length) {
      doubleArr(i) = arr(i).toDouble
    }

    val sum = doubleArr.sum
    for (i <-  until arr.length) {

      var num = 
      if (sum != ) {
        num = (doubleArr(i) / sum)
      }

      //保留小数点位数
      doubleArr(i) = f"$num%1.3f".toDouble
    }
    arr2DoubleStrDelimitedByComma(doubleArr)
  }
           

2、xi/max(x)

还有很多种方式….

继续阅读