码迷,mamicode.com
首页 > 系统相关 > 详细

Machine Learning for hackers读书笔记(三)分类:垃圾过滤(未完成)

时间:2015-10-22 01:38:14      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

#定义函数,打开每一个文件,找到空行,将空行后的文本返回为一个字符串向量,该向量只有一个元素,就是空行之后的所有文本拼接之后的字符串

#很多邮件都包含了非ASCII字符,因此设为latin1就可以读取非ASCII字符

#readLines,读取每一行作为一个元素

get.msg <- function(path)
{
con <- file(path, open = "rt")
text <- readLines(con)
# The message always begins after the first full line break
msg <- text[seq(which(text == "")[1] + 1, length(text), 1)]
close(con)
return(paste(msg, collapse = "\n"))
}

#dir读取目录下所有文件

spam.docs<-dir(spam.path)

#去掉目录下的cmds文件

spam.docs<-spam.docs[which(spam.docs!=‘cmds‘)]

#利用get.msg函数,读取每个邮件空行后的全部内容并形成文本向量

all.spam<-sapply(spam.docs,function(p) get.msg(paste(spam.path,p,sep=‘‘)))

#定义函数get.tdm,输入邮件文本向量,输出词项文档矩阵
get.tdm <- function(doc.vec)
{
control <- list(stopwords = TRUE,
removePunctuation = TRUE,
removeNumbers = TRUE,
minDocFreq = 2)
doc.corpus <- Corpus(VectorSource(doc.vec))
doc.dtm <- TermDocumentMatrix(doc.corpus, control)
return(doc.dtm)
}

 

写不下去了,按书上给的程序无法运行,可能是操作系统差异,出错是不知道哪个函数里的tolower

连tolower都会出错,真是无语,果然是统计学家写出来的软件

 

Machine Learning for hackers读书笔记(三)分类:垃圾过滤(未完成)

标签:

原文地址:http://www.cnblogs.com/MarsMercury/p/4899669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!