我有3个要适合kmeans模型的变量。一个是TFIDF向量,一个是Count向量,第三个是文档(sentence_list_len)中的单词数。

这是我的代码:

vectorizer=TfidfVectorizer(min_df=1, max_df=0.9, stop_words='english', decode_error='ignore')
vectorized=vectorizer.fit_transform(sentence_list)

count_vectorizer=CountVectorizer(min_df=1, max_df=0.9, stop_words='english', decode_error='ignore')
count_vectorized=count_vectorizer.fit_transform(sentence_list)

sentence_list_len # for each document, how many words are there

km=KMeans(n_clusters=num_clusters, init='k-means++',n_init=10, verbose=1)
km.fit(vectorized)


我如何将3个变量拟合到km.fit中?具体来说,我如何堆叠所有这三个并将其馈送到km.fit()?

最佳答案

只需连接向量即可。请参见numpy.concatenatenumpy.vstack / numpy.hstack。但是,请注意,kmeans不适用于高维数据,并且可能会忽略“小的”功能。您拥有三种不同比例的要素,这将严重影响聚类结果。通常,kmeans并不是解决NLP群集任务的好方法。

关于python - 为k堆叠3个变量意味着scikit,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27515252/

10-12 21:27