概念
所谓归一化,就是将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量,以降低变量单位不同 (导致数值相差太大)对模型的影响
实现方式
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 <- 0 until arr.length) {
doubleArr(i) = arr(i).toDouble
}
val sum = doubleArr.sum
for (i <- 0 until arr.length) {
var num = 0.0
if (sum != 0) {
num = (doubleArr(i) / sum)
}
//保留小数点位数
doubleArr(i) = f"$num%1.3f".toDouble
}
arr2DoubleStrDelimitedByComma(doubleArr)
}
2、xi/max(x)
还有很多种方式….