- 朴素贝叶斯是一个不建模的算法。是一种直接衡量标签和特征之间的概率关系的有监督算法,它既可以做回归也可以分类,不过多是用于分类之中。朴素贝叶斯的算法根源就是基于概率论和数理统计的贝叶斯理论。
假设特征之间是有条件独立的,可以解决众多问题,也简化了很多计算过程,这是朴素贝叶斯被称为”朴素“的理由。因此,贝叶斯在特征之间有较多相关性的数据集上表现不佳,而现实中的数据多多少少都会有一些相关性。
in sklearn
类 | 含义 |
---|---|
naive_bayes.BernoulliNB | 伯努利分布下的朴素贝叶斯 |
naive_bayes.GaussianNB | 高斯分布下的朴素贝叶斯 |
naive_bayes.MultinomialNB | 多项式分布下的朴素贝叶斯 |
naive_bayes.ComplementNB | 补充朴素贝叶斯 |
linear_model.BayesianRidge | 贝叶斯岭回归,在参数估计过程中使用贝叶斯回归技术来包括正则化参数 |
- 高斯朴素贝叶斯
naive_bayes.GaussianNB (priors=None, var_smoothing=1e-09)
高斯朴素贝叶斯,通过假设P(Xi|Y)是服从高斯分布(也就是正态分布),来估计每个特征下每个类别上的条件概率。
参数:- prior:表示类的先验概率。如果指定,则不根据数据调整先验,如果不指定,则自行根据数据 计算先验概率
- var_smoothing: 在估计方差时,为了追求估计的稳定性,将所有特征的方差中最大的方差以某个比例(var_smoothing)添加到估计的方差中。
1
2
3
4from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB().fit(X_train,y_train)
acc_score = gnb.score(X_test,y_test) #查看分数
y_pred = gnb.predict(X_test) #查看预测的概率结果