|
|
@ -3,6 +3,8 @@ package com.epmet.support.normalizing; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.MathContext; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* 所有数据类型计算器的父类,实现算法骨架,数据类型转换方法则由子类实现 |
|
|
@ -93,6 +95,15 @@ public abstract class ScoreCalculator<T> { |
|
|
|
return scores; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 批量归一算法,返回List |
|
|
|
* @param sourceValues |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public List<BigDecimal> normalize(List<T> sourceValues) { |
|
|
|
return sourceValues.stream().map(s -> normalize(s)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 批量归一算法,带权重 |
|
|
|
* @param sourceValues |
|
|
@ -110,6 +121,15 @@ public abstract class ScoreCalculator<T> { |
|
|
|
return scores; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 批量归一算法,返回List |
|
|
|
* @param sourceValues |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public List<BigDecimal> normalize(List<T> sourceValues, BigDecimal weight) { |
|
|
|
return sourceValues.stream().map(s -> normalize(s).multiply(weight)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 校验数组 |
|
|
|
* @param sourceArray |
|
|
|