Web安全之机器学习 | 朴素贝叶斯算法

1、朴素贝叶斯算法概述

贝叶斯分类是一系列分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。其中朴素贝叶斯(Naive Bayesian,NB)是其中应用最广泛的分类算法之一。通常企业和大型邮件服务商都会提供拦截垃圾的功能,最常见的一种算法就是基于朴素贝叶斯的文本分类算法,大体思路是通过学习大量的垃圾邮件和正常邮件样本,让朴素贝叶斯训练出文本分类模型。

NB算法是基于贝叶斯定理与特征条件独立假设的分类方法。NB基于一个简单的假定:给定目标值时属性之间相互条件独立。

NB包括以下算法:

高斯朴素贝叶斯(Gaussian Naive Bayes)、多项式朴素贝叶斯(Multinomial Naive Bayes)、伯努利朴素贝叶斯(Bernoulli Naive Bayes)

2、示例:朴素贝叶斯应用


from sklearn import datasets
from sklearn.naive_bayes import GaussianNB

# 导入数据集
iris = datasets.load_iris()
# 训练数据集
gnb = GaussianNB()
# 验证结果
y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)
print(iris.target)
print(y_pred)
print("Number of mislabeled points out of a total %d points : %d" % (iris.data.shape[0],(iris.target != y_pred).sum()))

3、示例:检测WebShell(一)

基于Webshell的文本特征进行WebShell的检测,将在互联网上搜集到的Webshell作为黑样本,当前最新的wordpress源码作为白样本。将一个PHP文件作为一个字符串处理,以基于单词2-gram切割,遍历全部文件形成基于2-gram的词汇表。然后进一步将每个PHP文件向量化。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值