码迷,mamicode.com
首页 > 其他好文 > 详细

ML(3.2): NavieBayes R_kalR

时间:2017-04-19 09:33:51      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:程序   创建   code   log   避免   pac   lan   span   输入   

       ML3.1 介绍e1071包实施朴素贝叶斯分类的函数,本例使用klaR包中的NaiveBayes函数,因为该函数较之前者增加了两个功能,一个是可以输入先验概率,另一个是在正态分布基础上增加了核平滑密度函数。为了避免过度拟合,在训练时还要将数据分割进行多重检验,所以我们还使用了caret包的一些函数进行配合。

    caret::train

    语法: train(form, data, ..., weights, subset, na.action = na.fail, contrasts = NULL)

  • 安装程序包
    install.packages("caret")
    install.packages("mlbench")
    install.package("klaR")
  • 创建训练集和测试集
    index <-sample(1:nrow(iris), 100)
    iris.train <-iris[index, ]
    iris.test <-iris[-index, ]
  • 加载包 使用朴素贝叶斯建模
    fitControl <- trainControl(method = "repeatedcv", number = 10, repeats = 3,returnResamp = "all")
    model1 <- train(Species~., data = iris.train,method=nb,trControl = fitControl)
  • 返回测试数据的混淆矩阵
    > pred3 <- predict(model1, iris.test, type="raw")
    > table(pred3,iris.test$Species)
                
    pred3        setosa versicolor virginica
      setosa         10          0         0
      versicolor      0         18         2
      virginica       0          0        20

 

 

ML(3.2): NavieBayes R_kalR

标签:程序   创建   code   log   避免   pac   lan   span   输入   

原文地址:http://www.cnblogs.com/tgzhu/p/6731563.html

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