def __init__(self, trainRecords, anomalyThreshold, cacheSize, classificationVectorType=1, activeColumnCount=40, classificationMaxDist=0.30, **classifierArgs): # Internal Region Values self._maxLabelOutputs = 16 self._activeColumnCount = activeColumnCount self._prevPredictedColumns = numpy.array([]) self._anomalyVectorLength = None self._classificationMaxDist = classificationMaxDist self._iteration = 0 # Set to create deterministic classifier classifierArgs['SVDDimCount'] = None # Parameters self.trainRecords = trainRecords self.anomalyThreshold = anomalyThreshold self.cacheSize = cacheSize self.classificationVectorType = classificationVectorType self._knnclassifierArgs = classifierArgs self._knnclassifier = KNNClassifierRegion(**self._knnclassifierArgs) self.labelResults = [] self.saved_categories = [] self._recordsCache = [] self._version = KNNAnomalyClassifierRegion.__VERSION__
def __setstate__(self, state): """ Set the state of ourself from a serialized state. """ if '_version' not in state or state['_version'] == 1: knnclassifierProps = state.pop('_knnclassifierProps') self.__dict__.update(state) self._knnclassifier = KNNClassifierRegion(**self._knnclassifierArgs) self._knnclassifier.__setstate__(knnclassifierProps) self._version = KNNAnomalyClassifierRegion.__VERSION__ else: raise Exception("Invalid KNNAnomalyClassifierRegion version. Current " "version: %s" % (KNNAnomalyClassifierRegion.__VERSION__))