下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python实现朴素贝叶斯的学习与分类过程解析主要介绍了Python实现朴素贝叶斯的学习与分类过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下概念简介:朴素贝叶斯基于贝叶斯定理,它假设输入随机变量的特征值是条件独立的,故称之为“朴素”。简单介绍贝叶斯定理:乍看起来似乎是要求一个概率,还要先得到额外三个概率,有用么?其实这个简单的公式非常贴切人类推理的逻辑,即通过可以观测的数据,推测不可观测的数据。举个例子,也许你在办公室内不知道外面天气是晴天雨天,但是你观测到有同事带了雨伞,那么可以推断外面八成在下雨。若X是要输入的随机变量,则Y是要输出的目标类别。对X进行分类,即使求的使P(Y|X)最大的Y值。若X为n维特征变量X={A1,A2,…..An},若输出类别集合为Y={C1,C2,….Cm}。X所属最有可能类别y=argmaxP(Y|X),进行如下推导:朴素贝叶斯的学习有公式可知,欲求分类结果,须知如下变量:各个类别的条件概率,输入随机变量的特质值的条件概率示例代码:copyclassnative_bayes_t:definit(self,character_vec_,class_vec_):"""构造的时候需要传入特征向量的值,以数组方式传入class_Y"]"""self.class_set={}记录该类别下各个特征值的条件概率character_condition_per={}forcharacter_nameincharacter_vec_:={}forcharacter_valueincharacter_name[1]:character_condition_per[character_name[0]][character_value]={'num' 0记录该类别下该特征值在训练样本中的数量,'condition_per0.0记录该类别下各个特征值的条件概率}forclass_nameinclass_vec:={'num' :0,#记录该类别在训练样本中的数量,'class_per' 练样本中的先验概率,}#print("init",character_vec_,self.class_set)#fordebugsample_):"""learn参数为训练的样本,格式为[{#特征向量'class_name':'class_X' #类别名称}]"""foreach_sampleinsample:character_vec=each_sample['character']=each_sample['class_name']data_for_class['num']+=1各个特质值数量加1forcharacter_nameincharacter_vec:character_vec[character_name]data_for_character=data_for_class['character_condition_per'][character_name][character_value]data_for_character['num']+=1insample:计算类别的先验概率/sample_num各个特质值的条件概率forcharacter_nameincharacter_vec:character_vec[character_name]data_for_character=data_for_class['character_condition_per'][character_name][character_value]data_for_character['condition_per']=float(data_for_character['num'])/data_for_class['num']frompprintimportpprint#fordebugdefclassify(self,input_):"""对输入进行分类,输入input的格式为{"character_A":"A1","character_B":"B3",}"""best_class=''max_per=0.0forclass_nameinself.class_set:per=class_data['class_per']计算各个特征值条件概率的乘积forcharacter_nameininput_:character_per_data=class_data['character_condition_per'][character_name]per=per*character_per_data[input_[character_name]]['condition_per']ifper>=max_per:=class_namereturnbest_classcharacter_vec=[("character_A",["A1","A2","A3"]),("character_B",["B1","B2","B3"])]class_vec=["class_X","class_Y"]bayes=native_bayes_t(character_vec,class_vec)sample=[{#特征向量'class_name':'class_X' #类别名称},{#特征向量'class_name':'class_X' #类别名称},{#特征向量'class_name':'class_X' #类别名称},{#特征向量'class_name':'class_X' #类别名称},{#特征向量'class_name':'class_Y' #类别名称},{#特征向量'class_name':'class_Y' #类别名称},{#特征向量'class_name':'class_Y' #类别名称},{#特征向量'class_name':'class_Y' #类别名称},]input_data={"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制造业务员工作总结
- 酒店管理岗位考核
- 美容行业前台接待工作总结
- 教师团队专业培训
- 厨具行业采购工作总结
- 2024年设备监理师考试题库带答案
- 2024年热的传递教案设计
- 创意市集活动赞助合同(2篇)
- DB33T 2111-2018 福利彩票视频型彩票销售管理规范
- 安徽省阜阳市阜南县2025届中考三模生物试题含解析
- 广东省广州市花都区2024年七年级上学期期末数学试题【附答案】
- 期末测试模拟练习 (含答案) 江苏省苏州市2024-2025学年统编版语文七年级上册
- 上海市徐汇区2024-2025学年高一语文下学期期末试题含解析
- 安全风险隐患举报奖励制度
- 江苏省苏州市2023-2024学年高三上学期期末考试 数学 含答案
- 线性代数知到智慧树章节测试课后答案2024年秋贵州理工学院
- 建筑幕墙工程检测知识考试题库500题(含答案)
- 安防主管岗位招聘面试题及回答建议(某大型集团公司)2025年
- 消防疏散演练宣传
- 2023-2024学年广东省广州市越秀区九年级(上)期末语文试卷
- 五年级数学下册 课前预习单(人教版)
评论
0/150
提交评论