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