use of com.amazon.randomcutforest.parkservices.threshold.BasicThresholder in project random-cut-forest-by-aws by aws.
the class BasicThresholderMapper method toModel.
@Override
public BasicThresholder toModel(BasicThresholderState state, long seed) {
DeviationMapper deviationMapper = new DeviationMapper();
Deviation primaryDeviation = deviationMapper.toModel(state.getPrimaryDeviationState());
Deviation secondaryDeviation = deviationMapper.toModel(state.getSecondaryDeviationState());
Deviation thresholdDeviation = deviationMapper.toModel(state.getThresholdDeviationState());
BasicThresholder thresholder = new BasicThresholder(primaryDeviation, secondaryDeviation, thresholdDeviation);
thresholder.setAbsoluteThreshold(state.getAbsoluteThreshold());
thresholder.setLowerThreshold(state.getLowerThreshold(), state.isAutoThreshold());
thresholder.setUpperThreshold(state.getUpperThreshold());
thresholder.setInitialThreshold(state.getInitialThreshold());
thresholder.setElasticity(state.getElasticity());
thresholder.setInPotentialAnomaly(state.isInAnomaly());
thresholder.setHorizon(state.getHorizon());
thresholder.setCount(state.getCount());
thresholder.setMinimumScores(state.getMinimumScores());
thresholder.setAbsoluteScoreFraction(state.getAbsoluteScoreFraction());
thresholder.setUpperZfactor(state.getUpperZfactor());
thresholder.setZfactor(state.getZFactor());
return thresholder;
}
use of com.amazon.randomcutforest.parkservices.threshold.BasicThresholder in project random-cut-forest-by-aws by aws.
the class ThresholdedRandomCutForestMapper method toModel.
@Override
public ThresholdedRandomCutForest toModel(ThresholdedRandomCutForestState state, long seed) {
RandomCutForestMapper randomCutForestMapper = new RandomCutForestMapper();
BasicThresholderMapper thresholderMapper = new BasicThresholderMapper();
PreprocessorMapper preprocessorMapper = new PreprocessorMapper();
RandomCutForest forest = randomCutForestMapper.toModel(state.getForestState());
BasicThresholder thresholder = thresholderMapper.toModel(state.getThresholderState());
Preprocessor preprocessor = preprocessorMapper.toModel(state.getPreprocessorStates()[0]);
ForestMode forestMode = ForestMode.valueOf(state.getForestMode());
TransformMethod transformMethod = TransformMethod.valueOf(state.getTransformMethod());
RCFComputeDescriptor descriptor = new RCFComputeDescriptor(null, 0L);
descriptor.setRCFScore(state.getLastAnomalyScore());
descriptor.setInternalTimeStamp(state.getLastAnomalyTimeStamp());
descriptor.setAttribution(new DiVectorMapper().toModel(state.getLastAnomalyAttribution()));
descriptor.setRCFPoint(state.getLastAnomalyPoint());
descriptor.setExpectedRCFPoint(state.getLastExpectedPoint());
descriptor.setRelativeIndex(state.getLastRelativeIndex());
descriptor.setForestMode(forestMode);
descriptor.setTransformMethod(transformMethod);
descriptor.setImputationMethod(ImputationMethod.valueOf(state.getPreprocessorStates()[0].getImputationMethod()));
PredictorCorrector predictorCorrector = new PredictorCorrector(thresholder);
predictorCorrector.setIgnoreSimilar(state.isIgnoreSimilar());
predictorCorrector.setIgnoreSimilarFactor(state.getIgnoreSimilarFactor());
predictorCorrector.setTriggerFactor(state.getTriggerFactor());
predictorCorrector.setNumberOfAttributors(state.getNumberOfAttributors());
return new ThresholdedRandomCutForest(forestMode, transformMethod, forest, predictorCorrector, preprocessor, descriptor);
}
Aggregations