Domanda

Sto cercando di capire cosa fa questo programma ML - che basato su Doc2vec - prevedi:

import logging, gensim 
from gensim.models.doc2vec import TaggedDocument
from gensim.models import Doc2Vec 
import re
import os 
import random
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import cross_val_score
import numpy as np


model = Doc2Vec.load('reviews_model.d2v') # Already trained 



sent = []
answer = []
docvec = []

for fname in ['yelp', 'amazon_cells','imdb' ]:
    with open ('sentiment labelled sentences/%s_labelled.txt'% fname, encoding = ('UTF-8')) as f:
        for i , line in enumerate(f):
            line_split = line.strip().split('\t')
            sent.append(line_split[0])
            words = extract_word(line_split[0])
            answer.append(int(line_split[1]))
            docvec.append(model.infer_vector(words, steps=10))
            print (str(docvec) +  'time')

combined = list(zip(sent, docvec, answer))
random.shuffle(combined)
sent , docvec, answer= zip(*combined)



 clf = KNeighborsClassifier(n_neighbors=9)
 score = cross_val_score(clf, docvec, answer, cv =5)

 print (str(np.mean(score)) + str(np.std(score)) )

L'output è qualcosa di simile:

0.7903333333333334

Quindi cosa significa effettivamente che è corretto del 79%? CONTRATTAMENTE PREVISTA DI PREVIDERE COSA ESATTAMENTE?

PS: i documenti appresi sono recensioni positive e negative.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top