public IModelSelector CreateModelSelector(ModelSelectorType selectorType, SelectionCriterionType criterionType) { ISelectionCriterion selectionCriterion = _selectionCriterionFactory.CreateSelectionCriterion(criterionType); switch (selectorType) { case ModelSelectorType.Segment: { return(new SegmentHsmModelSelector(selectionCriterion, _segmentSize)); } case ModelSelectorType.Simple: { return(new SimpleHsmModelSelector(selectionCriterion)); } default: { throw new NotImplementedException("ModelSelectorType is not supported"); } } }
public HsmModelSelector(ISelectionCriterion selectionCriterion) { this.selectionCriterion = selectionCriterion; probabilityCalculatorFactory = new HsmProbabilityCalculatorFactory(); }
public SimpleHsmModelSelector(ISelectionCriterion selectionCriterion) : base(selectionCriterion) { }
public SegmentHsmModelSelector(ISelectionCriterion selectionCriterion, int segmentSize) : base(selectionCriterion) { this.segmentSize = segmentSize; }