㈠ 求助,怎樣用貝葉斯網路工具箱實現樸素貝葉斯分類
第一步:貝葉斯網路工具箱
第二步:解壓壓縮包
第三步:將工具箱中bnt文件夾復制到matlab工具箱文件夾中
第四步:打開
㈡ 如何用matlab的BNT軟建立一個貝葉斯網路及條件概率表
對上述信息建立貝葉斯網路,代碼如下
[plain]view plainprint?
N=8;
dag=zeros(N,N);
A=1;S=2;T=3;L=4;B=5;E=6;X=7;D=8;
dag(A,T)=1;
dag(S,[LB])=1;
dag([TL],E)=1;
dag(B,D)=1;
dag(E,[XD])=1;
discrete_nodes=1:N;
node_sizes=2*ones(1,N);
bnet=mk_bnet(dag,node_sizes,'names',{'A','S','T','L','B','E','X','D'},'discrete',discrete_nodes);
bnet.CPD{A}=tabular_CPD(bnet,A,[0.99,0.01]);
bnet.CPD{S}=tabular_CPD(bnet,S,[0.5,0.5]);
bnet.CPD{T}=tabular_CPD(bnet,T,[0.99,0.95,0.01,0.05]);
bnet.CPD{L}=tabular_CPD(bnet,L,[0.99,0.9,0.01,0.1]);
bnet.CPD{B}=tabular_CPD(bnet,B,[0.7,0.4,0.3,0.6]);
bnet.CPD{E}=tabular_CPD(bnet,E,[1,0,0,0,0,1,1,1]);
bnet.CPD{X}=tabular_CPD(bnet,X,[0.95,0.02,0.05,0.98]);
bnet.CPD{D}=tabular_CPD(bnet,D,[0.9,0.2,0.3,0.1,0.1,0.8,0.7,0.9]);
draw_graph(dag)
說明:有N=8個節點,建立有向無環圖dag,並且這些點的值是離散的,這里1=False 2=True,node_sizes給出了所有狀態
mk_bnet中names後的{}裡面給出了各個節點的別名
利用tabular_CPD設置各個變數的邊緣概率,對於A和S,定義順序是False True;對於T、L和B這類,順序是FF FT TF TT;對於D這類,順序是FFF FFT FTF FTT TFF TFT TTF TTT
簡單檢查下A的概率
[plain]view plainprint?
engine=jtree_inf_engine(bnet);
evidence=cell(1,N);
[engine,loglik]=enter_evidence(engine,evidence);
m=marginal_nodes(engine,A);
m.T()
現在可以給定任意條件,然後計算概率了。
[plain]view plainprint?
例如要計算任意組合條件下,個體分別得Tub、lungcancer和bronchitis的概率。下面代碼計算了P(T=True|A=False,S=True,X=True,D=False)的概率
[plain]view plainprint?
engine=jtree_inf_engine(bnet);
evidence=cell(1,N);
evidence{A}=1;
evidence{S}=2;
evidence{X}=2;
evidence{D}=1;
[engine,loglik]=enter_evidence(engine,evidence);
m=marginal_nodes(engine,T);
m.T(2)
㈢ 如何在matlab2014a中添加貝葉斯網路工具箱
第一步:
下載貝葉斯網路工具箱
第二步:
解壓壓縮包
第三步:
將工具箱中bnt文件夾復制到matlab工具箱文件夾中(D:\Program Files\MATLAB\R2014a\toolbox)
第四步:
打開
matlab2014a
㈣ 貝葉斯網路模型 matlab 源代碼
>> N = 8;
dag = zeros(N,N);
X2=2;X3=3;X4=4; X1=1;C = 5; B = 6;A = 7;T = 8;
dag([X2 X3],C)=1;
dag([X3 X4],B)=1;
dag([X1 C],A)=1;
dag([A B],T)=1;
discrete_nodes = 1:N;
node_sizes = 2*ones(1,N);
bnet = mk_bnet(dag, node_sizes);
bnet.CPD{
X1
} = tabular_CPD(bnet, X1, [0.01 0.99]);
bnet.CPD{
X2
} = tabular_CPD(bnet, X2, [0.02 0.98]);
bnet.CPD{
X3
} = tabular_CPD(bnet, X3, [0.03 0.97]);
bnet.CPD{
X4
} = tabular_CPD(bnet, X4, [0.04 0.96]);
bnet.CPD{
A
} = tabular_CPD(bnet, A, [1 1 1 0 0 0 0 1]);
bnet.CPD{
B
} = tabular_CPD(bnet, B, [1 1 1 0 0 0 0 1]);
bnet.CPD{
C
} = tabular_CPD(bnet, C, [1 0 0 0 0 1 1 1]);
bnet.CPD{
T
} = tabular_CPD(bnet, T, [1 0 0 0 0 1 1 1]);
G=bnet.dag;
draw_graph(G);
engine=jtree_inf_engine(bnet);
evidence=cell(1,N);
[engine,ll]=enter_evidence(engine,evidence);
m=marginal_nodes(engine,[X1]);
m.T
㈤ 如何安裝貝葉斯網路工具matlab2012b
方法/步驟
一般的下載資源里都附帶著破解文件,即crack文件。(雙擊iso鏡像文件,會生成一個虛擬光碟,若已經是壓縮文件包,可忽略這步)選擇setup.exe開始安裝,不連接網路。
輸入安裝密鑰37176-43568-09521-61284-60764-48411-11831-17282-31342-18748-48552-26727-08411,密鑰與2012a版本是不一樣的。
選擇瀏覽,找到crack文件里的matlab2012b_std.dat文件。
選擇安裝路徑,盡量不要選擇系統盤。
開始安裝。要半個小時以上。電腦可能會卡。
安裝完成後打開軟體,需要重復上面的步驟,是一樣的操作。
激活成功就可以使用了
㈥ 求大神幫忙查看用matlab的bnt工具箱編的貝葉斯網路程序准確率不高的問題,如解決懸賞現金200元!!!急!
第一步:下載貝葉斯網路工具箱
第二步:解壓壓縮包
第三步:將工具箱中bnt文件夾內復制容到matlab工具箱文件夾中(D:\Program Files\MATLAB\R2014a\toolbox)
第四步:打開matlab2014a
貝葉斯網路是處理不確定信息做有效的表示方法之一。其關鍵的特徵之一是提供了把整個概率分布分解成幾個局部分布的方法,網路的拓撲結構表明如何從局部的概率分布獲得完全的聯合概率分布。
貝葉斯網路適合於對領域知識具有一定了解的情況,至少對變數間的依賴關系較清楚。否則直接從數據中學習貝葉斯網路結構復雜性極高(隨節點的增加成指數級增長)
㈦ 如何在matlab2012b下安裝貝葉斯網路工具箱
直接將貝葉斯網路工具箱所在的路徑 添加到matlab中的 setpath路徑下即可
㈧ 求應用貝葉斯網路的MATLAB程序實例(或R軟體程序實例)
希望有幫助,呵呵
㈨ 求助,貝葉斯網路matlab編程
貝葉斯網路是處理不確定信息做有效的表示方法之一。其關鍵的特徵之一是提供了把整個概率分布分解成幾個局部分布的方法,網路的拓撲結構表明如何從局部的概率分布獲得完全的聯合概率分布。
貝葉斯網路適合於對領域知識具有一定了解的情況,至少對變數間的依賴關系較清楚。否則直接從數據中學習貝葉斯網路結構復雜性極高(隨節點的增加成指數級增長)