美文网首页
机器学习之朴素贝叶斯

机器学习之朴素贝叶斯

作者: bffbb3a8a646 | 来源:发表于2019-05-05 10:45 被阅读0次

1.贝叶斯原理

朴素贝叶斯分类(Naive Bayesian,NB)源于贝叶斯理论,是一类基于概率的分类器,其基本思想:假设样本属性之间相互独立,对于给定的待分类项,求解在此项出现的情况下其他各个类别出现的概率。

朴素贝叶斯分类实现的三阶段

第一阶段,准备工作。

根据具体情况确定特征属性,并对每一特征属性进行划分,然后人工对一些待分类项进行分类,形成训练样本集合。

这一阶段的输入是所有待分类数据,输出是特征属性和训练样本。唯一需要人工处理的阶段,质量要求较高。

第二阶段,分类器训练阶段(生成分类器)。

计算每个类别在训练样本中出现频率及每个特征属性划分对每个类别的条件概率估计,并将结果记录。

其输入是特征属性和训练样本,输出是分类器。

第三阶段,应用阶段。

使用分类器对待分类项进行分类,其输入是分类器和待分类项,输出是待分类项与类别的映射关系。

2.R语言贝叶斯网络实现

caret中train函数

e1071包中的naiveBayes函数

klaR包中的NavieBayes函数

2.1数据准备

我们将在Rstudio中使用这三种朴素贝叶斯函数对威斯康星州乳腺癌数据集进行分类。

#设置路径

setwd("F:\360MoveData\Users\Administrator.PC-201704251340\Desktop\机器学习课程\决策树")

#读入数据

breast<-read.csv("breast dataset.csv")

#设置class为分类变量

df <- breast[-1]#删除第一列ID

df$class <- factor(df$class, levels=c(2,4),

labels=c("benign", "malignant"))

#将数据集分为训练集和验证集

set.seed(1234)

train <- sample(nrow(df), 0.7*nrow(df))

df.train <- df[train,]

df.validate <- df[-train,]

table(df.train$class)

table(df.validate$class)

2.2 e1071包中naiveBayes( )函数

naiveBayes(formula, data, laplace = 0, ..., subset, na.action = na.pass)

·formula:类似一般线性回归表达式,不含常数项。

data:需要分析的训练数据对象。

laplace:拉普拉斯估计值,默认为0。

subset:抽取要分析的训练数据子集。

na.action:缺失值的处理方法。默认情况下不将缺失值纳入模型计算,如果设定为na.omit则会删除缺失值进行计算。

###e1071包中的naiveBayes函数

library(e1071)

set.seed(1234)

fit1 <- naiveBayes(class~., data=df.train)

fit1

fit1.pred <- predict(fit1, na.omit(df.validate))

fit1.perf <- table(na.omit(df.validate)$class, 8

fit1.pred, dnn=c("Actual", "Predicted"))

fit1.perf

通过朴素贝叶斯分类得到96.19%的准确率。

相关文章

  • 机器学习实战 朴素贝叶斯

    title: 朴素贝叶斯 机器学习实战date: 2019-07-28tags: 机器学习 贝叶斯categori...

  • 机器学习数学原理(4)——朴素贝叶斯模型

    机器学习数学原理(4)——朴素贝叶斯模型 朴素贝叶斯模型(Naive Bayes Model),是一种基于贝叶斯定...

  • 朴素贝叶斯

    学习机器学习最简单的算法可以说就是 朴素贝叶斯了,今天分享下自己的学习心得。 什么是贝叶斯,什么是朴素贝叶斯 贝叶...

  • 朴素贝叶斯法

    朴素贝叶斯法 朴素贝叶斯法的学习与分类 朴素贝叶斯法的参数估计 朴素贝叶斯实现 高斯朴素贝叶斯实现 使用 skle...

  • 朴素贝叶斯分类算法

    朴素贝叶斯分类算法多项式和高斯朴素贝叶斯的解释 朴素贝叶斯是一种有监督的机器学习方法,是概率分类器家族的一员。它采...

  • Task4

    传统机器学习 一、朴素贝叶斯朴素贝叶斯(naïve Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。对...

  • 机器学习 Day 12 | 朴素贝叶斯基础

    机器学习第十二天 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均...

  • Scikit-Learn 朴素贝叶斯分类丨数析学院

    朴素贝叶斯分类是机器学习中常见的分类方法之一,本节将带大家深入学习一下 Scikit-Learn 中朴素贝叶斯分类...

  • 机器学习之朴素贝叶斯

    引言 一、概念 1.贝叶斯定理关于[随机]事件A和B的[条件概率](或[边缘概率])的一则定理,为了解决一个“逆概...

  • 机器学习之朴素贝叶斯

    1.贝叶斯原理 朴素贝叶斯分类(Naive Bayesian,NB)源于贝叶斯理论,是一类基于概率的分类器,其基本...

网友评论

      本文标题:机器学习之朴素贝叶斯

      本文链接:https://www.haomeiwen.com/subject/cercoqtx.html