字符串上的python kmeans

时间:2016-08-09 13:20:20

标签: python scikit-learn k-means

我是kmeans聚类方法的新手。我尝试在python中聚集一维字符串数组数据。

以下是我的数据:

expertise=['
Bioactive Surfaces and Scaffolds for Regenerative Medicine', 
'Drug/gene delivery science',
'RNA nanomedicine', 'Immuno/bio/nano-engineering', 'Biomaterials', 'Nanomedicine',
'Biobased Chemicals and Polymers',
'Membranes Science & Technology', 
'Modeling of Infectious and Lifestyle-related Diseases']

km = KMeans(n_clusters=2)
km.fit(expertise)

我得到ValueError:无法将字符串转换为float:

所以我想知道如何在字符串数据上应用kmeans,或者有什么方法可以将数据更改为二维?

2 个答案:

答案 0 :(得分:0)

首先,您必须定义如何对数据进行聚类。 scikit-learn的简单KMeans集群旨在处理数字。然而,scikit-learn还可以用于使用词袋方法按主题对文档进行聚类。这是通过使用scipy.sparse矩阵而不是标准numpy数组

提取特征来完成的

这里给出了一个演示示例: http://scikit-learn.org/stable/auto_examples/text/document_clustering.html

答案 1 :(得分:0)

你想要做什么几乎没有任何意义。您认为两个群集组应该如何?

如果您无法绘制数据,则无法对其进行聚类。找到一种以某种数字方式呈现字符串的方法(例如,长度,字母的出现取决于您想要获得的内容),然后对此数字数据进行聚类。