Rのdealパッケージを使用してベイジアンネットワークを構築するためのソースの最小構成(スケルトン)を示す。
library(deal) net1 <- network(df1) # 初期ネットワークオブジェクトを作成する。df1 はデータフレーム・オブジェクト dist1 <- jointprior(net1) # 初期モデルの事前分布を作成する learn1 <- learn(net1, df1, dist1) # パラメータの分布を更新する net2 <- getnetwork(learn1) # 学習結果からモデルの部分だけを取り出す # 禁止リストを作成する # ひいてはいけない有向辺を必要な数だけ指定する指定する。 # 以下の例ではデータフレームの1~4列目から5列目への有向辺を禁止している。 ban1 <- matrix(c( "1","5", "2","5, "3","5", "4","5" ),ncol=2, byrow=T) banlist(net2) <- ban1 # set ban list # 作成した禁止リストを設定する net3 <- autosearch(net2, df1, dist1) # 最適なモデルを自動検索する localprob(getnetwork(net3)) # 局所確率を出力する
コメント