我正在使用Python中的K-Means(scikit-learn)聚类文本数据。 如何获取该行所属的群集?
示例: data = [“红色,黄色和蓝色是颜色”,“冰淇淋是我最喜欢的食物”,“你现在也可以获得草莓味的冰淇淋”,“天空是蓝色的”]
在使用n_clusters = 2执行K-Means之后,我预计会形成两个簇。
“红色,黄色和蓝色是颜色”,“天空是蓝色”躺在一个簇中,“冰淇淋是我最喜欢的食物”,“你现在可以获得草莓味的冰淇淋”在另一个中。
我如何得到这个,即哪一行在哪个群集中?
K-means代码:
vectorizer = TfidfVectorizer(stop_words='english')
X = vectorizer.fit_transform(data)
model = KMeans(n_clusters=true_k, init='k-means++', max_iter=500, n_init=20)
model.fit(X)
答案 0 :(得分:2)
尝试使用{"installed": {
"client_id": "yourid",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_email": "",
"client_x509_cert_url": "",
"client_secret": "yoursecret",
"redirect_uris": ["urn:ietf:wg:oauth:2.0:oob", "http://tooltank.de"]
}}
功能。
示例 -
predict
来自documentation -
预测(X)
预测X中每个样本所属的最近集群。
在矢量量化文献中,cluster_centers_被称为代码簿,而predict返回的每个值都是代码簿中最接近的代码的索引。
参数:
X:{array-like,sparse matrix},shape = [n_samples,n_features] 要预测的新数据。返回:
标签:数组,形状[n_samples,] 每个样本所属的集群索引。
这似乎返回了每个样本所属的集群索引数组。
也许您也可以使用 - fit_predict()
功能。
您可以使用属性 - model.predict(X)
(在您的情况下为cluster_centers_
)和每个样本的标签model.cluster_centers_
来获取群集中心。