学习笔记(五):使用决策树算法检测POP3暴力破解

14 篇文章 3 订阅
13 篇文章 1 订阅

1.数据搜集

    加载KDD 99中的数据:

def load_kdd99(filename):
    x=[]
    with open(filename) asf:
        for line in f:
            line=line.strip('\n')
            line=line.split(',')
            x.append(line)
    return x

   筛选标记为guess-passwd和normal并且是POP3协议的数据:

if (x1[41] in ['guess_passwd','normal.']) and (x1[2]=='pop_3'):
    if x1[41]=='guess_passwd.':
        y.append(1)
    else:
        y.append(0)

2.特征化


x1 = [x1[0]]+x1[4:8]+x1[22:30]
v.append(x1)
for x1 in v:
    v1 =[]
    for x2 in x1:
        v1.append(float(x2))
    w.append(v1)

3.训练样本

clf=tree.DecisionTreeClassifier()

4.效果验证

print cross_validation.cross_val_score(clf,x,y,n_jobs=-1,cv=10)

5.可视化决策树

dot_data=tree.export_graphviz(clf,out_file=None)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf("...")

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值