资源简介

贝叶斯网络学习算法――k2算法,对于学习数据挖掘的人有用的,涉及到了分类预测算法

资源截图

代码片段和文件信息

 % 结构学习是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_attribnum_cases);
%根据实例进行网络结构学习
dag_gbn=zeros(nn);
dag_gbn=learn_struct-K2(data_train ns order ‘max_fan_in‘ max_fan_in);
bnet2=mk_bnet(dag_gbnns);
%对生成的结构进行参数学习
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(1n);
for i=1:n
s=struct(bnet4CPD{i});
CPT3{i}=s.CPT;
end
%画出图形
draw_graph(dag_gbn)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        854  2009-08-25 09:56  K2.m

----------- ---------  ---------- -----  ----

                  854                    1


评论

共有 条评论