TypeError: fit() manquant 1 nécessaire de position argument: "y"
Je suis en train d'essayer de prévoir les cycles économiques à l'aide de la Gaussienne Naive Bayes "Classificateur".
de données (input 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
cible (sortie Y) :
Economy
0 Expansion
1 Expansion
2 Expansion
3 Expansion
Ci-dessous mon code:
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)
Ci-dessous est une Erreur:
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'
Ce que je fais mal? Comment puis-je résoudre ce problème /erreur ?
model = GaussianNB()
Merci.. cependant, j'ai eu une autre erreur maintenant. Une idée de comment le résoudre?
/Users/d/anaconda/lib/python3.4/site-packages/sklearn/utils/validation.py:515: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel(). y = column_or_1d(y, warn=True)
J'ai changé la ligne 5 à
Y = target.values.ravel()
et cela a fonctionné.
OriginalL'auteur user3062459 | 2016-03-14
Vous devez vous connecter pour publier un commentaire.
modèle = GaussianNB().
Vous avez oublié le paranthesis "()" .
OriginalL'auteur Abhimanyu
Chaque fois que vous essayez d'initialiser/définir un objet d'une classe, vous devez appeler à son propre constructeur pour créer un objet pour vous. Le constructeur peut avoir des paramètres ou aucun. Dans votre cas GaussianNB est une classe de sklearn qui a un non-paramétrique constructeur par défaut.
obj_model = GaussianNB()
Donc tout simplement nous faire créer un objet vide parenthèse qui signifie simplement constructeur par défaut.
OriginalL'auteur Sundar Gsv