利用Netica训练简易贝叶斯网络模型【教程】
前情:
寫人工智能相關的選修課期末論文的時候,想簡單搭個靜態貝葉斯網絡模型嘗試進行數據分析,但并沒有在網上找到特別好的容易上手的教程。查閱參考文獻時發現Netica是個比較方便的貝葉斯網絡工具(相比Matlab的貝葉斯網絡工具箱等,Netica不用敲代碼學語法,而且是可視化交互界面,對新手相當友好),只是網上沒什么詳細教程,只能看官方文檔自己摸索。本文相當于一個Netica基本使用流程的教程。
背景:
工具和參考:
- Netica下載地址【百度網盤提取碼:p02v 】
- Netica官方教程
貝葉斯網絡簡介:
貝葉斯網絡屬于概率圖模型的一種(本教程中涉及的是最基本的靜態貝葉斯網絡),是一個有向無環圖(DAG) ,網絡的拓撲結構代表了各變量之間的影響關系(即因果聯系)。基于訓練數據計算各節點條件概率表(CPT),得到模型的參數。之后輸入數據進行預測的過程,就是根據已有的條件概率將樣本劃入對應條件下可能性最大的類別。
此外,貝葉斯網絡的常見使用場景是在疾病預測和故障診斷等領域。
實踐教程
以下舉例部分將使用Netica自帶的例子進行示范
一、搭建貝葉斯網絡拓撲結構
1.新建網絡
2.新建節點
點擊工具欄中的黃色橢圓形圖標,即可在網絡中新建節點
3.編輯結點
雙擊節點或者右鍵->Properties可以打開節點的編輯面板,提供修改節點名等操作
點擊state右側的new可以為節點新建狀態
點擊Discrete可以將變量的狀態由離散變為“連續”,此處的連續其實也只是按區間離散化
4.新建聯系
點擊工具欄中的箭頭,再分別點擊需要建立聯系的兩個節點即可
二、導入數據進行參數學習
如圖,是一個搭完拓撲結構,且尚未進行訓練的貝葉斯網絡模型
導入數據,進行參數學習
點擊Cases->Learn->Incrop Case Files,導入訓練數據
數據集導入的是CSV格式也是支持的,只不過導入時要注意是否格式正確,可在File->Open As File 中選擇要導入的數據集,查看是否會有讀入錯誤。以下是可以正常讀入的數據樣例
三、模型準確度測試
選擇要預測的節點,點擊Cases->Test With Cases 導入測試數據即可(此處為了簡化操作,直接導入了之前的訓練數據)
輸出的報表中會有準確率、基尼系數、AUC等等數據
總結
以上是生活随笔為你收集整理的利用Netica训练简易贝叶斯网络模型【教程】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软考高项笔记 | 软技能
- 下一篇: kettle 下载安装 使用