【问题标题】:Naive Bayes model from scikit learn来自 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)
【问题讨论】:
标签:
machine-learning
scikit-learn
prediction
naivebayes
【解决方案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()