2016-03-14 2 views
4

Я пытаюсь предсказать экономические циклы с использованием гауссова наивного байеса «Классификатор».ТипError: fit() missing 1 обязательный позиционный аргумент: 'y'

данные (вход X):

   SPY Interest Rate Unemployment Employment CPI 
Date      
1997-01-02 56.05  7.82   9.7   3399.9  159.100 
1997-02-03 56.58  7.65   9.8   3402.8  159.600 
1997-03-03 54.09  7.90   9.9   3414.7  160.000 

мишень (выход Y):

Economy 
0 Expansion 
1 Expansion 
2 Expansion 
3 Expansion 

Ниже мой код:

from sklearn.naive_bayes import GaussianNB 
from sklearn import metrics 
from sklearn.cross_validation import train_test_split 
X = data 
Y = target 
model = GaussianNB 
X_train, X_test, Y_train, Y_test = train_test_split(X,Y) 
model.fit(X_train, Y_train) 

Ниже Ошибка:

TypeError         Traceback (most recent call last) 
<ipython-input-132-b0975752a19f> in <module>() 
    6 model = GaussianNB 
    7 X_train, X_test, Y_train, Y_test = train_test_split(X,Y) 
    ----> 8 model.fit(X_train, Y_train) 

    TypeError: fit() missing 1 required positional argument: 'y' 

Что я делаю неправильно? Как я могу решить эту проблему/ошибку?

+8

'model = GaussianNB()' – cel

+0

Спасибо .. однако, я получил еще одну ошибку сейчас. Любая идея, как его решить? '/Users/d/anaconda/lib/python3.4/site-packages/sklearn/utils/validation.py:515: DataConversionWarning: вектор-столбец y был передан, когда ожидался 1d-массив. Измените форму y на (n_samples), например, используя ravel(). y = column_or_1d (y, warn = True) ' – user3062459

+1

Я сменил строку 5 на' Y = target.values.ravel() ', и она сработала. – user3062459

ответ

0

Всякий раз, когда вы пытаетесь инициализировать/определять объект класса, вы должны вызвать его собственный конструктор для создания одного объекта для вас. Конструктор может иметь параметры или нет. В вашем случае GaussianNB - это класс от sklearn, который по умолчанию имеет непараметрический конструктор .

obj_model = GaussianNB()

Так просто мы создаем объект с пустым скобкой, который просто означает, что конструкторпо умолчанию.

Смежные вопросы