0

Je suis tring différente méthode d'apprentissage (Arbre de décision, NaiveBayes, Maxent) Pour comparer leur performance relative pour apprendre à connaître la meilleure méthode d'entre eux? Comment implémenter l'arbre de décision pour obtenir sa précision?Arbre de décision nltk

import string 
from sklearn.tree import DecisionTreeClassifier 
from sklearn.metrics import confusion_matrix 
import nltk, nltk.classify.util, nltk.metrics 
from nltk.classify import MaxentClassifier 
from nltk.collocations import BigramCollocationFinder 
from nltk.metrics import BigramAssocMeasures 
from nltk.probability import FreqDist, ConditionalFreqDist 
from sklearn import cross_validation 
import nltk.classify.util 
from nltk.classify import NaiveBayesClassifier 
from nltk.corpus import movie_reviews 

from nltk.classify import MaxentClassifier 
from nltk.corpus import movie_reviews 
from nltk.corpus import movie_reviews as mr 

stop = stopwords.words('english') 
words = [([w for w in mr.words(i) if w.lower() not in stop and w.lower() not in string.punctuation], i.split('/')[0]) for i in mr.fileids()] 

def word_feats(words): 
return dict([(word, True) for word in words]) 

negids = movie_reviews.fileids('neg') 
posids = movie_reviews.fileids('pos') 

negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids] 
posfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'pos') for f in posids] 

negcutoff = len(negfeats)*3/4 
poscutoff = len(posfeats)*3/4 

trainfeats = negfeats[:negcutoff] + posfeats[:poscutoff] 
DecisionTree_classifier = DecisionTreeClassifier.train(trainfeats, binary=True, depth_cutoff=20, support_cutoff=20, entropy_cutoff=0.01) 
print(accuracy(DecisionTree_classifier, testfeats)) 
+0

Vous avez une parenthèse fermante étrangère à la fin de votre déclaration. – blacksite

Répondre

0

Dans ce code, vous imprimez la précision, alors quelle est votre véritable question?

+0

Ceci n'est pas une réponse. Merci de ne pas poster de questions comme réponses. Si vous n'avez pas encore assez de rep pour poster des commentaires, veuillez attendre jusqu'à ce que vous le fassiez –

0

Vous devrez regarder le code (ou les chaînes de documentation) de nltk3. Il y a aussi une chance que les exemples donnés dans le livre nltk fonctionnent sans aucun changement. Voir http://www.nltk.org/book/ch06.html#DecisionTrees

Ou vous pouvez simplement lancer un échantillon d'essai et compter les taux négatifs faux positifs et faux vous

C'est votre précision.