KMeans对文本数据进行聚类

时间:2016-09-19 14:26:10

标签: python dataframe cluster-analysis k-means

我有一个包含以下2列的pandas数据框:

      Database Name             Name

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

我必须根据“名称”字段对数据库名称进行聚类。当我将它转换为numpy时,使用

dataset = df2.values

当我打印print(dataset.dtype)时,类型是object。我刚开始使用Clustering,根据我的阅读,我理解该对象不适合Kmeans聚类。

任何帮助都会得到帮助!!

2 个答案:

答案 0 :(得分:0)

平均是什么?
Login
LoginEdit
View

应该是?

k-means仅适用于连续数值数据是有原因的。因为 mean 要求很好地定义这些数据。

我不认为群集适用于您的问题)<而不是适用于数据清理。但显然你需要一种适用于任意距离的方法 - k-mean不会。

答案 1 :(得分:0)

我不明白您是否要为每个&#34;名称&#34;属性,或者无论&#34; Name&#34;的值如何,都可以创建n个簇。而且我不明白集群在这里可以实现什么。

在任何情况下,就在几天前,在数据科学SE网站上有一个类似的问题(来自R用户),要求相同的电子邮件地址的本地名称(&#34; @&#34;),而不是数据库名称。问题与你的问题类似。

检查出来:

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

对于不同的字符串距离度量,答案是全面的。

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