sklearn-朴素贝叶斯

朴素贝叶斯分为三种:高斯朴素贝叶斯、多项式朴素贝叶斯、伯努利朴素贝叶斯。这三种的不同之处在于求条件概率的公式不同。

高斯朴素贝叶斯
Gaussian Naive Bayes (GaussianNB)(1.9.1)

参数:

priors : array-like, shape (n_classes,),先验概率,如果设置了先验概率则不会根据数据调整。

属性:
1、class_prior_ : array, shape (n_classes,),每个类别的概率。
2、class_count_ : array, shape (n_classes,),每个类别观察训练样本的数量。
3、theta_ : array, shape (n_classes, n_features),每个类别每个特征的平均值。
4、sigma_ : array, shape (n_classes, n_features),每个类别每个特征的方差。

方法:
1、fit(X, y[, sample_weight]),拟合。
2、get_params([deep]),得到参数。
3、partial_fit(X, y[, classes, sample_weight]),部分样本上的增量拟合。
4、predict(X),预测。
5、predict_log_proba(X),返回测试向量X的对数概率估计。
6、predict_proba(X),返回测试向量X的概率估计。
7、score(X, y[, sample_weight]),返回给定测试数据和label的平均精度。
8、set_params(**params),设定参数。

多项式朴素贝叶斯
Naive Bayes classifier for multinomial models(MultinomialNB,1.9.2)

参数:
1、alpha : float, optional (default=1.0),加性(Laplace/Lidstone)平滑参数(0不平滑)。
2、fit_prior : boolean, optional (default=True),是否要学习类别的先验概率。如果是False,将使用统一的先验概率。
3、class_prior : array-like, size (n_classes,), optional (default=None),类的先验概率。如果指定了先验信息,则不会根据数据进行调整。

属性:
1、class_log_prior_ : array, shape (n_classes, ),每个类的平滑的经验对数概率。
2、intercept_ : property,将多项式朴素贝叶斯理解为线性模型时,class_log_prior_的镜像。
3、feature_log_prob_ : array, shape (n_classes, n_features),给定类别的特征值的经验对数概率,P(x_i|y)。
4、coef_ : property,将多项式朴素贝叶斯理解为线性模型时,feature_log_prob_的镜像。
5、class_count_ : array, shape (n_classes,),在拟合的过程中每个类所遇到的样本数。给定这个值的时候由样本权重加权。
6、feature_count_ : array, shape (n_classes, n_features),在拟合的过程中每个(class, feature)所遇到的样本数。给定这个值的时候由样本权重加权。

方法:
1、fit(X, y[, sample_weight]),拟合
2、get_params([deep]),得到参数
3、partial_fit(X, y[, classes, sample_weight]),部分样本上的增量拟合。
4、predict(X),预测
5、predict_log_proba(X),返回测试向量X的对数概率估计。
6、predict_proba(X),返回测试向量X的概率估计。
7、score(X, y[, sample_weight]),返回给定测试数据和label的平均精度。
8、set_params(**params),设置参数。

伯努利朴素贝叶斯

参数:
1、alpha : float, optional (default=1.0),加性(Laplace/Lidstone)平滑参数(0不平滑)。
2、binarize : float or None, optional (default=0.0),二值化的样本特征阈值(映射到布尔型)。如果为None,输入被认为已经包含了二进制向量。
3、fit_prior : boolean, optional (default=True),是否要学习类别的先验概率。如果是False,将使用统一的先验概率。
4、class_prior : array-like, size (n_classes,), optional (default=None),类的先验概率。如果指定了先验信息,则不会根据数据进行调整。

属性:
1、class_log_prior_ : array, shape (n_classes, ),每个类的平滑的经验对数概率。
2、feature_log_prob_ : array, shape (n_classes, n_features),给定类别的特征值的经验对数概率,P(x_i|y)。
3、class_count_ : array, shape (n_classes,),在拟合的过程中每个类所遇到的样本数。给定这个值的时候由样本权重加权。
4、feature_count_ : array, shape (n_classes, n_features),在拟合的过程中每个(class, feature)所遇到的样本数。给定这个值的时候由样本权重加权。

方法:
和上面一样。

高斯朴素贝叶斯只有一个参数还是设置先验概率,不方便设置,因此,我没有修改,正确率86.07%,也很不错了。

多项式朴素贝叶斯,修改alpha的值,正确率有轻微的上升下降,变化不大。修改fit_prior,正确率,没有变化。

伯努利朴素贝叶斯,修改alpha,有细微的变化。修改二值化binarize,有轻微变化,修改fit_prior,没有变化。

你可能感兴趣的:(sklearn-朴素贝叶斯)