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文件向量化。

最低0.47元/天 解锁文章

667

被折叠的 条评论
为什么被折叠?



