Наивная байесовская модель из scikit learn

#machine-learning #scikit-learn #prediction #naivebayes

#машинное обучение #scikit-learn #прогнозирование #наивный Байес

Вопрос:

В чем разница между двумя 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:

Я вижу два отличия:

  1. np.ravel сглаживает массивы, например
 x = np.array([[1, 2, 3], [4, 5, 6]])

np.ravel(x)
array([1, 2, 3, 4, 5, 6])
  
  1. gnb.fit возвращает саму модель, и ее можно использовать немедленно predict . Прогнозирование не изменяет модель.

Если ваш y_train одномерный, вы получите ту же модель независимо от того, вызываете ли вы gbn.fit(x, y) или gbn.fit(x, y.ravel()) потому, что y == y.ravel()