如何在具有2维的图中绘制具有6维的数据集。
我有一个包含6个属性和超过1000行的数据集,我将其用于k-means聚类。
现在我想在执行群集后可视化数据。有人能给我任何关于如何处理这个问题的提示吗?感谢。
答案 0 :(得分:1)
pairs()
可能有用。
设置数据(非结构化,因为它更容易这样做):
set.seed(101)
x <- rnorm(6000,nrow=6)
clust <- sample(1:5,size=1000,replace=TRUE)
现在情节(gap=FALSE
是装饰性的; pch="."
使得大型数据集的绘图速度更快):
pairs(x,gap=FALSE,col=clust,pch=".")
这只会显示二维切片(也就是说,您可能会错过数据中的高维结构),但它总比没有好。如果你真的想要想象更高维度的结构,你可以尝试像rggobi ...
这样的东西答案 1 :(得分:0)
最简单的方法是使用PCA将数据的维度降低到2或3维。 k-means聚类应该为数据的每一行分配一个组,以便您可以轻松地在简化数据集上绘制不同的组。这里有一个简单的方法来做PCA虽然你也可以做LLE或其他形式的降维。
data(iris)
unique(iris$Species)
#[1] setosa versicolor virginica
iris.pca<-princomp(iris[,c("Sepal.Length", "Sepal.Width", "Petal.Width", "Petal.Width")], center=T, scale=T)
plot(iris.pca$scores[,1], iris.pca$scores[,2], col=iris$Species)