贝叶斯分类器python,实验一 贝叶斯分类器的python实现

该博客介绍了一个使用Python实现的朴素贝叶斯分类器,基于汽车评价数据集,包括训练和测试过程。数据集包含1728个样本,分为4个类别,博主通过统计和计算方法实现了分类器,并在不同规模的训练数据上进行了性能评估。
摘要由CSDN通过智能技术生成

题目描述

汽车评价数据集

共1728个数据,每个数据特征为6维,分为4类,类别标记为unacc,acc,good,V-good

四个类别标记分别表示汽车性价比等级(由低到高)

unacc:1210个

acc:384个

good:69个

V-good:65个

6个特征分别为:(6个属性)

1、buying (取值:v-high、high、med、low) 表示购买价格

2、maint (取值: v-high、high、med、low) 表示维修价格

3、door (取值:2、3、4、5-more) 车门数量

4、Persons (取值:2、4、more) 可容纳人数

5、Lug_boot (取值:small、med、big) 行李箱大小

Safety (取值:low、med、high) 安全系数

链接:http://archive.ics.uci.edu/ml/datasets/Car+Evaluation

实验完成要求:

1.仔细阅读并了解实验数据集;

2.使用任何一种熟悉的计算机语言(比如 C,Java或者MATLAB)实现朴素贝叶斯算法;

3.利用朴素贝叶斯算法在训练数据上学习分类器,训练数据的大小分别设置为:前100个数据,前200个数据,前500个数据,前700个数据。前1000个数据,前1350个数据;

4.利用测试数据对学习的分类器进行性能评估;

5.演示实验,提交代码,统计分析实验结果并上交实验报告;

开始做题

想要实现贝叶斯分类器,可以分为两个部分,一个是训练,另一部分是检验。

训练即将贝叶斯公式用代码语言描述,具体的贝叶斯公式这里就不赘述了

更艰难的是数据的分类,需要大量的重复性代码

其实绕来绕去就是一个统计+计算判断

代码实现

f72e4bf864da

运行结果

import csv

import random

#import pandas

#数据导入及分成两份

def loadcsv(name):

f = csv.reader(open(name,'r'))

dataset = list(f)

return dataset

def randDivision(dataset , trainSize):

copy = list(dataset)

train = []

while len(train)

index = random.randrange(len(copy))

train.append(copy.pop(index))

return [train, copy]

#初始化一些数据

data1 = [[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]

dataunacc = [[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值