package quickml.supervised.classifier.logisticRegression;
import quickml.data.OnespotDateTimeExtractor;
import quickml.supervised.Utils;
import quickml.supervised.crossValidation.utils.DateTimeExtractor;
import quickml.supervised.crossValidation.utils.MeanNormalizedDateTimeExtractor;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by alexanderhawk on 10/28/15.
*/
public class MeanNormalizedAndDatedLogisticRegressionDTO extends LogisticRegressionDTO<MeanNormalizedAndDatedLogisticRegressionDTO> {
private Map<String, Utils.MeanStdMaxMin> meanStdMaxMins;
private DateTimeExtractor<SparseClassifierInstance> dateTimeExtractor;
public MeanNormalizedAndDatedLogisticRegressionDTO DateTimeExtractor(DateTimeExtractor<SparseClassifierInstance> dateTimeExtractor) {
this.dateTimeExtractor = dateTimeExtractor;
return this;
}
@Override
public MeanNormalizedAndDatedLogisticRegressionDTO copyWithJustTrainingSet(List<SparseClassifierInstance> trainingSet) {
return new MeanNormalizedAndDatedLogisticRegressionDTO(trainingSet, nameToIndexMap, meanStdMaxMins, numericClassLabels);
}
public Map<String, Utils.MeanStdMaxMin> getMeanStdMaxMins() {
return meanStdMaxMins;
}
public DateTimeExtractor<SparseClassifierInstance> getDateTimeExtractor() {
if (dateTimeExtractor!= null) {
return dateTimeExtractor;
}
else if (meanStdMaxMins == null) {
return new OnespotDateTimeExtractor<>();
} else {
return new MeanNormalizedDateTimeExtractor<>(meanStdMaxMins);
}
}
public MeanNormalizedAndDatedLogisticRegressionDTO(List<SparseClassifierInstance> instances,
HashMap<String, Integer> nameToIndexMap,
Map<String, Utils.MeanStdMaxMin> meanStdMaxMins,
Map<Serializable, Double> numericClassLabels) {
super(instances, nameToIndexMap, numericClassLabels);
this.meanStdMaxMins = meanStdMaxMins;
}
public MeanNormalizedAndDatedLogisticRegressionDTO(List<SparseClassifierInstance> instances) {
super(instances);
}
}