package quickml.supervised.tree.regressionTree.attributeValueIgnoringStrategies;
import quickml.supervised.tree.attributeValueIgnoringStrategies.AttributeValueIgnoringStrategy;
import quickml.supervised.tree.attributeValueIgnoringStrategies.AttributeValueIgnoringStrategyBuilder;
import quickml.supervised.tree.regressionTree.valueCounters.MeanValueCounter;
import javax.annotation.Nullable;
public class RegTreeAttributeValueIgnoringStrategyBuilder implements AttributeValueIgnoringStrategyBuilder<MeanValueCounter> {
private static final long serialVersionUID = 0L;
private int minOccurancesOfAttributeValue;
public RegTreeAttributeValueIgnoringStrategyBuilder(int minOccurancesOfAttributeValue) {
this.minOccurancesOfAttributeValue = minOccurancesOfAttributeValue;
}
@Override
public AttributeValueIgnoringStrategy<MeanValueCounter> createAttributeValueIgnoringStrategy(MeanValueCounter mv) {
return new RegTreeAttributeValueIgnoringStrategy(minOccurancesOfAttributeValue);
}
public RegTreeAttributeValueIgnoringStrategyBuilder setMinOccurancesOfAttributeValue(int minOccurancesOfAttributeValue) {
this.minOccurancesOfAttributeValue = minOccurancesOfAttributeValue;
return this;
}
public RegTreeAttributeValueIgnoringStrategyBuilder copy() {
return new RegTreeAttributeValueIgnoringStrategyBuilder(minOccurancesOfAttributeValue).setMinOccurancesOfAttributeValue(minOccurancesOfAttributeValue);
}
}