朴素贝叶斯的定义:
朴素贝叶斯是一种基于贝叶斯定理与特征条件独立假设的分类方法。
朴素贝叶斯算法的核心思想是利用贝叶斯定理来进行概率推断,并在此基础上进行分类决策。它假设各个特征之间是相互独立的,尽管这个假设在实际应用中往往不成立,但这种简化通常能够带来计算上的便利,并且在实践中表现出不错的性能。
朴素贝叶斯的关键点:
基于贝叶斯定理:朴素贝叶斯算法使用贝叶斯定理来计算后验概率,即在给定特征的条件下,求某个类别的概率。
特征独立性假设:这种方法假设所有输入特征之间相互独立,这就是“朴素”一词的由来。在实际问题中,特征之间很难完全独立,但即使在这种简化的假设下,朴素贝叶斯仍然能够提供合理的分类效果。
适用于大规模数据集:由于其简单性和高效性,朴素贝叶斯算法特别适合处理大规模的数据集。在数据量较大时,算法可以产生较高的分类精确度。
监督学习的生成模型:朴素贝叶斯属于监督学习中的生成模型,这意味着它不仅能够预测标签,还能估计数据的分布。
不适用于特征有关联的场景
朴素贝叶斯分类方法的优缺点:
优点:
容易实现;
对小规模的数据表现好;
对缺失数据不服务器托管网太敏感。
缺点:
算法成立的前提是假设各属性之间互相独立。当数据集满足这种独立性假设时,分类准确度较高。而实际领域中,数据集可能并不完全满足独立性假设。
需要计算先验概率。
朴素贝叶斯的特点:
朴素贝叶斯是一种高偏差低方差的算法。而如果训练集很小,高偏差/低方差的分类器(如朴素贝叶斯)比低偏差/高方差的分类器更有优势,因为后者容易过拟合。
但是随着训练集的增大,高偏差的分类器并不能训练处准确的模型,所以低偏差/高方差的分类器会胜出。
代码实现:
from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB,BernoulliNB,MultinomialNB
from sklearn.model_selection import train_test_split
# GaussianNB 处理特征列中大多数是连续型
# BernoulliNB 特征列是二分类的
# MultinomialNB 特征列是多分类的
iris =load_iris()
X = iris['data']
y = iris['target']
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=42)
gnb = GaussianNB()
gnb.fit(X_train,y_train)
print(gnb.score(X_test,y_test))
bnb = BernoulliNB()
bnb.fit(X_train,y_train)
print(bnb.score(X_test,y_test))
mnb = MultinomialNB()
mnb.fit(X_train,y_train)
print(mnb.score(X_test,y_test))
# 0.9777777777777777
# 0.28888888888888886
# 0.9555555555555556
# Multino服务器托管网mialNB比较适用于大多数,但是具体问题仍需分析
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
如今,有越来越多的恶意行为者开始利用AI大语言模型开发能够绕过 YARA 规则的自我增强型恶意软件。 根据近日Recorded Future 发布的一份新报告:AI可以通过增强小型恶意软件变种的源代码来规避基于字符串的 YARA 规则,从而有效降低检测率。 目…