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")
  • 创建训练集和测试集
    library(lattice)
    library(ggplot2)
    library(caret)
    library(mlbench)
    library(MASS)
    library(klaR) # 使用朴素贝叶斯建模,这里使用了三次10折交叉检验得到30个结果
    fitControl <- trainControl(method = "repeatedcv", number = 10, repeats = 3,returnResamp = "all")
    model1 <- train(Species~., data = iris.train,method='nb',trControl = fitControl)
  • 加载包 使用朴素贝叶斯建模
    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的更多相关文章

  1. ML(3.1): NavieBayes R_e1071

    朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法, 具体见ML(3): 贝叶斯方法 R包 ① e1071::e1071 ② klaR::klaR 参考资料:https://en.wikibooks ...

  2. ML(4): NavieBayes在R中的应用

    朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法, 具体见上一节. 算法包:e1071 函数:navieBayes(formule,data,laplace=0,...,subset,na.act ...

  3. 贝叶斯、朴素贝叶斯及调用spark官网 mllib NavieBayes示例

    贝叶斯法则   机器学习的任务:在给定训练数据A时,确定假设空间B中的最佳假设.   最佳假设:一种方法是把它定义为在给定数据A以及B中不同假设的先验概率的有关知识下的最可能假设   贝叶斯理论提供了 ...

  4. Spark2 ML 学习札记

    摘要: 1.pipeline 模式 1.1相关概念 1.2代码示例 2.特征提取,转换以及特征选择 2.1特征提取 2.2特征转换 2.3特征选择 3.模型选择与参数选择 3.1 交叉验证 3.2 训 ...

  5. [Machine Learning & Algorithm]CAML机器学习系列2:深入浅出ML之Entropy-Based家族

    声明:本博客整理自博友@zhouyong计算广告与机器学习-技术共享平台,尊重原创,欢迎感兴趣的博友查看原文. 写在前面 记得在<Pattern Recognition And Machine ...

  6. [Machine Learning & Algorithm]CAML机器学习系列1:深入浅出ML之Regression家族

    声明:本博客整理自博友@zhouyong计算广告与机器学习-技术共享平台,尊重原创,欢迎感兴趣的博友查看原文. 符号定义 这里定义<深入浅出ML>系列中涉及到的公式符号,如无特殊说明,符号 ...

  7. 机器学习 - ML

    CNCC - 2016 | 机器学习(原文链接) Machine Learning - ML,机器学习起源于人工智能,是AI的一个分支. 机器学习的理论基础:计算学习理论 - Computationa ...

  8. ML 基础知识

    A computer program is said to learn from experience E with respect to some task T and some performan ...

  9. [OpenCV] Samples 06: [ML] logistic regression

    logistic regression,这个算法只能解决简单的线性二分类,在众多的机器学习分类算法中并不出众,但它能被改进为多分类,并换了另外一个名字softmax, 这可是深度学习中响当当的分类算法 ...

随机推荐

  1. [LeetCode] 35. Search Insert Position ☆(丢失的数字)

    转载:https://leetcode.windliang.cc/leetCode-35-Search-Insert-Position.html    思路 Given a sorted array ...

  2. Linux WiFi Deauthenticated Reason Codes

    Code Reason Explanation 0 Reserved Normal working operation 1 Unspecific Reason We don’t know what’s ...

  3. PatePoco中对sql参数化时Top参数化的问题

    PatePoco中对sql参数化是直接用@+参数名来处理,但是想用如下语句时竟然报错了 SELECT TOP @num * FROM tableA 执行时抛出异常,根据错误提示搞了很久都没找到原因,最 ...

  4. JSON 数组的创建方式

    procedure TFormDZMD.Button1Click(Sender: TObject); var ja: ISuperObject; begin ja := SA([]); ja.AsAr ...

  5. 在ant编译java文件时产生debug信息

    使用ant编译java文件时,如果没有设置debug属性,则不会产生编译信息,ant的默认设置是不打印编译信息. 如果想在编译过程中显示编译信息,需设置debug属性为true,并且设置debugLe ...

  6. get_class

    <?phpclass foo {    function foo()    {    // implements some logic    }    function name()    {  ...

  7. Kali Linux更新源以及设置中文

    在终端输入 gedit /etc/apt/sources.list 复制下列源替换原有的 #官方源 deb http://http.kali.org/kali sana main non-free c ...

  8. IPM简介

    1.IPM包含3个函数. image2ground:将图像中的像素点(u, v)对应到地平面上(Z=1)IPM的像素点(x, y): ground2image:将IPM中的像素点(x, y)基于IPM ...

  9. 辞树的QAQ水题(字符串统计,思维)

    思路:统计一串字符有多少个'A',并分别统计出每个'A'前后有多少'Q'.然后让每个'A'前后的'Q'相乘并相加就能得出结果了. 注意:数据的类型,卡了int,要用long long. 还有就是在pc ...

  10. (2)字符编码关系和转换(bytes类型)

    ASCII 占一个字节,只支持英文 GB2312 占2个字节,只支持6700+汉字 GBK 是GB2312的升级版,支持21000+汉字 Shift-JIS 日本字符编码 ks_c-5601-1987 ...