使用K-Means聚类一维或多维数据?

我正在处理来自BigData Challenge的数据集。

https://dandelion.eu/datamine/open-big-data/数据集:电信 – 短信、电话、互联网 – MI

样本数据集(一天)

Square id   Time interval   Country code    SMS-in activity SMS-out activity    Call-in activity    Call-out activity   Internet traffic activity1   1.39E+12    39  0.11098917  0.166214369 0.10920186  0.164427059 13.648437921   1.39E+12    46                  0.0261374241   1.39E+12    39  0.165136827 0.176399458 0.030875085 0.027300465 13.330858191   1.39E+12    0   0.029087775 0.027300465         1   1.39E+12    39  0.186451092 0.136587823 0.05460093      11.32955226..10000 1.39E+12  39  0.165136827 0.176399458 0.030875085 0.027300465 13.33085819 

在这个数据集中,米兰市的地理区域被划分为10,000个方格,每个方格都记录了用户的活动(短信、电话、互联网)。我有一份为期一个月(30天)的数据集。

我试图根据用户活动(最低、平均和最高用户活动)将这些数据聚类成三个簇。

我尝试使用K-Means聚类算法,但由于我的数据是一维的,K-Means并不适合这种情况。

我可以使用天数和方格ID作为维度来运行K-Means吗?

关于方法或聚类算法有什么建议吗?


回答:

切勿在聚类时使用ID列。

此外,K-Means只有在所有列的尺度相同的情况下才能正常工作。请查看这个帖子的回答

如果你想将地理邻近性整合到聚类中,我建议你仔细定制一个方法。可以看看广义DBSCAN,它是为定制设计的。永远不要认为聚类“就能工作”,因为大多数时候,它并不奏效,可惜的是如此。

另外,你需要提前定义你的目标。你想达到什么目的,以及你如何衡量成功?仅仅因为你想进行聚类或者因为你不知道该做什么而进行聚类,不会成功的。

至于数据集,它的问题在于没有明确的目标。获胜的条目似乎归结为观察到在更多人聚集的地方能耗更高(真是个惊喜)。开放式挑战真的很难处理。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注