有没有办法理解为什么 K-Means 使用特定变量进行聚类?
Is there a way to understand why K-Means uses a specific variable for clustering?
我对 R 和聚类还很陌生,目前我正在做作业。任务是对一家房企的数据进行聚类,以便根据结果更好地理解和调整其商业模式。
可以找到原始数据集here。
我删除了一些列,因为(根据作业)它们不相关。
在 R 中看起来像这样:
我使用 K-Means 来执行聚类。
#use Elbow Method in order to understand how many clusters are needed.
set.seed(123)
fviz_nbclust(clustering, kmeans, method = "wss")
#perform k-means
k2 <- kmeans(clustering, centers = 10, nstart = 25)
str(k2)
fviz_cluster(k2, data = clustering)
结果是:
看起来 K-Means 使用 sqft_lot 来创建集群。这是一个由算法自动选择的变量,还是我可以手动选择和设置聚类变量?我只是不确定 sqft_lot 是否是最佳选择。
目前我对结果不是很满意。我不确定它是否真的以当前形式提供了有价值的信息。
您将聚类与图中的二维投影混淆了。聚类使用所有维度,但在图中,8 维数据点被投影到 2 维 space.
这种投影方法称为“多维缩放”(MDS)。 MDS 有不同的算法,但大概 fviz
使用 PCA,一种投影到具有最高方差的两个方向的方法。由于 sqft_lot
是具有最高方差的变量,它在投影 space.
中主导方向之一
我对 R 和聚类还很陌生,目前我正在做作业。任务是对一家房企的数据进行聚类,以便根据结果更好地理解和调整其商业模式。
可以找到原始数据集here。
我删除了一些列,因为(根据作业)它们不相关。
在 R 中看起来像这样:
我使用 K-Means 来执行聚类。
#use Elbow Method in order to understand how many clusters are needed.
set.seed(123)
fviz_nbclust(clustering, kmeans, method = "wss")
#perform k-means
k2 <- kmeans(clustering, centers = 10, nstart = 25)
str(k2)
fviz_cluster(k2, data = clustering)
结果是:
看起来 K-Means 使用 sqft_lot 来创建集群。这是一个由算法自动选择的变量,还是我可以手动选择和设置聚类变量?我只是不确定 sqft_lot 是否是最佳选择。
目前我对结果不是很满意。我不确定它是否真的以当前形式提供了有价值的信息。
您将聚类与图中的二维投影混淆了。聚类使用所有维度,但在图中,8 维数据点被投影到 2 维 space.
这种投影方法称为“多维缩放”(MDS)。 MDS 有不同的算法,但大概 fviz
使用 PCA,一种投影到具有最高方差的两个方向的方法。由于 sqft_lot
是具有最高方差的变量,它在投影 space.