R 保存朴素贝叶斯进行训练,R 相当于 Python 的 pickle。

Posted

技术标签:

【中文标题】R 保存朴素贝叶斯进行训练,R 相当于 Python 的 pickle。【英文标题】:R saving Naive Bayes for training, R equivalent to Pythons pickle. 【发布时间】:2018-05-18 03:36:17 【问题描述】:

我一直在使用 Python 进行数据分析,并且一直希望对 R 做同样的事情,尤其是情绪分析。使用 python 来训练 NB 算法,我可以将其保存为泡菜并重复使用以继续训练它,但是我不确定如何使用 R 来做到这一点。 这是我目前使用库 e1071 训练和测试数据集所遵循的。清理数据后。

convert_count <- function(x) 
  y <- ifelse(x > 0, 1,0)
  y <- factor(y, levels=c(0,1), labels=c("No", "Yes"))
  y


trainNB <- apply(dtm.train.nb, 2, convert_count)
testNB <- apply(dtm.test.nb, 2, convert_count)

system.time( classifier <- naiveBayes(trainNB, df.train$class, laplace = 1) )

system.time( pred <- predict(classifier, newdata=testNB) )
table("Predictions"= pred,  "Actual" = df.test$class )

谁能向我解释一下在使用 R 时 Python pickle 等价物是什么? 我的另一个问题是使用 tm 清理语料库,然后使用文档术语矩阵实现词袋?

谢谢

【问题讨论】:

【参考方案1】:

我没有在 Python 中使用过酸洗,但看起来你只是在压缩和保存一个对象,对吧?

在这种情况下 - 我会使用“fst”包中的“write.fst”。它序列化数据帧。当您想再次访问该对象时,您必须执行“read.fst”。

【讨论】:

以上是关于R 保存朴素贝叶斯进行训练,R 相当于 Python 的 pickle。的主要内容,如果未能解决你的问题,请参考以下文章

如何在 R 中为 tf-idf 加权 dfm 训练朴素贝叶斯分类器?

R语言-贝叶斯网络语言实现及与朴素贝叶斯区别(笔记)

译文:朴素贝叶斯算法简介(Python和R中的代码)

查询包 e1071 R 中的朴素贝叶斯算法

朴素贝叶斯应用:垃圾邮件分类

在 R 中使用插入符号调整朴素贝叶斯分类器