onlinedetect.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:onlineDetectForHadoop 作者: DawnsonLi 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号