Cümleler listem için bir xd ekseni terim ve y ekseni olarak TFIDF skoru (veya belge kimliği) olarak çizmek istiyorum. Scipy matrisini elde etmek için scikit learn'in fit_transform() yöntemini kullandım ancak grafiği çizmek için bu matrisi nasıl kullanacağımı bilmiyorum. Cümlelerimin kmeans kullanarak nasıl sınıflandırılabileceğini görmek için bir komplo kurmaya çalışıyorum. Benim kodBir belge çizimi tfidf 2D graph
(doküman kimliği terimi numarası) İşte
(0, 1023) 0.209291711271
(0, 924) 0.174405532933
(0, 914) 0.174405532933
(0, 821) 0.15579574484
(0, 770) 0.174405532933
(0, 763) 0.159719994016
(0, 689) 0.135518787598
skor tfidf edilir: Burada
fit_transform(sentence_list)
çıktısıdır
sentence_list=["Hi how are you", "Good morning" ...]
vectorizer=TfidfVectorizer(min_df=1, stop_words='english', decode_error='ignore')
vectorized=vectorizer.fit_transform(sentence_list)
num_samples, num_features=vectorized.shape
print "num_samples: %d, num_features: %d" %(num_samples,num_features)
num_clusters=10
km=KMeans(n_clusters=num_clusters, init='k-means++',n_init=10, verbose=1)
km.fit(vectorized)
PRINT km.labels_ # Returns a list of clusters ranging 0 to 10
sayesinde
sizin için aşağıdaki çalışır mı? Sadece basit bir 2D çizimine bakmanız gerekiyor. http://matplotlib.org/examples/pylab_examples/simple_plot.html –