#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:
Я вижу два отличия:
np.ravel
сглаживает массивы, например
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()