来自 scikit learn 的朴素贝叶斯模型

Posted

技术标签:

【中文标题】来自 scikit learn 的朴素贝叶斯模型【英文标题】:Naive Bayes model from scikit learn 【发布时间】:2021-02-09 07:11:45 【问题描述】:

这两个gnb.fit()有什么区别?


from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
gnb.fit(X_train, y_train.ravel())

gnb.fit(X_train, y_train).predict(X_test)

【问题讨论】:

【参考方案1】:

我看到了两个不同之处:

    np.ravelflattens arrays,例如
x = np.array([[1, 2, 3], [4, 5, 6]])

np.ravel(x)
array([1, 2, 3, 4, 5, 6])
    gnb.fit 返回模型本身,它可以立即用于predict。预测不会修改模型。

如果你的y_train 是一维的,那么无论你调用gbn.fit(x, y) 还是gbn.fit(x, y.ravel()),你都会得到相同的模型,因为y == y.ravel()

【讨论】:

以上是关于来自 scikit learn 的朴素贝叶斯模型的主要内容,如果未能解决你的问题,请参考以下文章

如何为 scikit-learn 的朴素贝叶斯指定先验概率

SciKit-learn - 训练高斯朴素贝叶斯分类器

处理 scikit learn 的朴素贝叶斯看不见的特征

Scikit-Learn 朴素贝叶斯分类丨数析学院

scikit learn 使用多项式朴素贝叶斯作为三元分类器?

scikits learn 和 nltk:朴素贝叶斯分类器性能差异很大