Probabilistic learning 朴素贝叶斯分类
Posted newbie学习笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Probabilistic learning 朴素贝叶斯分类相关的知识,希望对你有一定的参考价值。
sms_raw <- read.csv("sms_spam.csv", stringsAsFactors = FALSE)
sms_raw$type <- factor(sms_raw$type)
#类似的把目标变量factor化
table(sms_raw$type)
#首先需要处理的txt数据,SMS信息是一堆text数据构成的。
library(tm)
#tm数据包就是用于处理text数据的
sms_corpus <- Corpus(VectorSource(sms_raw$text))
print(sms_corpus)
inspect(sms_corpus[1:3])
corpus_clean <- tm_map(sms_corpus, tolower)
corpus_clean <- tm_map(corpus_clean, removeNumbers)
corpus_clean <- tm_map(corpus_clean, removeWords, stopwords())
corpus_clean <- tm_map(corpus_clean, removePunctuation)
#先把SMSmessages转化为lowercase。最终我们得到的去除数字、stop词(类似于to and but以及or),标点符号
corpus_clean <- tm_map(corpus_clean, stripWhitespace)
#去除了删除上述词后留下的空白
sms_dtm <- DocumentTermMatrix(corpus_clean)
#DocumentTermMatrix能够把corpus转化为矩阵,计算出现的词频
sms_raw_train <- sms_raw[1:4169, ]
sms_raw_test <- sms_raw[4170:5574, ]
sms_dtm_train <- sms_dtm[1:4169, ]
sms_dtm_test <- sms_dtm[4170:5574, ]
sms_corpus_train <- corpus_clean[1:4169]
sms_corpus_test <- corpus_clean[4170:5559]
#看一下垃圾信息所占的比例
prop.table(table(sms_raw_train$type))
prop.table(table(sms_raw_test$type))
#使用了词云 以上是关于Probabilistic learning 朴素贝叶斯分类的主要内容,如果未能解决你的问题,请参考以下文章 Probabilistic Graphical Models 1: Representation-Week1-reasoning-patterns