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