文档介绍:曲埼大学
HUNAN UNIVERSITY
人工智能实验报杏
题目实验三:分类算法实验
学生匿名
学生学号 学13080702xx
专业班级智能科学与技术1302班
指导教师袁进
1了解朴素贝叶斯算法的根本原先验概率。类似地,
P(D)表示训练数据 D的先验概率,P(D|h)表示假设h成立时D的概率。机器学习中,我们关心的是P(h|D),即给
定D时h的成立的概率,称为 h的后验概率。(h)、P(D)和P(D|h)计算
后验概率 P(h|D)的方法 p(h|D尸P(D|H)*P(H)/P(D) P(h|D)随着P(h)和P(D|h)的增长而增长,随着 P(D)的增长而减少,即如果 D独立于h时被观察到的可能性越大, 那么D对h的支持度越小。 D时可能性最大的假设 h, h
被称为极大后验假设〔MAP〕确定MAP的方法是用贝叶斯公式计算每个候选假设的后验概率,计算式如下:
h_map=argmax P(h|D)=argmax (P(D|h)*P(h))/P(D)=argmax P(D|h)*p(h) (h属于集合 H)
。输入为:均指向量、先验概率、协方差矩阵、输入学习数据X,测
试数据类别XLABEL,。〔选做〕。
四、实验步骤:
.仔细阅读并了解实验数据集;
.使用任何一种熟悉的计算机语言(比方C,Jav破者matlab发现朴素贝叶斯算法;
.利用朴素贝叶斯算法在训练数据上学习分类器 ,训练数据的大小分别设置为:前10g数据,
前200t数据,前50g数据,前700t数据,前100g数据,前135g数据;
.利用测试数据对学习的分类器进展性能评估;
.统计分析实验结果并上交实验报告;
A源代码:
packageBayes;
import ;
;
;
import ;
import ;
import ;
import ;
import ;
publicint口 ClassValuesnewint[4];〃unacc,acc, good,vgood
String口 ClassValueName= { "unacc", "acc", "good", "vgood" };
//存储概率
float口 ClassValue_g= newfloat[4];// unacc-0 acc-1 good-2 vgood-3
float□□ buy_Vlaue_g= newfloat[4][4];//前面是自己的属性,后面是 value勺属性
float□口 maint_Value_g= newfloat[4][4];
float□口 door_Value_gl= newfloat[4][4];
float[][] person_Value_g= newfloat[3][4];
float□□ lugboot_Value_g= newfloat[3][4];
float□口 safe_Value_g= newfloa(3][4];
/**
*主函数
*/ publicstaticvoid main(String[]arg$ throws lOException {
NaiveBayesTooNBaye停 new NaiveBayesTool();
NBayesReadFile'");// 获取训练样本
NBayesCalculated_probability(M 计算概率
NBayesTestData()//导入测试样本数据
NBayesshow()// 输出结果
}
/*汽车属性类
* */
publicclassProperty{//汽车有/属性,每个属性都有几种类别,根据这6个属性来判断汽车的性价比
Classvalue 口何,
public Stringbuying;//vhigh,high,med,low
public Stringmaint;//vhigh,high,med,low
public Stringdoors;〃2,3,4,5more
public Strin