R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化
2023-02-18 16:44:20 时间
全文链接:http://tecdat.cn/?p=31048
原文出处:拓端数据部落公众号
2009年8月,新浪微博(micro-blog)开始服务,随后各家微博服务在国内得到广泛传播和应用"。微博具有文本信息短(140字包括标点符号)、词量少、裂变式传播、传播速度快、用词不规范等特征,使原文本可视化研究技术框架中的聚类或分类方法提取热点话题变得困难。
R语言主要用于统计分析与数据可视化,大量新兴研究领域算法不断更新,在人工智能领域有广泛的应用,R语言亦可用相对简单地完成微博可视化工作。
我们最近有一个很棒的机会与一位伟大的客户合作,要求构建一个耐克微博聚类算法。本文利用R语言完成对微博相应分析。
所要分析的数据对象为耐克nike微博热搜话题数据,数据样式如下图所示:
查看数据
文本预处理
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
d2=data.frame(word=class2$word, freq=class2$freq);
# 过滤掉1个字和词频小于100的记录
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]);
2类词频云图
words=unlist(keyword[cl$cluster==2]);
3类词频云图
相关文章
- Spring 6.0 正式发布,新王登基!!
- Spring Boot 3.0 正式发布,王炸!!
- 你还只会用 AtomicXXX ?!恭喜你,可以下岗了!
- 牛逼啊,ChatGPT 能接入微信了!
- Nacos 2.2 正式发布,这次更新太炸了!
- 经验分享:如何开发一个成功的 NFT 项目,社区建设技巧
- 记住,永远都不要在 Flutter 中使用全局变量
- Web3 系列开发教程:创建第一个智能合约(1)什么是智能合约
- 使用 Web Animations API 实现一个精确计时的时钟
- 15 款企业级零代码开发平台推荐,总有一款是你心仪的
- 打造安全的 React 应用,可以从这几点入手
- KeyShot Pro for mac(3D渲染和动画制作软件)v11.3.2.3中文版
- 震惊!广州蚂蚁金服前端开发全部被裁!Egg 大佬求收留!
- 虾皮启示录,一次深刻的教训
- 微软中国宣布扩招至1万人!网友:人才又被外企抢走了!
- 今年这个环境,做外包不丢人吧?
- 校招还没投比亚迪,你就 out 了!详解比亚迪组织架构!
- What? 支付宝被撤销高新技术企业!
- 2022 年超棒的 React 组件库,是时候拿出来分享啦
- 大数据必学Java基础(一百零四):三大范式深入了解