package quickml.supervised.tree.scorers; import quickml.supervised.tree.summaryStatistics.ValueCounter; import java.io.Serializable; import java.util.Map; import static quickml.supervised.tree.constants.ForestOptions.DEGREE_OF_GAIN_RATIO_PENALTY; import static quickml.supervised.tree.constants.ForestOptions.IMBALANCE_PENALTY_POWER; /** * Created by alexanderhawk on 7/8/15. */ public abstract class GRScorerFactory<VC extends ValueCounter<VC>> implements ScorerFactory<VC>{ protected double degreeOfGainRatioPenalty = 0.0; public GRScorerFactory(){} public GRScorerFactory(double degreeOfGainRatioPenalty) { this.degreeOfGainRatioPenalty = degreeOfGainRatioPenalty; } @Override public void update(Map<String, Serializable> cfg) { if (cfg.containsKey(DEGREE_OF_GAIN_RATIO_PENALTY.name())) degreeOfGainRatioPenalty = (Double) cfg.get(DEGREE_OF_GAIN_RATIO_PENALTY.name()); } }