yyccR / AnomalyDetection

基于智能计算框架nupic的异常检测restful Api.
32 stars 12 forks source link

参数 #2

Open zhaoshuyang opened 7 years ago

zhaoshuyang commented 7 years ago

您好! 我现在想将你这个API用在别的数据上面,能否解释一下如下参数什么意思吗: self.predictStep = predictStep self.enablePredict = enablePredict self.metricData = xrange(int(minValue), int(maxValue), int((maxValue - minValue) / minResolution)) self.maxValue = maxValue self.minValue = minValue self.minResolution = minResolution

yyccR commented 7 years ago

你好。 predictStep 是当前预测值回溯到多少步之前,其实表示就是当前的预测受过去多少步的影响; enablePredict 是让HTM在做检测时输出预测值; metricData,maxValue,minValue,minResolution是为HTM生成一定尺度大小的模型,其实就是HTM算法接收的数据范围这些,方便HTM内部模型生成。

一点小Tips: 由于我很久没关注HTM去更新这个了,HTM内部结构似乎修改了,这个api可能用不了需要你自己做一些修改,比如再HTM的model模块改了位置等。

谢谢~

zhaoshuyang commented 7 years ago

非常感谢你的解答! 对于该例中HTM的用法,我有些疑问。一般的机器学习算法都是要经过:训练-->得到模型-->用于预测。但在这个例子里面,我没有看到训练的过程,只是通过一个语句去获得模型的参数getScalarMetricWithTimeOfDayAnomalyParams,这有点让我们这些对HTM不熟悉的人有点疑惑。您可以解释一下整个过程吗,非常感谢

yyccR commented 7 years ago

其实getScalarMetricWithTimeOfDayAnomalyParams只是初始化一些参数,同样HTM也存在训练的过程,训练的时候也会更新参数的,整个流程建议看下他们的文章,https://github.com/yyccR/papers/tree/master/HTM/paper 这里是我整理的一些他们的资料,应该对你有帮助。