이 github 자습서에 따르면 : gensim/docs/notebooks/doc2vec-lee.ipynb 약 96 %의 정확도를 얻고 있습니다.gensim/docs/notebooks/doc2vec-lee.ipynb 결과가 반복 가능하지 않음
아나콘다 네비게이터의 jupyter 4.3.1 노트북에서 gensim 0.13.4를 사용하는 코드는 다음과 같습니다.
이들의 출력은 다음과 같습니다 : 모델의 평가를위한 튜토리얼에서는
import gensim
import os
import collections
import smart_open
import random
# Set file names for train data
test_data_dir='{}'.format(os.sep).join \
([gensim.__path__[0],'test','test_data'])
lee_train_file = test_data_dir + os.sep + 'lee_background.cor'
def read_corpus(fname, tokens_only=False):
with smart_open.smart_open(fname, encoding="iso-8859-1") as f:
for i, line in enumerate(f):
if tokens_only:
yield gensim.utils.simple_preprocess(line)
else:
# For training data, add tags
yield gensim.models.doc2vec.TaggedDocument \
(gensim.utils.simple_preprocess(line), [i])
train_corpus = list(read_corpus(lee_train_file))
model = gensim.models.doc2vec.Doc2Vec(size=50, min_count=2, iter=10)
model.build_vocab(train_corpus)
model.train(train_corpus)
ranks = []
second_ranks = []
for doc_id in range(len(train_corpus)):
inferred_vector = model.infer_vector(train_corpus[doc_id].words)
sims = model.docvecs.most_similar([inferred_vector] \
, topn=len(model.docvecs))
rank = [docid for docid, sim in sims].index(doc_id)
ranks.append(rank)
second_ranks.append(sims[1])
collections.Counter(ranks)
내가 근처에 아무것도 못하고있는 이유
Counter({0: 292, 1: 8})
나는
Counter({0: 31,
1: 24,
2: 16,
3: 19,
4: 16,
5: 8,
6: 8,
7: 10,
8: 7,
9: 10,
10: 12,
11: 12,
12: 5,
13: 9,
...
을 얻고 자신의 정확성?
에 오신 것을 환영합니다 SO에! 귀하의 질문에 기본 서식이 없으며 귀하가 무엇을 요구하고 있는지 명확하지 않습니다. 질문을 편집하고 문제를 해결하기 위해 취한 단계를 보여줍니다. 또한, 완전히 필요한 경우가 아니면 외부 링크를 참조하지 마십시오. 읽으십시오 : http://stackoverflow.com/help/how-to-ask – bman