我在一组10842条推文的文本数据上运行k-means聚类。 我将k设置为5,并得到如下的群集

cluster1:预订航班NA

cluster2:航班预订不适用

cluster3:航班预订不适用

cluster4:航班预订不适用

cluster5:预订航班NA

我不明白为什么所有群集都一样??

myCorpus<-Corpus(VectorSource(myCorpus$text))
myCorpusCopy<-myCorpus
myCorpus<-tm_map(myCorpus,stemDocument)
myCorpus<-tm_map(myCorpus,stemCompletion,dictionary=myCorpusCopy)
myTdm<-TermDocumentMatrix(myCorpus,control=list(wordLengths=c(1,Inf)))
myTdm2<-removeSparseTerms(myTdm,sparse=0.95)
m2<-as.matrix(myTdm2)
m3<-t(m2)
set.seed(122)
k<-5
kmeansResult<-kmeans(m3,k)
round(kmeansResult$centers,digits=3)

for(i in 1:k){
cat(paste("cluster",i,":",sep=""))
s<-sort(kmeansResult$centers[i,],decreasing=T)
cat(names(s)[1:3],"\n")
}

===============>>#1 票数:0

请记住,k均值聚类要求您预先指定聚类数(与分层聚类相反)。 在无法访问数据集的情况下(因此无法重现您在此处呈现的内容),获得显而易见的同类群集的最明显原因是,事先指定的群集数量存在问题。

最直接的解决方案是尝试使用R中的NbClust软件包来确定适合您的数据的群集数。

以下是使用玩具数据集的示例代码,可让您了解如何进行操作:

# install.packages("NbClust")
library(NbClust)
set.seed(1234)
df <- rbind(matrix(rnorm(100,sd=0.1),ncol=2),
     matrix(rnorm(100,mean=1,sd=0.2),ncol=2),
     matrix(rnorm(100,mean=5,sd=0.1),ncol=2),
     matrix(rnorm(100,mean=7,sd=0.2),ncol=2))

# "scree" plots on appropriate number of clusters (you should look
# for a bend in the graph)
nc <- NbClust(df, min.nc=2, max.nc=20, method="kmeans") 
table(nc$Best.n[1,]) 

# creating a bar chart to visualize results on appropriate number
# of clusters
barplot(table(nc$Best.n[1,]), 
      xlab="Number of Clusters", ylab="Number of Criteria",
      main="Number of Clusters Chosen by Criteria")

如果即使在指定了NbClust软件包中的函数建议的簇数之后仍然遇到问题,那么另一个问题可能是删除了稀疏项。 尝试向下调整“稀疏”选项,然后检查k均值聚类的输出。

  ask by user3456230 translate from so

未解决问题?本站智能推荐:

1回复

用K均值聚类

我正在尝试使用k-means聚类以下“网络”数据集: 我尝试了这段代码: 我收到此错误: 知道这意味着什么或如何解决吗?
1回复

R:如何使用固定初始“均值”和固定簇大小的k-均值聚类

假设一个人有9个协调点,分别是a,b,c ...,i。 R中是否有任何函数或解决方案以固定的初始“均值”和固定的簇大小在其上应用k均值,这意味着输出应为3个具有(a,。,。)(b,。,。)和( C,。,。)?
3回复

K均值聚类未找到数据中的所有聚类

我正在使用的数据集如下所示。 可以看出,你会认为k-means聚类分析很容易找到这些聚类的中心。 但是,当我运行K-means聚类分析并绘制中心时,我得到了这个。 我只使用基本的kmeans代码:
1回复

R中的K均值聚类

我是R的初学者,我遵循了有关K-means聚类的教程 。 但是,我正在尝试对真实数据运行此算法。 我选择了: http : //exoplanet.eu/catalog/ 我已经加载了数据: d <- read.csv2( "exoplanet.eu_catalog.c
1回复

R的K均值聚类

我正在尝试使用R中的K均值聚类对某些数据进行聚类。要聚类的数据是来自推文样本的一组特定功能。 这些推文被标记为x或y 。 数据示例如下所示,用户名和ID被删除,这些字段不用于集群。 总共有24.6k个数据项,其中大约17k标记为y ,其余的标记为x 。 群集后,我期望的是两个群
1回复

K均值聚类的内存问题

我正在尝试使用K表示聚类的搜索历史中的关键短语进行聚类,但是在运行stringdistmatrix()命令时遇到了“无法分配大小为30gb的向量”错误。 我使用的数据集包括63455个唯一元素,因此生成的矩阵需要大约30gb的内存来处理。 有没有办法降低过程的要求而又不会失去太大的意义?
1回复

通过k均值聚类着色ggplot的plotmatrix?

我正在尝试使用ggplot2创建6个数据变量的对图,并根据它们所属的k均值聚类对点进行着色。 我阅读了令人印象深刻的'GGally'软件包的文档,以及Adam Laiacano [http://adamlaiacano.tumblr.com/post/13501402316/colored-p
2回复

为什么k均值聚类会忽略大量数据?

我正在使用一组坐标,并希望动态地(我需要完成许多过程)了解数据中有多少个不同的组。 我的方法是应用k均值来研究是否会找到质心,并且我可以从那里去。 当绘制具有6个不同聚类的数据(可视化)时,k-means算法将继续忽略两个有效聚类,同时将许多质心放入另一个聚类。 见下图:
1回复

使用遗传算法优化K均值聚类

我有以下dataset ( 在此处获得): 我可以使用二进制字符串作为我最初选择的中心,使用kmeans()将数据集分为三个群集。 例如: 使用此基本概念,我尝试使用GA软件包进行搜索,以尝试优化(最小化)Davies-Bouldin(DB)索引。 当然(我不知道发生了
1回复

如何执行半监督k均值聚类

我是新来的。 我正在尝试执行半监督k均值聚类。 我计划将我的数据的2/3划分为训练集,将1/3划分为测试集。 我的目标是使用已知的簇训练模型,然后将训练模型传播到测试集。 传播结果将与先前的聚类进行比较。 我的目标是检查kmeans聚类的预测准确性。 因此,我想知道是否有一种方法可以