sklearn NBClassifier получил неожиданный аргумент ключевого слова 'var_smoothing' - PullRequest
1 голос
/ 16 июня 2019

Я отвечаю на этот пример в моем коде:

import numpy as np
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
Y = np.array([1, 1, 1, 2, 2, 2])
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(X, Y)
GaussianNB(priors=None, var_smoothing=1e-09)
print(clf.predict([[-0.8, -1]]))

, которая представлена ​​здесь: Документация GaussianNB .

Я получаю

GaussianNB(priors=None, var_smoothing=1e-09)
TypeError: __init__() got an unexpected keyword argument 'var_smoothing'

Версия sklearn -

>>> import sklearn
>>> print(sklearn.__version__)
0.19.2

Кто-нибудь знает, что происходит и как это решить?

1 Ответ

1 голос
/ 16 июня 2019

Текущая версия обучения sci-kit: 0.21.2 .

Я проверил это в версии sklearn 0.19.2.Параметр var_smoothing не определен для метода GaussianNB.

Вы можете проверить это с помощью документации

from sklearn.naive_bayes import GaussianNB
help(GaussianNB)

# Result
Help on class GaussianNB in module sklearn.naive_bayes:

class GaussianNB(BaseNB)
 |  Gaussian Naive Bayes (GaussianNB)
...
...
 |  Parameters
 |  ----------
 |  priors : array-like, shape (n_classes,)
 |      Prior probabilities of the classes. If specified the priors are not
 |      adjusted according to the data.
 |  
 |  Attributes
...
...

Вы можете перейти на последнюю версию Scikit Learn илипросто удалите параметр.

...