R語(yǔ)言SVM支持向量機(jī)、文本挖掘新聞?wù)Z料情感情緒分類和詞云可視化
全文鏈接:http://tecdat.cn/?p=32032
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
支持向量機(jī)(SVM)是一種機(jī)器學(xué)習(xí)方法,基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,即通過(guò)少量樣本數(shù)據(jù),得到盡可能多的樣本數(shù)據(jù)。支持向量機(jī)對(duì)線性問(wèn)題進(jìn)行處理,能解決非線性分類問(wèn)題。本文介紹了R語(yǔ)言中的 SVM工具箱及其支持向量機(jī)(SVM)方法,并將其應(yīng)用于文本情感分析領(lǐng)域,結(jié)果表明,該方法是有效的。在此基礎(chǔ)上,對(duì)文本挖掘新聞?wù)Z料進(jìn)行情感分類和詞云可視化,從視覺(jué)上對(duì)文本進(jìn)行情感分析。
語(yǔ)料是從yahoo Qimo上爬的新聞?wù)Z料,一共49000篇,每篇包含題目、新聞內(nèi)容、評(píng)論、讀者投票結(jié)果(投票選擇依次為:實(shí)用,感人、開(kāi)心、超扯、無(wú)聊、害怕、難過(guò)、火大)以及總投票個(gè)數(shù)。
數(shù)據(jù)概覽


以第一個(gè)預(yù)料為例
對(duì)其分詞提取關(guān)鍵詞
library(jiebaR)cutter = worker(type = "keywords", topn = 10) ?words = "1.txt"

查看工作目錄下所有的文件
dir = list.files(".")
獲取分類號(hào)
xx<-readLines(dir[i],encoding = "UTF-8")
## Warning in readLines(dir[i], encoding = "UTF-8"): 讀'1.txt'時(shí)最后一行未遂
# 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")#設(shè)置一個(gè)顏色系:wordcloud(cutter_words,as.numeriter_words)),random.order=FAL

準(zhǔn)備訓(xùn)練集和測(cè)試集
ntrain <- round(n*0.8) # 訓(xùn)練集 ?
tindex <- sample(n,ntrain) # 篩選測(cè)試集樣本 ?
xtrain<-textdata[tindex,] ?xtest<-textdata[-tindex,]#可視化 ?plot(textdata[,c("classlist","X1")] ,pch=ifelse(istrain==1,1,2))

訓(xùn)練SVM
現(xiàn)在我們?cè)谟?xùn)練集上使用來(lái)訓(xùn)練線性SVM
svm(classlist ~ . , textdata)

預(yù)測(cè)數(shù)據(jù)
predictedY <- predict(model, textdata)
預(yù)測(cè)的數(shù)據(jù)

查看分類混淆矩陣

最受歡迎的見(jiàn)解
1.Python主題建模LDA模型、t-SNE 降維聚類、詞云可視化文本挖掘新聞組
2.R語(yǔ)言文本挖掘、情感分析和可視化哈利波特小說(shuō)文本數(shù)據(jù)
3.r語(yǔ)言文本挖掘tf-idf主題建模,情感分析n-gram建模研究
4.游記數(shù)據(jù)感知旅游目的地形象
5.疫情下的新聞數(shù)據(jù)觀察
6.python主題lda建模和t-sne可視化
7.r語(yǔ)言中對(duì)文本數(shù)據(jù)進(jìn)行主題模型topic-modeling分析
8.主題模型:數(shù)據(jù)聆聽(tīng)人民網(wǎng)留言板的那些“網(wǎng)事”
9.python爬蟲(chóng)進(jìn)行web抓取lda主題語(yǔ)義數(shù)據(jù)分析