저는 tf-idf measure를 사용하여 두 문장/문서 간의 유사성을 찾기 위해 프로젝트 작업을하고 있습니다.파이썬에서 matplotlib를 사용하여 유사성 측정을위한 원을 그릴 때 오류가 발생했습니다.
지금 제 질문은 그래픽/시각화 형식으로 유사점을 표시하는 방법입니다. 교차 값이 유사도 측정이나 matplotlib 또는 모든 파이썬 라이브러리에서 사용 가능한 다른 플롯이되는 Venn 다이어그램과 같은 것입니다.
나는 다음과 같은 코드를 시도 :from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
documents = (
"The sky is blue",
"The sun is bright"
)
tfidf_vectorizer = TfidfVectorizer()
tfidf_matrix = tfidf_vectorizer.fit_transform(documents)
print tfidf_matrix
cosine = cosine_similarity(tfidf_matrix[0:1], tfidf_matrix)
print cosine
import matplotlib.pyplot as plt
r=25
d1 = 2 * r * (1 - cosine[0][0])
circle1=plt.Circle((0,0),d1/2,color='r')
d2 = 2 * r * (1 - cosine[0][1])
circle2=plt.Circle((r,0),d2/2,color="b")
fig = plt.gcf()
fig.gca().add_artist(circle1)
fig.gca().add_artist(circle2)
fig.savefig('plotcircles.png')
plt.show()
을하지만 내가 가진 플롯은 비어 있었다. 어떤 사람이 그 잘못을 설명 할 수 있습니까?
음모를 꾸미고 원 출처 : 플롯이 비어 있지 않은,하지만 난 생각 plot a circle
당신이 그림의 축 보면, 다음, 신속하게 첫번째 원 0의 직경 (가 것을 알 수 있습니다 D1, D2 및 R의 값을 인쇄하는 경우 적어도이 코드를 실행했을 때), 두 번째 그래프는 그래프 테두리 밖으로 완전히 떨어졌습니다. – Evert
더 나은 방법이 있다고해도 'savefig'바로 앞에 다음을 추가하면 더 좋은 방법이 될 것입니다. 물론이 경우에는 반지름이 0 인 원이 표시되지 않습니다. fig.axes [0] .axis ([ min (-d1/2, -d2/2), max (d1, r + d2/2), min (-d1/2, -d2/2), max '. – Evert