def online_detect():
df = pd.read_csv('ganglia.csv')
#???
maxContainSize = 500
window = df[1000:]
ilf = IsolationForest(n_estimators=100,verbose=2,)
ilf.fit(window)
print ilf.predict(window)
analomyNum = 0
allanalomy = 0
outcome = []
lable = []
k = 3#????
d = {}
buf = []
idlist,namelist = loadname()
savename(namelist,idlist)
print "initial finished"
counter = 1
while True:
print "fetching at %s" %ctime()
data = getdata()
loadvalue(data, d)
outvalue = extract(d,idlist)
reshapevalue = np.array(outvalue).reshape(1,-1)
predictValue = ilf.predict(reshapevalue)
print "predict:",predictValue
a = int(predictValue)
outcome.append(a)
lable.append(a)
buf.append(DataFrame(reshapevalue))#??dataframe???1row * xcolums
if a == -1:
analomyNum += 1
allanalomy += 1
#????????
if warn(buf,lable,k):
lable[-1] = 1 #????????????
analyseWarn(buf,outcome,k,namelist)#???????
updateWindow(window, buf, maxContainSize)
if detectUpdate(buf, 0.87, maxContainSize, analomyNum):#0.087
del ilf
window,ilf = updateWindow(window, buf, maxContainSize)
analomyNum = 0
del buf
buf = []
counter += 1
if counter %5000 ==0:
break
sleep(15)
评论列表
文章目录