两个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)
答案 0 :(得分:0)
我看到两个区别:
np.ravel
flattens 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()