使用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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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