R 基于预定义数据集的K-means聚类
我正在尝试对R中“ggplot2”包附带的电影数据集进行聚类。我将使用k-means。此数据集附带的列名为:R 基于预定义数据集的K-means聚类,r,cluster-analysis,data-mining,k-means,R,Cluster Analysis,Data Mining,K Means,我正在尝试对R中“ggplot2”包附带的电影数据集进行聚类。我将使用k-means。此数据集附带的列名为: [1] "title" "year" "length" "budget" "rating" [6] "votes" "r1" "r2" "r3" "r4" [11] "r5" "r6" "r7"
[1] "title" "year" "length" "budget" "rating"
[6] "votes" "r1" "r2" "r3" "r4"
[11] "r5" "r6" "r7" "r8" "r9"
[16] "r10" "mpaa" "Action" "Animation" "Comedy"
[21] "Drama" "Documentary" "Romance" "Short"
你认为基于电影类型进行聚类是个好主意吗?我有点迷路了,不知道从哪里开始。有什么建议吗?回答你的第一个问题:是的,我认为这是一个有趣的项目。使用此数据集可能是了解不同数据挖掘技术的一种很酷的方式 为了回答你的第二个问题,这里有一些建议。聚类是一种无监督的学习技术。当目标变量(在本例中,目标变量可能是电影类型)未知时,学习是无监督的。然而,从你列出的专栏来看,你似乎确实掌握了类型信息。记住这一点,你有两个选择。首先,你可以假装你没有类型信息。在这种情况下,您将对其余数据应用k-means。聚类完成后,您可以通过将算法与已知类型进行比较来评估算法的性能。其次,您可以将此问题视为分类问题。在本例中,您将使用流派信息学习可以预测流派的模型。你可能已经知道了,但我只是想说出来 为了给你一些关于集群问题的建议,我首先想知道'r1',…,'r10'变量代表什么。它们是数值变量还是分类变量?K-means有两个步骤:一个是将数据点指定给离它最近的质心,另一个是通过取群集中所有数据点的平均值来计算新的质心。取这些变量的平均值有意义吗
考虑到这一点,我建议首先选择要在集群算法中使用的变量。然后编写以下函数:一个可以计算两点之间的距离,一个可以将观测值指定给最近的质心,另一个可以根据指定值重新计算质心。您需要找出构成良好簇的因素 有数百万种方法可以对该数据集进行集群。因为您可以对数据进行不同的预处理,使用不同的算法、距离等 如果没有您的指导,聚类算法将只是做一些事情,并可能返回一个完全无用的结果 因此,您需要首先明确一个目标:什么是好的集群
然后,您可以尝试调整数据,以便聚类算法为此目标进行优化。对于k-means,您需要在预处理中完成所有这些。对于hclust,您也可以选择符合您需求的距离函数。不清楚您想要实现什么。我只是想引入一些想法,以便更多地了解集群是什么以及集群的作用。就像在这个数据集的例子中,你会做什么来对它进行聚类,你会有什么问题?谢谢你,Michael。这澄清了一些疑问。回答您的问题:r1-10。乘以10,这部电影被评为1的用户百分比(最接近10%)。