简单的朴素贝叶斯算法应用于一个简单的数据

朴素贝叶斯在一些情况下分类效果还是不错的,一般常用于文本分析,如垃圾邮件分类等。
本文不介绍朴素贝叶斯算法的理论部分,直接给出一个数据集的案例分析。

数据集由几个医学预测变量和一个目标变量组成Outcome。预测变量包括患者的怀孕次数,BMI,胰岛素水平,年龄等。

  • 数据集的目的是基于数据集中包括的某些诊断测量来诊断性地预测患者是否患有糖尿病。从较大的数据库中选择这些实例存在一些限制。特别是,这里的所有患者都是至少21岁的皮马印第安人遗产的女性。

本文基于朴素贝叶斯算法,使用R语言建模

目的是建立一个预测模型,以预测新科目的糖尿病。

数据将分为训练和测试数据集75/25分流比。
评估将在测试数据集上进行。

其中,将结果变量更改为一个因子:真(有糖尿病)和假(没有糖尿病)。

  • 先加载要使用的包,若包未下载,使用install.packages()下载即可
library(tidyverse) 
library(ggplot2)
library(caret)
library(caretEnsemble)
library(psych)
library(Amelia)
library(mice)
library(GGally)
library(rpart)
  • 读入数据,路径自设,此处省略
Xdata<- read.csv("....../diabetes.csv") 

#将结果变量Outcome转化为因子变量
Xdata$Outcome <- factor(Xdata$Outcome, levels = c(0,1), labels = c("False", "True"))

-- Attaching packages --------------------------------------- tidyverse 1.2.1 --
√ ggplot2 3.1.0       √ purrr   0.2.5  
√ tibble  2.1.1       √ dplyr   0.8.0.1
√ tidyr   0.8.3       √ stringr 1.3.1  
√ readr   1.3.1       √ forcats 0.3.0  
-- Conflicts ------------------------------------------ tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()

载入需要的程辑包:lattice

载入程辑包:‘caret’

The following object is masked frompackage:purrr’:

    lift

Warning message:
程辑包‘caret’是用R版本3.5.3 来建造的 
载入程辑包:‘caretEnsemble’

The following object is masked frompackage:ggplot2’:

    autoplot

Warning message:
程辑包‘caretEnsemble’是用R版本3.5.3 来建造的 

载入程辑包:‘psych’

The following objects are masked frompackage:ggplot2’:

    %+%, alpha

Warning message:
程辑包‘psych’是用R版本3.5.3 来建造的 

载入需要的程辑包:Rcpp
## 
## Amelia II: Multiple Imputation
## (Version 1.7.5, built: 2018-05-07)
## Copyright (C) 2005-2019 James Honaker, Gary King and Matthew Blackwell
## Refer to http://gking.harvard.edu/amelia/ for more information
## 
Warning message:
程辑包‘Amelia’是用R版本3.5.3 来建造的 

载入程辑包:‘mice’

The following object is masked frompackage:tidyr’:

    complete

The following objects are masked frompackage:base’:

    cbind, r
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值