标题:[有酬求助]如何用matlab的BNT软件包对数据建立一个贝叶斯网络及条件概率表,
只看楼主
erwn_1234
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-6
 问题点数:0 回复次数:1 
[有酬求助]如何用matlab的BNT软件包对数据建立一个贝叶斯网络及条件概率表,
各位高手帮帮忙,本人急需答案。小妹在此先谢过了。
只有几天的时间了,拜托了!事成以后,必有酬劳,决不食言!!!!!!!

下面是一个对已知数据建立贝叶斯网络并进行参数学习的程序,是用BNT工具包编写的,但是调试不出来,请大侠们帮忙给修改成一个可调试的程序吧!!!!!
% 结构学习是K2算法,参数学习是最大后验
n=6;
ns=[3 3 2 2 3 3];
A=1; B=2; C=3; D=4; E=5; Class=6;
order=[4 5 6 3 2 1]; %指定节点次序
max_fan_in=2;
result_matrix=zeros(ns(Class),ns(Class));
%读入训练数据集
fn=’bdata_001.txt’;
load(fn);
fata_train1=bdata_001’;
[num_attrib num_cases]=size(data_train1);
data_train=zeros(num_attrib,num_cases);
%根据实例进行网络结构学习
dag_gbn=zeros(n,n);
dag_gbn=learn_struct-K2(data_train, ns, order, ’max_fan_in’, max_fan_in);
bnet2=mk_bnet(dag_gbn,ns);
%对生成的结构进行参数学习
priors=1;
seed=0;
rand(‘state’, seed);
for i=1:n
bnet2.CPD{i}=tabular_CPD(bnet2, i, ‘CPT’, ‘unif’, ‘prior_type’, ‘dirichlet_type’, ‘BDeu’,’dirichlet_weight’, priors);
end
bnet4=bayes_update_params(bnet2, data_train);
CPT3-cell(1,n);
for i=1:n
s=struct(bnet4,CPD{i});
CPT3{i}=s.CPT;
end
%画出图形
draw_graph(dag_gbn)
搜索更多相关主题的帖子: 贝叶斯 BNT 网络 matlab 软件包 
2007-08-07 10:36
rocwoods
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-6-12
得分:0 
给你发站内短信了!

[此贴子已经被作者于2007-8-7 11:28:33编辑过]


2007-08-07 11:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-160875-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.539102 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved