sklearn.naive_bayes.MultinomialNB()函数解析(最清晰的解释)
2019-08-28 19:42
6013 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/TeFuirnever/article/details/100125386
sklearn.naive_bayes.MultinomialNB()函数全称是先验为多项式分布的朴素贝叶斯。
除了MultinomialNB之外,还有GaussianNB就是先验为高斯分布的朴素贝叶斯,BernoulliNB就是先验为伯努利分布的朴素贝叶斯。
class sklearn.naive_bayes.MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)
MultinomialNB假设特征的先验概率为多项式分布,即如下式:
其中,P(Xj=Xjl∣Y=Ck)P(X_j = X_{jl} | Y = C_k)P(Xj=Xjl∣Y=Ck) 是第 kkk 个类别的第 jjj 维特征的第 lll 个取值条件概率。mkm_kmk 是训练集中输出为第 kkk 类的样本个数。λλλ 为一个大于0的常数,尝尝取值为1,即拉普拉斯平滑,也可以取其他值。
参数:
alpha
:浮点型可选参数,默认为1.0,其实就是添加拉普拉斯平滑,即为上述公式中的λ ,如果这个参数设置为0,就是不添加平滑;fit_prior
:布尔型可选参数,默认为True。布尔参数fit_prior表示是否要考虑先验概率,如果是false,则所有的样本类别输出都有相同的类别先验概率。否则可以自己用第三个参数class_prior输入先验概率,或者不输入第三个参数class_prior,让MultinomialNB自己从训练集样本来计算先验概率,此时的先验概率为 P(Y=Ck)=mk/mP(Y=C_k)=m_k/mP(Y=Ck)=mk/m。其中m为训练集样本总数量,mkm_kmk为输出为第k类别的训练集样本数。class_prior
:可选参数,默认为None。
fit_prior | class_prior | 最终先验概率 |
---|---|---|
False | 填或不填没有意义 | P(Y=Ck)=1/kP(Y = C_k) = 1 / kP(Y=Ck)=1/k |
True | 不填 | P(Y=Ck)=mk/mP(Y = C_k) = m_k / mP(Y=Ck)=mk/m |
True | 填 | P(Y=Ck)=class_priorP(Y = C_k) = class\_priorP(Y=Ck)=class_prior |
还有其他参数:
例子:
>>> import numpy as np >>> X = np.random.randint(5, size=(6, 100)) >>> y = np.array([1, 2, 3, 4, 5, 6]) >>> from sklearn.naive_bayes import MultinomialNB >>> clf = MultinomialNB() >>> clf.fit(X, y) MultinomialNB() >>> print(clf.predict(X[2:3])) [3]
朴素贝叶斯算法实现理论和代码在博客:《机器学习实战》学习笔记(四):基于概率论的分类方法 - 朴素贝叶斯
相关文章推荐
- sklearn.neighbors.KNeighborsClassifier()函数解析(最清晰的解释)
- sklearn.svm.SVC()函数解析(最清晰的解释)
- pd.read_csv()、pd.read_table()函数解析(最清晰的解释)
- pd.Series()函数解析(最清晰的解释)
- python中sklearn的朴素贝叶斯方法(sklearn.naive_bayes.GaussianNB)的简单使用
- sklearn.naive_bayes
- 朴素贝叶斯模型(Naive Bayes Model,NB)理解
- 机器学习之朴素贝叶斯: sklearn.naive_bayes
- Multinomial naive bayes classifier
- OpenGL ES之glUniform函数-----非常清晰的解释了glUniform的函数使用, 很不错!!!
- sklearn朴素贝叶斯类库(naive_bayes)使用小结
- error LNK2019: 无法解析的外部符号 _gzputs,该符号在函数 "void __cdecl icvPuts(struct CvFileStorage *,char const
- Mongoose----handle_request函数解析
- Linux进程的创建函数fork()及其fork内核实现解析【转】
- 解析PHP中ob_start()函数的用法
- u-boot的start_armboot函数解析
- main_loop()函数解析
- 解析C++的虚函数表
- MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStart
- wordpress模板各文件函数解析