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

42次阅读

共计 2278 个字符,预计需要花费 6 分钟才能阅读完成。

全文链接: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

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="满意度")


最受欢迎的见解

1.Python 主题建模 LDA 模型、t-SNE 降维聚类、词云可视化文本开掘新闻组

2.R 语言文本开掘、情感剖析和可视化哈利波特小说文本数据

3.r 语言文本开掘 tf-idf 主题建模,情感剖析 n -gram 建模钻研

4. 游记数据感知游览目的地形象

5. 疫情下的新闻数据察看

6.python 主题 lda 建模和 t -sne 可视化

7.r 语言中对文本数据进行主题模型 topic-modeling 剖析

8. 主题模型:数据凝听人民网留言板的那些“网事”

9.python 爬虫进行 web 抓取 lda 主题语义数据分析

正文完
 0