C'est la première fois que je fais un apprentissage automatique supervisé. C'est un sujet assez avancé (au moins pour moi) et je trouve difficile de spécifier une question, car je ne suis pas sûr de ce qui ne va pas.Apprentissage automatique supervisé avec scikit-learn
# Create a training list and test list (looks something like this):
train = [('this hostel was nice',2),('i hate this hostel',1)]
test = [('had a wonderful time',2),('terrible experience',1)]
# Loading modules
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
from sklearn import metrics
# Use a BOW representation of the reviews
vectorizer = CountVectorizer(stop_words='english')
train_features = vectorizer.fit_transform([r[0] for r in train])
test_features = vectorizer.fit([r[0] for r in test])
# Fit a naive bayes model to the training data
nb = MultinomialNB()
nb.fit(train_features, [r[1] for r in train])
# Use the classifier to predict classification of test dataset
predictions = nb.predict(test_features)
actual=[r[1] for r in test]
Ici, je reçois l'erreur:
float() argument must be a string or a number, not 'CountVectorizer'
Cela me confond, puisque les notes originales que je zippé avec les commentaires sont les suivants:
type(ratings_new[0])
int
Avez-vous une trace de pile et/ou un numéro de ligne sur lequel l'erreur se produit? – Hans
Est-ce l'information que vous cherchez? Traceback (dernier appel en dernier) en () ----> 1 prédictions = nb.predict (test_features) –
Lisadk