朴素贝叶斯分类——R语言e1071 and klaR包初体验


本文主要学习使用R语言中的klaR包与e1071包中的朴素贝叶斯分类函数,数据使用的仍是上篇文章中从UCI上下载的bank数据
下载地址:<a target=_blank href="http://archive.ics.uci.edu/ml/datasets/Bank+Marketing">http://archive.ics.uci.edu/ml/datasets/Bank+Marketing</a>

bank <- read.csv("D:/data/MachineLearning/bank/bank.csv",header=T,sep=";")#读取数据
n <- nrow(bank)
bank_train <- bank[1:4000,]#对源数据进行分割
bank_test <- bank[4001:n,1:16]
bank_test1 <- bank[4001:n,]
library(klaR)#加载klaR包
bfit <- NaiveBayes(y~age+job+marital+education+default+balance+housing+loan+contact
                   +day+month+duration+campaign+pdays+previous+poutcome,bank,na.action=na.pass)
#训练模型
result <- predict(bfit,bank_test)#对测试数据进行预测
result_1 <- data.frame(result)
result_2 <- result_1[,1]
source("D:/work/R_work/count_result.R")#加载我们自己写的统计函数
count_result(result_2,bank_test1)#计算正确率
library(e1071)#加载e1701包
efit <- naiveBayes(y~age+job+marital+education+default+balance+housing+loan+contact
                   +day+month+duration+campaign+pdays+previous+poutcome,bank_train)
eresult <- predict(efit,bank_test)
count_result(eresult,bank_test1)
#klaR包与e1071包都可以做朴素贝叶斯分类,本次试验中,klaR包在使用的时候会出现警告,但不影响预测
#运算,具体原因有待进一步探索
#朴素贝叶斯使用时要有假设条件:类条件独立性
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
很高兴回答您的问题。以下是关于朴素叶斯分类器在R语言中的介绍: R语言中有许多可以用于实现朴素叶斯分类器,其中最常用的是e1071和naivebayes。这两个都提供了实现高斯朴素叶斯分类器和多项式朴素叶斯分类器的函数。 下面是一个使用e1071实现高斯朴素叶斯分类器的例子: ```R # 导入e1071 library(e1071) # 创建一个数据集 data <- data.frame(x1=c(1,2,3,4,5), x2=c(1,1,2,2,2), y=c("A","A","B","B","B")) # 训练模型 model <- naiveBayes(y ~ x1 + x2, data) # 预测新数据 newdata <- data.frame(x1=3, x2=1) predict(model, newdata) ``` 上述代码中,我们首先导入了e1071,然后创建了一个数据集。接着,我们使用naiveBayes函数训练了一个高斯朴素叶斯分类器,并将其存储在model变量中。最后,我们使用predict函数对新数据进行预测。 除了e1071,naivebayes也提供了实现朴素叶斯分类器的函数。下面是一个使用naivebayes实现多项式朴素叶斯分类器的例子: ```R # 导入naivebayes library(naivebayes) # 创建一个数据集 data <- data.frame(x1=c(1,2,3,4,5), x2=c(1,1,2,2,2), y=c("A","A","B","B","B")) # 训练模型 model <- naive_bayes(y ~ x1 + x2, data) # 预测新数据 newdata <- data.frame(x1=3, x2=1) predict(model, newdata) ``` 上述代码中,我们首先导入了naivebayes,然后创建了一个数据集。接着,我们使用naive_bayes函数训练了一个多项式朴素叶斯分类器,并将其存储在model变量中。最后,我们使用predict函数对新数据进行预测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值