首页 > 其他分享 >R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化

时间:2022-12-31 10:04:34浏览次数:42  
标签:NIKEID MEANS res cluster 微博 gsub pattern cldata

2009年8月,新浪微博(micro-blog)开始服务,随后各家微博服务在国内得到广泛传播和应用"。微博具有文本信息短(140字包括标点符号)、词量少、裂变式传播、传播速度快、用词不规范等特征,使原文本可视化研究技术框架中的聚类或分类方法提取热点话题变得困难。

R语言主要用于统计分析与数据可视化,大量新兴研究领域算法不断更新,在人工智能领域有广泛的应用,R语言亦可用相对简单地完成微博可视化工作。

我们最近有一个很棒的机会与一位伟大的客户合作,要求构建一个耐克微博聚类算法。本文利用R语言完成对微博相应分析。

所要分析的数据对象为耐克nike微博热搜话题数据,数据样式如下图所示:

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_词频

查看数据

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_数据_02

文本预处理

res=pinglun1[pinglun1!=" "];

剔除通用标题

res=gsub(pattern="NIKEiD"," ",res);   
res=gsub(pattern="http://t.cn/"," ",res);
res=gsub(pattern="com"," ",res);
res=gsub(pattern="耐克"," ",res);
res=gsub(pattern="官网"," ",res);
res=gsub(pattern="中国"," ",res);

分词+频数统计

keyword=lapply(X=res, FUN=segmentCN)
words=unlist(keyword);

绘制词汇图

library("wordcloud")

mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:
wordcloud(d$word,d$freq

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_数据_03

 

d2=data.frame(word=class2$word, freq=class2$freq);  

# 过滤掉1个字和词频小于100的记录

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_建模_04

K均值聚类K-means

for(i in  1:nrow(cldata)){

for(j in unique(d$word) ){

if(j %in% unlist(keyword[i]))cldata[i,which(colnames(cldata) == j)]=1

}

}



cl=kmeans(cldata,3)

聚类数据可视化

 

#cluster 1

y1=cldata[cldata$cluster==1,]



#cluster 2



y2=cldata[cldata$cluster==2,]



#cluster 3



y3=cldata[cldata$cluster==3,]

1类词频云图

  

words=unlist(keyword[cl$cluster==1]);

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_数据_05

2类词频云图

  

words=unlist(keyword[cl$cluster==2]);

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_建模_06

3类词频云图

R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_词频_07


R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化_词频_08


标签:NIKEID,MEANS,res,cluster,微博,gsub,pattern,cldata
From: https://blog.51cto.com/u_14293657/5981888

相关文章