2009年8月,新浪微博(micro-blog)开始服务,随后各家微博服务在国内得到广泛传播和应用”。
微博具有文本信息短(140字包括标点符号)、词量少、裂变式传播、传播速度快、用词不规范等特征,使原文本可视化研究技术框架中的聚类或分类方法提取热点话题变得困难。
R语言主要用于统计分析与数据可视化,大量新兴研究领域算法不断更新,在人工智能领域有广泛的应用,R语言亦可用相对简单地完成微博可视化工作。
可下载资源
我们最近有一个很棒的机会与一位伟大的客户合作,要求构建一个耐克微博聚类算法。本文利用R语言完成对微博相应分析。
所要分析的数据对象为耐克nike微博热搜话题数据,数据样式如下图所示:
视频
文本挖掘:主题模型(LDA)及R语言实现分析游记数据
视频
KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例
查看数据
文本预处理
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类词频云图
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!