赞
踩
1.朴素贝叶斯模型
朴素贝叶斯(Native Bayes)算法是基于贝叶斯定理和特征条件独立假设的分类算法。sklearn中的native_bayes模块提供了4中朴素贝叶斯模型。其具体如下:
模型 | 描述 | 参数估计公式 |
---|---|---|
GaussianNB | 这种模型假设特征符合高斯分布。由概率密度函数可知,这个模型适用于数值型特征。 | |
MultinomialNB | 这个模型假设特征复合多项式分布,是一种非常典型的文本分类模型。模型内部带有平滑参数。 | |
ComplementNB | 是MultinomialNB模型的一个变种,比较适用于不平衡的数据集。在文本分类上的结果通常比MultinomialNB模型好。 | |
BernoulliNB | 这种模型适用于多元伯努利分布。即,每个特征都是二值变量,如果不是二值变量,该模型可以先对变量进行二值化。 |
补充:
2.代码示例
以肺癌数据集为例,比较多个模型的效率。具体代码如下:
- from sklearn.naive_bayes import MultinomialNB,GaussianNB,BernoulliNB
- from sklearn.naive_bayes import ComplementNB
- from sklearn.datasets import load_breast_cancer
- from sklearn.model_selection import cross_val_score
- X,y=load_breast_cancer().data,load_breast_cancer().target
- gn1=GaussianNB()
- gn2=MultinomialNB()
- gn3=BernoulliNB()
- gn4=ComplementNB()
- for model in [gn1,gn2,gn3,gn4]:
- scores=cross_val_score(model,X,y,cv=10,scoring='accuracy')
- print("Accuracy:{:.3f}".format(scores.mean()))
其运行结果如下:
参考:
1. https://scikit-learn.org/stable/modules/naive_bayes.html#naive-bayes
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。