R语言文本挖掘:kmeans聚类分析上海玛雅水公园景区五一假期评论词云可视化

简介: R语言文本挖掘:kmeans聚类分析上海玛雅水公园景区五一假期评论词云可视化

全文链接:http://tecdat.cn/?p=32307


互联网时代,大量的新闻信息、网络交互、舆情信息以文本形式存储在数据库中,如何利用数据分析和文本挖掘的算法,将海量文本的价值挖掘出来,成为我们团队近期的一个研究方向,本案例就是我们的一个尝试点击文末“阅读原文”获取完整代码数据


文本聚类其实也就是聚类分析在文本方向上的应用,首先我们要把一个个文档的自然语言转换成数学信息,这样形成高维空间点之后再去计算点与点之间的距离,然后将这些距离比较近的聚成一个簇,这些簇的中心成为簇心。而我们做的就是保证簇内点的距离足够近,簇与簇的距离足够远。

本文将通过R语言帮助客户来实现文本挖掘、聚类和词云可视化技术,体验一下舆情分析的魅力。


原始评论数据


本文获取上海玛雅水公园景区评论数据共计1692条数据:

读取数据


pinglun=read.xlsx("玛雅景区数据5.8.xlsx")

文本预处理


res=pinglun1[pinglun1!=" "];  
#剔除通用标题  
# res=gsub(pattern="[專賣店【未拆封順豐】|<b>|</b>]+"," ",res);   
#剔除特殊词  
res=gsub(pattern="[我|你|的|了|是]"," ",res);       
#清理文本里的回车!否则每个回车就会被识别成一段文本
res=gsub("\n","",res)

分词+频数统计


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

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

d=subset(d, nchar(as.character(d$word))>1 & d$freq>=100)

输出关键词结果


write.table(d, file="/worldcup_keyword.txt", row.names=FALSE)

绘制词汇图


wordcloud(d$word,d$freq,random.order=FALS

点击标题查阅往期内容


自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据


01

02

03

04


kmeans聚类部分


转换成评价矩阵

rating=matrix(0,length(res1),dim(d)[1])#生成评价矩阵
for(i in 1:length(res1)){
  words=unlist(lapply(X=res1[i], FUN=segmentCN));#对每一条记录分析获得词频  
#输出评价矩阵###############################
write.table(rating, file="评价矩阵.txt", row.names=FALSE)


对评价矩阵进行k均值聚类


kmeans(rating,5)#对评价矩阵进行k均值聚类


词云可视化


#第一个类别################################
mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:
wordcloud(colnames(result)[-c(115,116)],freq1[

第二个类别


wordcloud(colnames(result)[-c(115,116)],f

第三个类别


wordcloud(colnames(result)[-c(115,116)],freq3[-c(

1.被提及了哪些维度


第一个维度是指开心好玩,可以认为是景点的可玩性程度。第二个维度是 排队的关键词 另外包含时间,因此可以认为是景点的秩序问题。 第三个维度是项目、 公园 、喇叭 、热带、 漂流等关键词,可以认为是景点的游玩项目维度。


2.各维度关注度如何(即被提及的频率)


#第一类的关注度 可玩性程度。
guanzhu1=length(which(result$kmeansmod.cluster==1))
#第二类的关注度 景点的秩序问题
guanzhu2=length(which(result$kmeansmod.cluster==4))
#第三类的关注度 游玩项目维度
guanzhu3=length(which(result$kmeansmod.cluster==3))


3.各维度的满意度指数


#第一类的满意度指数 可玩性程度。
manyi1=sum(na.omit(result$pinglun.星级.1.nrow.rating.. [which(result$kmeansmod.cluster==1)]))
#第二类的满意度指数 景点的秩序问题
manyi2=sum(result$pinglun.星级.1.nrow.rating.. [which(result$kmeansmod.cluster==4)])
 
#第三类的满意度指数 游玩项目维度
manyi3=sum(result$pinglun.星级.1.nrow.rating.. [which(result$kmeansmod.cluster==3)])


4.三张图:各维度关注度,各维度满意度,词云


colnames(manyi)=c("可玩性程度","景点的秩序问题","游玩项目维度")
barplot(manyi,ylab="满意度")

相关文章
|
3月前
|
数据可视化 数据挖掘 图形学
R语言基础可视化:使用ggplot2构建精美图形的探索
【8月更文挑战第29天】 `ggplot2`是R语言中一个非常强大的图形构建工具,它基于图形语法提供了一种灵活且直观的方式来创建各种统计图形。通过掌握`ggplot2`的基本用法和美化技巧,你可以轻松地将复杂的数据转化为直观易懂的图形,从而更好地理解和展示你的数据分析结果。希望本文能够为你探索`ggplot2`的世界提供一些帮助和启发。
|
3月前
|
数据可视化 数据挖掘 数据处理
R语言高级可视化技巧:使用Plotly与Shiny制作互动图表
【8月更文挑战第30天】通过使用`plotly`和`shiny`,我们可以轻松地创建高度互动的数据可视化图表。这不仅增强了图表的表现力,还提高了用户与数据的交互性,使得数据探索变得更加直观和高效。本文仅介绍了基本的使用方法,`plotly`和`shiny`还提供了更多高级功能和自定义选项,等待你去探索和发现。希望这篇文章能帮助你掌握使用`plotly`和`shiny`制作互动图表的技巧,并在你的数据分析和可视化工作中发挥更大的作用。
|
6月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
3月前
|
数据可视化
R语言可视化设计原则:打造吸引力十足的数据可视化
【8月更文挑战第30天】R语言可视化设计是一个综合性的过程,需要综合运用多个设计原则来创作出吸引力十足的作品。通过明确目标、选择合适的图表类型、合理运用色彩与视觉层次、明确标注与引导视线以及引入互动性与动态效果等原则的应用,你可以显著提升你的数据可视化作品的吸引力和实用性。希望本文能为你提供一些有益的启示和帮助。
|
6月前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
|
6月前
|
Web App开发 数据可视化 数据挖掘
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
|
6月前
|
数据可视化
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码2
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
6月前
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
|
6月前
|
移动开发 数据可视化
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。