欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    R语言朴素贝叶斯分类上机指导.doc

    • 资源ID:30688       资源大小:57.50KB        全文页数:5页
    • 资源格式: DOC        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    R语言朴素贝叶斯分类上机指导.doc

    1、朴素贝叶斯分类上机指导一、实验目的:1 .掌握矩阵数据的输入,输出,以及矩阵和数据框数据的转换,认识一下list型数据。2 .理解并掌握朴素贝叶斯分类原理。3 .会使用klaR包中的NaiveBayes雨数实现贝叶斯分类算法。二、实验内容:本实验利用朴素贝叶斯分类方法对课本P144页playtennis数据集建立模型并预测。三、实验步骤:1.将课本P144页playtennis数据以矩阵形式输入,注意理解下面红色代码。data-matrix(c(sunny,hot,high,weak,no,“sunny,hot,high,strong,no,“overcast,hot,high,weak,ye

    2、s,rain,mild,high,weak,yes,rain,cool,normal,weak,yes,rain,cool,normal,strong,no,“overcast,cool,normal,strong,yes,“sunny,mild,high,weak,no,“sunny,cool,normal,weak,yes,rain,mild,normal,weak,yes,“sunny,mild,normal,strong,yes,“overcast,mild,high,strong,yes,“overcast,hot,normal,weak,yes,rain,mild,high,str

    3、ong,no),byrow=TRUE,dimnames=list(day=c(),condition=c(outlook,temperature,“humidity,wind,playtennis),nrow=14,ncol=5);# 上网查询dimnames的用法# 输出一下data数据:# 将矩阵转化成数据框# data1write.table(data1,file=playtennis.txt,sep=)# 可以重新读入保存的txt文件data2-read.table(playtennis.txt,head=TRUE)2.理解并掌握朴素贝叶斯分类原理,读懂下列代码# 算出去玩与不玩的先验

    4、概率prior.yes-sum(data2,5=yes)/length(data2,5);prior.no-sum(data2,5=no)/length(data2,5);# 建立朴素贝叶斯分类函数bayespre-function(condition)post.yes-sum(data2,1=condition1)&(data2,5=yes)/sum(data2,5=yes)*sum(data2,2=condition2)&(data2,5=yes)/sum(data2,5=yes)*sum(data2,3=condition3)&(data2,5=yes)/sum(data2,5=yes)

    5、sum(data2,4=condition4)&(data2,5=yes)/sum(data2,5=yes)*prior.yes;post.no=post.no,yes,no);# 利用建立的朴素贝叶斯函数做预测bayespre(c(rain,hot,high,strong)$prob.yes10.005291005$prob.no10.02742857$prediction1 no#这些结果是多少?用函数bayespre()算一下,你能手动算出来吗?把你的算式写出来bayespre(c(sunny,mild,normal,weak)bayespre(c(overcast,mild,norm

    6、al,weak)bayespre(c(sunny,cool,high,strong)3使用klaR包中的NaiveBayes(璃数实现贝叶斯分类算法NaiveBayes()函数的语法和参数如下:NaiveBayes(formula,data,,subset,na.action=na.pass)NaiveBayes(x,grouping,prior,usekernel=FALSE,fL=0,)formula指定参与模型计算的变量,以公式形式给出,类似于y=x1+x2+x3;data用于指定需要分析的数据对象;na.action指定缺失值的处理方法,默认情况下不将缺失值纳入模型计算,也不会发生报错

    7、信息,当设为“na.omit”时则会删除含有缺失值的样本;x指定需要处理的数据,可以是数据框形式,也可以是矩阵形式;grouping为每个观测样本指定所属类别;prior可为各个类别指定先验概率,默认情况下用各个类别的样本比例作为先验概率;usekernel指定密度估计的方法(在无法判断数据的分布时,采用密度密度估计方法),默认情况下使用标准的密度估计,设为TRUE时,则使用核密度估计方法;fL指定是否进行拉普拉斯修正,默认情况下不对数据进行修正,当数据量较小时,可以设置该参数为1,即进行拉普拉斯修正。# 通过抽样建立训练样本和测试样本index-sample(2,size=nrow(iris

    8、),replace=TRUE,prob=c(0.75,0.25)train-irisindex=1,test-irisindex=2,# 加载R包并使用朴素贝叶斯算法library(MASS)library(klaR)# 因子化train$Species-as.factor(train$Species)res2-NaiveBayes(Species.,data=train)pre-predict(res2,newdata=test,1:4)#生成实际与预判交叉表和预判精度table(test$Species,pre$class)1231 10002 0923 0011sum(diag(tabl

    9、e(test$Species,pre$class)/sum(table(test$Species,pre$class)0.9375读懂上面的例子。仿照上面的例子使用klaR包中的NaiveBayes(眄数建立playtennis.txt贝叶斯分类模型,并预测上面的例子。c(rain,hot,high,strong)c(sunny,mild,normal,weak)c(overcast,mild,normal,weak)c(sunny,cool,high,strong)#将上面的情况建立dataframe作为测试题test-data.frame()test-rbind(c(rain,hot,high,strong),c(sunny,mild,normal,weak),c(overcast,mild,normal,weak),c(sunny,cool,high,strong)res2-NaiveBayes(playtennis.,data=data2)pre-predict(res2,newdata=test)


    注意事项

    本文(R语言朴素贝叶斯分类上机指导.doc)为本站会员(奥沙丽水)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开