“ML_for_Hackers”[2]

今天在处理文本回归时,遇到一个问题,需要记录。

ranks <- read.csv(‘/Users/lvxubo/Desktop/ML_for_Hackers-master/06-Regularization/data/oreilly.csv‘,stringsAsFactors=FALSE)
library(‘tm‘)
documents <- data.frame(Text=ranks$Long.Desc.)
row.names(documents) <- 1:nrow(documents)

corpus <- Corpus(DataframeSource(documents))
corpus <- tm_map(corpus,tolower)
corpus <- tm_map(corpus,stripWhitespace)
corpus <- tm_map(corpus,removeWords,stopwords(‘english‘))
corpus <- tm_map(corpus, PlainTextDocument)

dtm <- DocumentTermMatrix(corpus)

如果没有标记的一句代码,会报错:

Error in UseMethod("meta", x) : "meta"没有适用于"character"目标对象的方法
此外: Warning message:
In mclapply(unname(content(x)), termFreq, control) :
  all scheduled cores encountered errors in user code

这是stackoverflow上的解决:

It seems this would have worked just fine in tm 0.5.10 but changes in tm 0.6.0 seems to have broken it. The problem is that the functions tolower and trim won‘t necessarily return TextDocuments (it looks like the older version may have automatically done the conversion). They instead return characters and the DocumentTermMatrix isn‘t sure how to handle a corpus of characters.

So you could change to

corpus_clean <- tm_map(news_corpus, content_transformer(tolower))

Or you can run

corpus_clean <- tm_map(corpus_clean, PlainTextDocument)

after all of your non-standard transformations (those not in getTransformations()) are done and just before you create the DocumentTermMatrix. That should make sure all of your data is in PlainTextDocument and should make DocumentTermMatrix happy.

时间: 2024-10-25 07:55:48

“ML_for_Hackers”[2]的相关文章

[读书笔记]机器学习:实用案例解析(5)

第5章  回归模型:预测网页访问量 回归模型:用已知数据集预测另外一个数据集,已知数据集称为输入,也叫预测变量或特征,想要预测的数据称为输出.回归模型与分类模型的不同之处在于回归模型的输出是有意义的数值. 基准模型:用均值作为预测 #machine learing for heckers #chapter 5 library(ggplot2) ages <- read.csv('ML_for_Hackers/05-Regression/data/longevity.csv') #密度图 ggpl

[读书笔记]机器学习:实用案例解析(7)

第7章  优化:密码破译 优化简介:最优点(optimum),优化(optimization) 本章研究的问题:构建一个简单的密码破译系统,把解密一串密文当做一个优化问题. 优化方法:网格搜索(grid search),主要问题是1.步长的选择:2.维度灾难(Curse of Dimensionality):问题规模过大 optim函数:比网格搜索更快,可以通过已经计算出的信息推断出下一步的方向,同时对所有变量一起优化.(根据书中后文,可能的原理是根据导数得出下一步的进行方向,因为该函数对于不可

[读书笔记]机器学习:实用案例解析(2)

第2章  数据分析 #machine learing for heckers #chapter 2 library(ggplot2) heights.weights <- read.csv("ML_for_Hackers/02-Exploration/data/01_heights_weights_genders.csv", header = TRUE, sep = ",") #不同区间宽度的直方图 ggplot(heights.weights, aes(x

R语言:用简单的文本处理方法优化我们的读书体验

前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实就是继续讲一下用R语言读书的事情啦,讲讲怎么用它里面简单的文本处理方法,来优化我们的读书体验,如果读邮件和读代码也算阅读的话..用的代码超级简单,不涉及其他包 这里讲两个示例,结尾再来吐槽和总结. 1)R-Blogger订阅邮件拆分 2) R代码库快速阅读方法 不在博客园上阅读时才会看到的,这篇博文归 http://www.cnblogs.com/weibaar所有 仅保证在博客园博客上的排版干净利索

[读书笔记]机器学习:实用案例解析(1)

第1章  使用R语言 #machine learing for heckers #chapter 1 library(ggplot2) library(plyr) #.tsv文件用制表符进行分割#字符串默认为factor类型,因此stringsAsFactors置FALSE防止转换#header置FALSE防止将第一行当做表头#定义空字符串为NA:na.strings = "" ufo <- read.delim("ML_for_Hackers/01-Introduct

Machine Learning for hackers读书笔记(十二)模型比较

library('ggplot2')df <- read.csv('G:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\12-Model_Comparison\\data\\df.csv') #用glm logit.fit <- glm(Label ~ X + Y,family = binomial(link = 'logit'),data = df) logit.predictions <- ifelse(predict(logit

[读书笔记]机器学习:实用案例解析(4)

第4章  排序:智能收件箱 有监督学习与无监督学习:有监督学习已有明确的输出实例:无监督学习在开始处理数据时预先并没有已知的输出实例. 理论上邮件的优先级特征: 社交特征:收件人与发件人之间的交互程度 内容特征:收件人对邮件采取行为(回复.标记等)与某些特征词之间相关 线程特征:记录用户在当前线程下的交互行为 标签特征:检查用户通过过滤器给邮件赋予的标签(标记) 由于数据量不足,本文用于替代的优先级特征:(需要抽取的元素) 社交特征:来自某一发件人的邮件量(发件人地址) 时间量度:(接受时间日期

[读书笔记]机器学习:实用案例解析(3)

第3章  分类:垃圾过滤 #machine learing for heckers #chapter 3 library(tm) library(ggplot2) #设置路径变量 spam.path <- "ML_for_Hackers/03-Classification/data/spam/" spam2.path <- "ML_for_Hackers/03-Classification/data/spam_2/" easyham.path <-

Machine Learning for hackers读书笔记(十)KNN:推荐系统

#一,自己写KNN df<-read.csv('G:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\10-Recommendations\\data\\example_data.csv')head(df) #得出距离矩阵distance.matrix <- function(df){ #生成一万个NA,并转成100*100的矩阵 distance <- matrix(rep(NA, nrow(df) ^ 2), nrow = nrow