def split_single(self,sess_len, path ,threhold): """ :param sess_len:session idom length :param path:messages path :param threhold:frequent therehold :return:splited messages """ self.creat_session(sess_len) ss = session_deal.session_deal(path) t_ss = [] cn = ss.get_changes() for co in cn: t_ss.append(co[0]) i = sess_len while (i < len(t_ss) - 1): self.update_num(t_ss[i - sess_len:i]) i = i + 1 self.find_fre(threhold, len(t_ss), sess_len) self.get_sessionmode() self.get_idom() self.out_same() self.regettree() self.Ntrees.show() self.split_session(cn)
def findseid(self, lo_s, lo_e): t_serate = 0 i = 0 t_clus = session_deal.session_deal("") for message in self.semessages: me_src, me_des = t_clus.clus_sesionbydi(message[0]) if (len(me_src) == 0 or len(me_des) == 0): continue src_num = self.findserienum(me_src, lo_s, lo_e) des_num = self.findserienum(me_des, lo_s, lo_e) t_num = max(src_num, des_num) t_serate = t_serate + t_num i = i + 1 t_rate = t_serate / i if (t_rate > 0.7): return 1 else: return 0
def __init__(self): self.sessiondeal = session_deal.session_deal('')