2016-09-19 120 views
-2

我有以下2列的熊猫数据帧:KMEANS文本数据进行聚类

 Database Name    Name 

     db1_user     Login 
     db1_client    Login 
     db_care     Login 
     db_control    LoginEdit 
     db_technology    View 
     db_advanced    LoginEdit 

我必须基于集群的“名称”字段的数据库名称。当我将其转换为numpy的,使用

数据集= df2.values

当我打印所述打印(dataset.dtype),类型为对象。我刚刚开始使用聚类,根据我的理解,我明白该对象不适用于Kmeans聚类。

任何帮助将得到appreicated!

回答

0

什么平均

Login 
LoginEdit 
View 

应该是

k-means只适用于连续的数值数据是有原因的。因为的意思是要求这样的数据被明确定义。

我不认为集群是适用于您的问题在所有(而不是看看数据清洗)。但显然你需要一种适用于任意距离的方法 - k-均值不适用。

0

我不明白是否要为每个“名称”属性组开发集群,或者不管“名称”的值如何,都要创建n个集群;我不明白在这里可以实现什么样的聚类。

无论如何,就在几天前,datascience SE站点(来自R用户)也有类似的问题,要求电子邮件地址的本地名称相似(“@”之前的部分) ),而不是数据库名称。问题与你的相似。

检查了这一点:

https://datascience.stackexchange.com/questions/14146/text-similarities/14148#14148

答案是全面的关于字符串的不同距离的措施。

也许这是你应该调查。然后决定一个适当的距离度量,这个度量可以在python中使用(或者你可以自己编程),并且符合你的需求。