0

我正在尝试找到一种聚类算法来使用 python 对标称数据进行聚类。为此,我尝试了使用 RapidMiner 的 DBSCAN 算法,它适用于标称数据。但是,当我使用 scikit-learn 提供的 DBSCAN 算法尝试相同的数据集时,它给出的错误是函数无法将字符串转换为浮点数。

rapidminer 和 scikit-learn 中的 DBSCAN 是否不同,我该如何解决这个问题?另外,如果您告诉我另一种适用于标称数据的聚类算法会很棒吗?

4

2 回答 2

2

SciPy 默认为欧几里得距离 ( metric='euclidean'),它没有为名义数据定义。

您需要指定距离测量值!

于 2014-07-21T09:44:55.050 回答
1

RapidMiner 实现了各种距离测量,包括标称距离。这由 DBSCAN 和其他算法使用。

如果属性的值相同,则两个示例之间的距离为零,否则为 1。换句话说,“Raspberry”与“Apple”和“Computer”的距离为 1。另外“Apple”与“Raspberry”、“Computer”等是一回事。

于 2014-07-21T08:59:51.240 回答