2016-10-29 3 views
1

J'ai trouvé un bon exemple de Naive Bayes Classifier de here. Je suis incapable de comprendre les étapes.Travail des algorithmes d'apprentissage automatique pour l'analyse du sentiment

from nltk.classify import SklearnClassifier 
from sklearn.naive_bayes import BernoulliNB 
from sklearn.svm import SVC 
train_data = [({"a": 4, "b": 1, "c": 0}, "ham"), 
     ({"a": 5, "b": 2, "c": 1}, "ham"), 
     ({"a": 0, "b": 3, "c": 4}, "spam"), 
      ({"a": 5, "b": 1, "c": 1}, "ham"), 
      ({"a": 1, "b": 4, "c": 3}, "spam")] 
classif = SklearnClassifier(BernoulliNB()).train(train_data) 
test_data = [{"a": 3, "b": 2, "c": 1}, 
      {"a": 0, "b": 3, "c": 7}] 
classif.classify_many(test_data) 
['ham', 'spam'] 
classif = SklearnClassifier(SVC(), sparse=False).train(train_data) 
classif.classify_many(test_data) 
['ham', 'spam'] 

Quels sont:

  1. Caractéristiques dans le code ci-dessus?
  2. Données réelles pour le sentiment?
  3. "a": 4, "b": 1, "c": 0?
  4. jambon, spam?

Le but fondamental est de comprendre comment fonctionne l'algorithme ML. Je suis novice en analyse de sentiment. J'espère que quelqu'un va aider.

Répondre

1

L'exemple de code que vous avez publié utilise des données non-sens pour former un classificateur.

Quels sont:

  1. Caractéristiques dans le code ci-dessus?
  2. "a": 4, "b": 1, "c": 0?
  3. jambon, spam?

Le tableau train_data contient des fonctions nommées "a", "b" et "c". Les catégories de classification sont "jambon" et "spam". L'analyse des sentiments peut utiliser les catégories «positif» et «négatif».

  1. Données réelles pour le sentiment?

Il n'y a aucune donnée de sentiment réelle dans cette démo. Sachez que vous n'apprendrez rien sur le fonctionnement de l'algorithme d'apprentissage à partir de cet extrait. Il vous montre simplement l'API à une boîte noire qui entraîne le classificateur. Pour en savoir plus sur l'apprentissage automatique, découvrez comment fonctionne la formation. Pour apprendre à former un classificateur (sans savoir comment la formation fonctionne dans les coulisses), commencez par Chapter 6 du livre NLTK.

+0

@alixis Qu'est-ce que '4',' 1' et '0' dans' ({"a": 4, "b": 1, "c": 0}, "ham") ' – Amar

+1

Ils sont les valeurs non-sens des caractéristiques non-sens. – alexis

+0

Oh gentil pour la personne absurde. :) – Amar