使用一个标称比例对3D数据进行聚类

问题描述 投票:-1回答:1

问题陈述

我有2D pandas数据帧,其中包含有关用户工具使用特征的数据(例如,系统A的使用率为88%,系统B的使用率为11%,相应用户的系统C为1%:

        A      B       C
Usage  0,88   0,11   0,01

假设存在三个用户(ID:1,2,3),则存在以下矩阵:

ID:1    A      B       C     ID:2    A      B      C     ID:3    A      B    C
Usage  0,88   0,11   0,01    Usage  0,86   0,13   0,01   Usage  0,00  0,00  1,00

我想到将单个2D矩阵聚合到3D矩阵以识别具有相似使用行为的聚类。

目标

识别系统使用中的群集。在此示例中,ID1和ID2应该是群集的。我构建了一个工作的DBSCAN method,用于聚类随机2D数据。

然而,我面临的问题是在聚合的3D矩阵内以固定的顺序堆叠2D矩阵。因此,仅在查看一个固定的标称序列时不可能识别相似性,因为基本上每个用户2D数据必须与所有其他2D数据进行比较以找到熟悉的使用行为。

思考

我想在机器学习中为小数据集集成一种方法有点k折交叉验证方法。但是我不知道如何将这种行为集成到聚类算法中。

另一个想法是,可能模式识别或层次聚类(尽管聚类的总数未知)是更好的方式,因为聚合的3D矩阵的第三轴是在标称尺度(用户ID)上。但是,到目前为止,我在模式识别领域缺乏经验。

也许有人有一个很好的方法论想法来解决这个聚类问题。 :)

python algorithm 3d cluster-analysis pattern-recognition
1个回答
0
投票

该示例仅将labels_true用于评估,而不是作为DBSCAN本身的输入。 labels_true派生自创建模拟数据集的函数。调用dbscan的正确方法是db = DBSCAN(eps=0.3, min_samples=10).fit(X)在你的情况下x是[[valueA, valueB, valueC], [valueA, valueB, valueC], ...]结果然后在db.labels_

© www.soinside.com 2019 - 2024. All rights reserved.