全文链接:http://tecdat.cn/?p=32032
支持向量机(SVM)是一种机器学习方法,基于结构风险最小化原则,即通过少量样本数据,得到尽可能多的样本数据(点击文末“阅读原文”获取完整代码数据)。
相关视频
支持向量机对线性问题进行处理,能解决非线性分类问题。本文介绍了R语言中的 SVM工具箱及其支持向量机(SVM)方法,并将其应用于文本情感分析领域,结果表明,该方法是有效的。在此基础上,对文本挖掘新闻语料进行情感分类和词云可视化,从视觉上对文本进行情感分析。
语料是从yahoo Qimo上爬的新闻语料,一共49000篇(查看文末了解数据免费获取方式),每篇包含题目、新闻内容、评论、读者投票结果(投票选择依次为:实用,感人、开心、超扯、无聊、害怕、难过、火大)以及总投票个数。
数据概览


以第一个预料为例
对其分词提取关键词
library(jiebaR)
cutter = worker(type = "keywords", topn = 10)
words = "1.txt"

查看工作目录下所有的文件
dir = list.files(".")
获取分类号
xx<-readLines(dir[i],encoding = "UTF-8")
## Warning in readLines(dir[i], encoding = "UTF-8"): 读'1.txt'时最后一行未遂
# xx<-readLines("2.txt",encoding = "UTF-8")
class=strsplit(xx[length(xx)-1],split="#")[[1]][3]
词性分类
for(i in 1:10){
cutter = worker(type = "keywords", topn = 10)
绘制词汇图
mycolors <- brewer.pal(8,"Dark2")#设置一个颜色系:
wordcloud(cutter_words,as.numeriter_words)),random.order=FAL

点击标题查阅往期内容


左右滑动查看更多

准备训练集和测试集
ntrain <- round(n*0.8) # 训练集
tindex <- sample(n,ntrain) # 筛选测试集样本
xtrain<-textdata[tindex,]
xtest<-textdata[-tindex,]
#可视化
plot(textdata[,c("classlist","X1")] ,pch=ifelse(istrain==1,1,2))

训练SVM
现在我们在训练集上使用来训练线性SVM
svm(classlist ~ . , textdata)

预测数据
predictedY <- predict(model, textdata)
预测的数据

查看分类混淆矩阵

数据获取
在公众号后台回复“新闻数据”,可免费获取完整数据。

本文中分析的数据分享到会员群,扫描下面二维码即可加群!


点击文末“阅读原文”
获取全文完整代码数据资料。
本文选自《R语言SVM支持向量机、文本挖掘新闻语料情感情绪分类和词云可视化》。
点击标题查阅往期内容



文章转载自拓端数据部落,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。








